matlab数值解微分方程组问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 00:40:27
请用 ode45 解下列微分方程式: dx1/dt = -x2(x3-1)
dx2/dt = x1(x3-3)
dx3/dt = x1x2
假设启始条件为 [1 sqrt(6) 0],时间由 0 到 200 秒。

请画出在三度相位空间的曲线图。

在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=zhidao_rk4_tangwei0206302(t,x)
x1=x(1);
x2=x(2);
x3=x(3);
y=[-x2*(x3-1); x1*(x3-3); x1*x2];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

在Matlab下面输入:
t_end=200;
x0=[1;sqrt(6);0];
[t,x]=ode45('zhidao_rk4_tangwei0206302',[0,t_end],x0);
plot3(x(:,1),x(:,2),x(:,3));
xlabel('x1');
ylabel('x2');
zlabel('x3');