五味瓶 发表于 2009-10-15 10:34

请教关于用ode45解微分方程的问题

在求解下面的方程中,假如U是一个常数,我知道怎么解,但是这里U是一个变化的信号,比如说是正弦信号,那我该怎么处理?希望高手给予解答,我搜论坛上的一些帖子,是不可以把U当作参数传递进去?初学MATLAB,还望高手指点。。。
function fy=vdp(t,x)
M=5;
bv=40;
Fj=30;
Fq=10;
w=0.02;
A=4.9087*10^(-4);
Ps=6.0*10^5;
fy=[x(2);1/M*(A*(x(3)-x(4))-bv*x(2)-Fq*sign(x(2))-Fj);   
-1.4*x(3)*x(2)/(0.225+x(1))+859.8*Ps*sqrt((x(3)/Ps)^(2/1.4)-(x(3)/Ps)^(2.4/1.4))*w*U/(A*(0.225+x(1)));
1.4*x(4)*x(2)/(0.225-x(1))-222.5*x(4)*w*U/(A*(0.225-x(1)))];

无水1324 发表于 2009-10-15 11:49

u是正弦函数的话,直接在程序里面把u写成你的正弦就好了

五味瓶 发表于 2009-10-15 11:56

回复 沙发 无水1324 的帖子

但是我要加的其实是一个变频的正弦信号chirp signal,在simulink里面有,我得掉进来,我想得是把变频信号的一系列值保存到文本文档,再在这个函数里面调用,不知道怎么办?

无水1324 发表于 2009-10-16 10:42

“变频的正弦信号chirp signal ”, 是随时间变化的嘛?
你可以把数据信号做成一个函数,与sin一样,你也可以把它当着一个数据函数,然后直接调用就好了

五味瓶 发表于 2009-10-16 11:06

回复 地板 无水1324 的帖子

好了,谢了,我试试。。。
页: [1]
查看完整版本: 请教关于用ode45解微分方程的问题