PDA

查看完整版本 : [MATLAB基础] 一个很简短的微分方程组,进来看看吧!


wangwei058043
2009-12-23, 08:02
dx/dt=-x*e^(1-t)+0.8y(t-0.1)。 x(0)=0。
dy/dt=x-y^3。 y(0)=2。
上面给定的是微分方程组及其初始条件,要求作出两个图形来。

Marthay
2009-12-24, 21:55
用龙格-库塔4 阶算法,ode45即可
function defg=group(t,x)
defg=[-x(1)*exp(1-t)+0.8*x(2)*(t-0.1);x(1)-x(2)^3];


clc
clear
x0=[0 2]
[t,x]=ode45('group',[0,40],x0);
x1=x(:,1);
x2=x(:,2);
plot(t,x1,'r')
hold on
plot(t,x2,'g')

wangwei058043
2009-12-25, 08:38
dx/dt=-x*e^(1-t)+0.8y(t-0.1)。 x(0)=0。
dy/dt=x-y^3。 y(0)=2。
上面给定的是微分方程组及其初始条件,要求作出两个图形来。
在这里我做点补充:0.8y(t-0.1)中的不是y*(t-0.1)而是y(t)向右移了0.1个单位即y(t-0.1)

laosam280
2009-12-25, 13:29
上面的结果是不对的,时滞微分方程怎么可以直接调用龙格库塔的程序?