matlab微分方程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])
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 10:50:05
matlab微分方程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])
matlab微分方程
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),'+')
我 1.想问下在句中解微分方程m文件中的dy=zeros(3,1);是什么意思?
2.另外 在句子 plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+')中 Y(:,1),Y(:,2).是为什么这么分?
3.tf是随便找的值么,原题中是没有.
matlab微分方程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])
dy=zeros(3,1);是占个空位置.
以下程序和你的程序是等效的,比较一下就可以体会出来.
function hh
[T,Y]=ode45(@rigid,[0 12],[0 1 1]);
plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+')
figure
plot(T,Y)
function dy=rigid(t,y)
%dy=zeros(3,1);
dy1=y(2)*y(3);
dy2=-y(1)*y(3);
dy3=-0.51*y(1)*y(2);
dy=[dy1;dy2;dy3]