在MATLAB 8.0 (R2012b)中求解微分方程有哪些工具和工作流程?

62次浏览(过去30天)

接受的答案

MathWorks支万博1manbetx援小组
编辑:MathWorks支万博1manbetx援小组 2022年11月10日
求解微分方程的一般工作流程是:
1.确定微分方程的类型
2.确定合适的MATLAB函数
3.把方程化成正确的形式
4.确定数值求解器的正确选项
5.解决
6.如有需要,进行后期处理
请参考以下更详细的描述:
1.确定微分方程的类型
它是常微分方程吗?如果是,这个方程已知是刚性的吗?
它是偏微分方程吗?如果是,
A)有多少个空间维度?
B)域是什么?
C)边界条件是什么?
它是一个随机微分方程吗?
它是微分代数方程吗?
*在以上所有情况中,问题都提出得很好吗?如果一个解决方案存在,是唯一的,并且持续地依赖于输入数据,那么这个问题就是好的。
2.确定合适的MATLAB函数
关于MATLAB中可用的微分方程求解器的概述,请参考以下链接:
//www.tianjin-qmedu.com/help/matlab/numerical-integration-and-differential-equations.html
下面是用于不同类型问题的一些函数。下面的列表不完整。请参考每个函数文档页的“另见”部分中引用的其他函数。除非另有说明,否则函数不需要额外的工具箱。
歌唱:
Non-stiff:数值
Stiff: ODE23s, ODE115
PDE:
抛物线/椭圆,1个空间维度:PDEPE
椭圆,2空间维度:偏微分方程工具箱中的ASSEMPDE
抛物线,2空间维度:偏微分方程工具箱中的抛物线
双曲,2个空间维度:偏微分方程工具箱中的双曲。
没有针对三维或更多空间维度的内置功能。
随机常微分方程:
*计量经济学工具箱中的SDE。
* SimBiology工具箱中的SBIOENSEMBLERUN
DAE: ODE15S和ODE23T
3.把微分方程写成正确的形式
这取决于步骤2中选择的函数。例如,您可能需要将二阶ODE简化为一阶ODE系统。
4.确定数值求解器的正确选项
每个求解器使用一组不同的选项。您需要参考第2步中选择的函数的文档。
5.解决
6.如有需要,进行后期处理。
一般来说,后期处理可以分为三类
*插值求解器返回的解
*规划解决方案
*误差分析
有用的函数是偏微分方程工具箱中的GRIDDEDINTERPOLANT, PDEVAL和PDESURF。
许多问题不能直接用MATLAB中MathWorks提供的数值求解器来解决。例如,在一维空间中,双曲问题不存在解。有以下几种选择:
*使用其他MathWorks功能编写自己的求解器。
*将问题转化为可以通过内置工具之一解决的等效问题。
*在MATLAB中心检查文件交换。请记住,发布到本网站的文件不是官方支持的MathWorks产品。s manbetx 845万博1manbetx

更多答案(1)

精确的模拟
精确的模拟 2019年1月18日
作为参考和补充更新的最后一点,双曲和一般PDE类型的问题现在可以解决 多物理场MATLAB有限元工具箱 可直接从Add-On工具栏或文件交换,是完全兼容的MATLAB 2009b及以上。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的