一.MATLAB求微分方程的解析解
MATLAB中求微分方程的解析解的函数如下:
1.这里的引号单双皆可,但必须为英文输入法下的引号。
2.在表达微分方程时,用字母D表示,D2,D3表示二阶、三阶微分,后面跟的是要求解的因变量。
3.自变量可以指定,不写时Matlab会默认为t。
4.在单引号中的方程的书写必须符合Matlab的语法规范,如‘y-Dy=2*x’,乘号不能省略。
5.初始值可以不给,不给求出来就是通解。
6.如果有多个微分方程,那么计算的实际上是微分方程组。
7.如果微分方程形式较为复杂,往往是得不到解析解的。
例:
1.
也可以这样写
syms
2.
如果方程中含有不是应变量与自变量的参数
%法1
3.
dsolve
4.
dsolve
5.
dsolve
另外可以通过MATLAB的mupad或实时脚本来对运算结果来化简。
在命令行直接输入mupad即可
新建实时脚本
化成Latex代码
latex
二.MATLAB求微分方程的数值解
Matlab中求微分方程的数值解的函数如下:
[
-
代表自变量的初值和终值,也可以指定一个向量。
-
代表函数的初始值
-
表示待解的微分方程编写的函数文件名,且微分方程要写成标准形式,且要放在当前的工作文件下。
-
可以设置相对误差与绝对误差。
标准形式:
这里
和
只是变量名,可以自己选择。
- 若求解的是一个含有
个未知数的方程组,则为维向量,文件中待解方程组应为一个维列向量。
刚性问题与非刚性问题的区别,有的微分方程,未知函数随时间(自变量)的变化比较缓慢,有的微分方程中未知函数在某些时间段内会发生剧烈的变化。前者是非刚性问题,后者是刚性问题。
例1:求方程
的数值解,初始值
,
范围是
- 化为标准形式
- 建立
文件df1.m
function
- 在命令行输入命令:
例2:求微分方程组:
的数值解。自变量
,初始值
- 建立
文件(df2.m)
注:
与
都是一行三列的向量
function
在命令行中输入命令: