注册 登录
编程论坛 Matlab

[求助]求解微分方程组时如果方程内含有分段函数怎么办

叶叶转 发布于 2007-03-06 11:35, 1780 次点击

求解以下微分方程

dx/dt=a(y-h(x))
dy/dt=x-y+z
dz/dt=-by
其中a,b为常数,当x大于1时,h(x)=2,当小于1时,h(x)=4

1 回复
#2
hitzhang2007-03-06 15:37

例如数值解法[t,y]=ode45(@qwe,[0 20],[2 0 1]);

function q=qwe(t,y)
q=zeros(3,1);
if y(1)>1
q(1)=y(2)-2
else
q(1)=y(2)-4
end

q(2)=y(1)-y(2)+y(3)
q(3)=-y(2)

1