大家帮我看看这段MATLAB解微分方程的程序
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/28 06:01:54
大家帮我看看这段MATLAB解微分方程的程序
m-文件rigid.m的第二行“dy=zeros(3,
是说“y1(0)=0,y2(0)=1,y3(0)=1”里头的自变量为0么?
解微分方程
y1'=y2y3
y2'=-y1y3
y3'=-0.5y1y2
y1(0)=0,y2(0)=1,y3(0)=1
1、建立m-文件rigid.m如下:
function dy=rigid(t,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);
2、取t0=0,tf=12,输入命令做图:
[T,Y]=ode45('rigid',[0 12],[0 1 1]);
plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+')
m-文件rigid.m的第二行“dy=zeros(3,
是说“y1(0)=0,y2(0)=1,y3(0)=1”里头的自变量为0么?
m-文件rigid.m的第二行“dy=zeros(3,
是说“y1(0)=0,y2(0)=1,y3(0)=1”里头的自变量为0么?
解微分方程
y1'=y2y3
y2'=-y1y3
y3'=-0.5y1y2
y1(0)=0,y2(0)=1,y3(0)=1
1、建立m-文件rigid.m如下:
function dy=rigid(t,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);
2、取t0=0,tf=12,输入命令做图:
[T,Y]=ode45('rigid',[0 12],[0 1 1]);
plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+')
m-文件rigid.m的第二行“dy=zeros(3,
是说“y1(0)=0,y2(0)=1,y3(0)=1”里头的自变量为0么?
![大家帮我看看这段MATLAB解微分方程的程序](/uploads/image/z/1808325-45-5.jpg?t=%E5%A4%A7%E5%AE%B6%E5%B8%AE%E6%88%91%E7%9C%8B%E7%9C%8B%E8%BF%99%E6%AE%B5MATLAB%E8%A7%A3%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E7%9A%84%E7%A8%8B%E5%BA%8F)
dy=zeros(3,1); 是先要生成方程组的因变量的位置,zeros(m,n)是生成一个m行n列的零矩阵.
y1(0)=0,y2(0)=1,y3(0)=1这是给的初值 ,ode45(‘函数名’,‘取值范围’,‘初值’)为4、5阶的龙格库塔法求微分方程组的解.本题的为[T,Y]=ode45('rigid',[0 12],[0 1 1]);
再问: 何谓生成方程组的因变量的位置?能详细讲讲这一点吗? 其他部分不用暂时没有疑问
再答: C语言的有些类似,在使用指针时,要先定义,为之开辟一定空间。
y1(0)=0,y2(0)=1,y3(0)=1这是给的初值 ,ode45(‘函数名’,‘取值范围’,‘初值’)为4、5阶的龙格库塔法求微分方程组的解.本题的为[T,Y]=ode45('rigid',[0 12],[0 1 1]);
再问: 何谓生成方程组的因变量的位置?能详细讲讲这一点吗? 其他部分不用暂时没有疑问
再答: C语言的有些类似,在使用指针时,要先定义,为之开辟一定空间。