用matlab解微分方程组

用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
其他人气:408 ℃时间:2019-12-13 18:17:13
优质解答
[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,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=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');
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版