200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 用MATLAB求一阶微分方程(组)数值解

用MATLAB求一阶微分方程(组)数值解

时间:2020-06-05 02:29:04

相关推荐

用MATLAB求一阶微分方程(组)数值解

文章目录

用MATLAB求一阶微分方程(组)数值解标准形式进行求解常用的求解函数ode45(最常用)ode15s设定相对误差设置x的间隔

用MATLAB求一阶微分方程(组)数值解

标准形式

标准形式要先写成左边是y的导数右边是本身函数或者自变量,然后写成.m文件类似:

function dy = df1(x,y)dy=y-2*x;%标准形式end

function dy=df2(x,y)dy=zeros(3,1);%一定要写成列向量dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);end

如果有多个微分方程,dy=zeros(3,1);%一定要写成列向量

进行求解

[x,y]=ode45('df1',[0,3],3)

[x,y]=ode45('df2',[0,4*pi],[0,1,1])

3、[0,1,1]都是方程(组)的初始值,并且初始值的x=0;

就会得到一系列x,y值;

常用的求解函数

ode45(最常用)

**问题类型:**非刚性**精准度:**中等

ode15s

**问题类型:**刚性**精准度:**低到中

设定相对误差

和绝对误差

设定相对误差和绝对误差,这样可以提高微分方程数值解的精准度

options = odeset('reltol',1e-4,'abstol',1e-8);[x,y] = ode45('df1',[0,2],3,options);

设置x的间隔

可以指定要求解的位置

[x,y] = ode45('df1',[0:0.001:2],3,options);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。