怎么用matlab解非线性微分方程组

dx(1)/dt=36(x(2)-x(1))
dx(2)/dt=-x(1)*x(3)-16*x(1)+28*x(2)-x(4)
dx(3)/dt=x(1)*x(2)-3*x(3)
dx(4)/dt=x(1)+0.2
x(1)=x(2)=x(3)=x(4)=0

第1个回答  2011-08-16
fun=@(t,x)[36*(x(2)-x(1));-x(1)*x(3)-16*x(1)+28*x(2)-x(4);...
x(1)*x(2)-3*x(3);x(1)+0.2]
[t,X] = ode45(fun,[0:0.01:20],[0 0 0 0]);
plot(t,X)追问

这样得到的是一个范围的值,我要的是我带一个初值进去,就能得到相应的四个值。。。。能不能帮帮忙。。。

追答

要指定时间就可以

本回答被网友采纳
第2个回答  2011-08-16
用ode函数,见帮助
第3个回答  2011-08-16
可以用mathmatica直接算只要给出式子就能算
相似回答