wachangliang 发表于 2008-5-12 10:00

关于微分方程的相图问题

我画了一个分段微分方程的相图,但是结果有问题,望高手指点。
代码:
function xdot=shu(t,x)
a=10;
b=28;
c=8/3;
d=sqrt(1525)+0.1;
for n=0:25
    if (t>=2*n&t<2*n+1)
      xdot=[a*(x(2)-x(1))-d*x(1);
            b*x(1)-x(2)-d*x(2);
            -c*x(3)+(c-2*d)*x(3)];
    else if (t>=2*n+1&t<2*(n+1))
            xdot=[a*(x(2)-x(1));
            b*x(1)-x(2)-x(1)*x(3);
            -c*x(3)+x(1)*x(2)];
      end
    end
end

=ode45('shu',,);
>> plot(t,x(:,1))
画出来是一条直线

[ 本帖最后由 eight 于 2008-5-12 18:24 编辑 ]

ch_j1985 发表于 2008-5-12 10:20

原帖由 wachangliang 于 2008-5-12 10:00 发表 http://www.chinavib.com/forum/images/common/back.gif
我画了一个分段微分方程的相图,但是结果又问题,忘高手指点。
代码:
function xdot=shu(t,x)
a=10;
b=28;
c=8/3;
d=sqrt(1525)+0.1;
for n=0:25
    if (t>=2*n&t=2*n+1&t> plot(t,x(:,1))
画出来时一条直 ...

程序中for n=0:25是什么意思?
最好是把微分方程也贴出来

[ 本帖最后由 eight 于 2008-5-12 18:24 编辑 ]

wachangliang 发表于 2008-5-12 10:48

微分方程:
dx=Ax+Kx,2n<=t<2n+1;
dx=Ax+f(x),2n+1<=t<2(n+1).
x(0)=x0,n=0,1,2,...

n=0:25,我是按照时间来取的
t=

[ 本帖最后由 sigma665 于 2008-5-12 10:50 编辑 ]

eight 发表于 2008-5-12 18:25

原帖由 wachangliang 于 2008-5-12 10:00 发表 http://www.chinavib.com/forum/images/common/back.gif
我画了一个分段微分方程的相图,但是结果有问题,望高手指点。
代码:
function xdot=shu(t,x)
a=10;
b=28;
c=8/3;
d=sqrt(1525)+0.1;
for n=0:25
    if (t>=2*n&t=2*n+1&t> plot(t,x(:,1))
画出来是一条直 ... 请楼主注意一下错别字,短短一贴4个错别字!

wachangliang 发表于 2008-5-13 12:06

有没有人帮我看看啊,谢谢!!
页: [1]
查看完整版本: 关于微分方程的相图问题