matlab程序ode45用ode45求解微分方程组dx=20/7*x-yz,dy=-10y+xz,dz=-4z+xy,如何编写,还要画图.初值(3,-4,2).对初值很敏感,t=0.001:0.001:20.function dx=myfun(t,x)dx(1)=20/7*x(1)-x(2)*x(3);dx(2)=-10*x(2)+x(1)*x(3);dx(3)=-4*x(3)+x(1)*x
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/01 19:52:35
matlab程序ode45用ode45求解微分方程组dx=20/7*x-yz,dy=-10y+xz,dz=-4z+xy,如何编写,还要画图.初值(3,-4,2).对初值很敏感,t=0.001:0.001:20.function dx=myfun(t,x)dx(1)=20/7*x(1)-x(2)*x(3);dx(2)=-10*x(2)+x(1)*x(3);dx(3)=-4*x(3)+x(1)*x
matlab程序ode45
用ode45求解微分方程组dx=20/7*x-yz,dy=-10y+xz,dz=-4z+xy,如何编写,还要画图.初值(3,-4,2).对初值很敏感,t=0.001:0.001:20.
function dx=myfun(t,x)
dx(1)=20/7*x(1)-x(2)*x(3);
dx(2)=-10*x(2)+x(1)*x(3);
dx(3)=-4*x(3)+x(1)*x(2);
dx=dx(:);
x0=[3,-4,2];
t0=0.001:0.001:20;
[t,x]=ode45('myfun',[0.001,20],x0); %ode45会自动调整步长
plot(t,x)
legend('x','y','z')
程序中 运行出来
Input argument "x" is undefined.
Error in ==> myfun at 2
dx(1)=20/7*x(1)-x(2)*x(3);
报错.请问是怎么回事?
matlab程序ode45用ode45求解微分方程组dx=20/7*x-yz,dy=-10y+xz,dz=-4z+xy,如何编写,还要画图.初值(3,-4,2).对初值很敏感,t=0.001:0.001:20.function dx=myfun(t,x)dx(1)=20/7*x(1)-x(2)*x(3);dx(2)=-10*x(2)+x(1)*x(3);dx(3)=-4*x(3)+x(1)*x
function dx=myfun(t,x)
dx(1)=20/7*x(1)-x(2)*x(3);
dx(2)=-10*x(2)+x(1)*x(3);
dx(3)=-4*x(3)+x(1)*x(2);
dx=dx(:);
这部分保存为m函数文件
命令行运行
>> x0=[3,-4,2];
t0=0.001:0.001:20;
[t,x]=ode45('myfun',[0.001,20],x0); %ode45会自动调整步长
plot(t,x)
legend('x','y','z')
>>
结果