【用matlab解微分方程组dx/dt=x-y-x(x^2+-查字典问答网
分类选择

来自刘长年的问题

  【用matlab解微分方程组dx/dt=x-y-x(x^2+y^2)dy/dt=x+y-y(x^2+y^2)x(0)=2y(0)1】

  用matlab解微分方程组

  dx/dt=x-y-x(x^2+y^2)

  dy/dt=x+y-y(x^2+y^2)

  x(0)=2

  y(0)1

1回答
2020-02-04 11:36
我要回答
请先登录
刘广海

  [x,y]=dsolve('Dx=x-y-x*(x^2+y^2)','Dy=x+y-y*(x^2+y^2)','x(0)=2','y(0)=1')

  得到的结果是解析解没有找到.

  用数值解.

  在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  functiony=zhidao_rk4_5(t,x)

  %x,y变量分别用x(1),x(2)表示

  y=[x(1)-x(2)-x(1)*(x(1)^2+x(2)^2);x(1)+x(2)-x(2)*(x(1)^2+x(2)^2)];

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  在Matlab下面输入:

  t_end=10;

  x0=[2;1];

  [t,x]=ode45('zhidao_rk4_5',[0,t_end],x0);

  plot(t,x);

  legend('x','y');

  xlabel('t');

  figure;

  plot(x(:,1),x(:,2));

  xlabel('x');

  ylabel('y');

2020-02-04 11:40:29

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •