zhong124 发表于 2011-9-25 14:38

MATLAB求解时 怎么在微分方程中增加一个信号变量?

比如一个微分方程
dx_1/dt=a*x_1*x_2-a1*x_1+alfa(t)
dx_2/dt=b_1*x_2^2/(1+x_1^2)-b1*x_2+beta

其中alfa(t) 是一个方波信号
for i=1:length(t)
   if mod(t(i),4)<=2&&mod(t(i),4)>=0
         y(i)=0.8;   
   else
         y(i)=0;
   end
end
直接用ode45解非常慢,不知道怎么回事,请高手指点

ChaChing 发表于 2011-9-25 16:10

Ref:
[示例]如何求解微分、积分方程的几个例子 http://forum.vibunion.com/thread-42367-1-1.html

zhong124 发表于 2011-9-26 18:06

回复 2 # ChaChing 的帖子

谢谢,我感觉我的这个里面问题跟这个传递参数还不大一样,如果只是这个连接里面通过函数里面传递参数那很简单,我的这个里面好像要计算关于时间的这个序列

ChaChing 发表于 2011-9-26 23:57

回复 3 # zhong124 的帖子

ode45的help中不是有类似例子!? (R2009a)
Example 3
This example solves an ordinary differential equation with time-dependent terms.

zhong124 发表于 2011-10-14 21:08

回复 4 # ChaChing 的帖子

谢谢,但是我感觉还是有问题,对于连续的还好说,这种间断的信号加入就有问题了,哪位高手做过啊?帮帮忙,时间好急

ChaChing 发表于 2011-10-23 18:12

...对于连续的还好说,这种间断的信号加入就有问题了...
基本上, 个人以为matlab所用不都是间断的(discrete)!?
页: [1]
查看完整版本: MATLAB求解时 怎么在微分方程中增加一个信号变量?