tqy0606 发表于 2010-11-3 16:17

求解微分方程组,方程组中带有零均值的白噪声序列(很急)

微分方程如下(状态方程):
y1'=a*y1+b1*W(t)
y2'=c*y2+d*y1
其中W(t)为零均值的白噪声序列,求该方程在MATLAB中的解法,希望能给出详细的步骤,

zhouyang664 发表于 2010-11-3 18:07

a,b1,c,d是变量还是常量,还是符号?
你help一下ode看看吧!

tqy0606 发表于 2010-11-3 19:43

a,b1,c,d是常量哈

zhouyang664 发表于 2010-11-3 20:55

其实我不知道W(t)怎么表示,如果W(t)能表示出的话,就好整了!
零均值的白噪声序列好像是有现成的函数的....

tqy0606 发表于 2010-11-3 21:48

W(t)可以用randn(k,1),生成的吧?然后就不知道怎么把W(t)带入微分方程组中求解。

zhouyang664 发表于 2010-11-3 22:08

我没时间了,要断网了!
你在help里输ode45,下面的例子example3符合你的情况,好好学习学习!

ChaChing 发表于 2010-11-4 00:35

记的论坛上好像有相关帖讨论过, 楼主搜下吧!

tqy0606 发表于 2010-11-4 18:25

已经知道怎么做了哈,谢谢各位。
帮助里面也有说明,同6楼说的
= ODE45(ODEFUN,TSPAN,Y0,OPTIONS,P1,P2...) passes the additional
    parameters P1,P2,... to the ODE function as ODEFUN(T,Y,P1,P2...), and to
    all functions specified in OPTIONS. Use OPTIONS = [] as a place holder if
    no options are set.   

tqy0606 发表于 2010-11-4 18:30

不过帮助里面只是完成了参数的传递,W(1)的序列用了interp1函数进行插值处理变为一个函数pt=interp1(T,P,t),这样就可以将W(1)直接替换成pt了。

function dy=(t,y,T,P)
...
...
=ode45(@ li9_4_1,,,[ ], T, P );

sw_chen 发表于 2011-1-18 15:53

回复 8 # tqy0606 的帖子

您好!
我也是求解一个类似的微分方程:dy=a*y+b*w(t),其中w(t)为标准高斯白噪声。
不知道w(t)怎么来表示,就是用randn函数产生了w之后,怎么跟时间对应起来啊,而且龙格库塔算法是变步长的求解方法,必须编制定步长的算法,这就涉及到w到w(t)的转化问题,能给一下解答吗?
非常感谢!!!

yoyo0201 发表于 2011-5-14 17:33

我也遇到同样的问题,请问怎么解决的?

hellosnoopy 发表于 2011-5-15 17:09

同求解!遇到类似的问题了

mayuanzhuo 发表于 2011-11-28 16:47

我看的是标准白噪声过程用随机序列模拟,即将时间离散,同时用单步4阶龙格库拉法求解方程,步长同离散的步长,这样每步迭代时的激励项用w(tk)=sqrt(c*s/deta t),s为谱密度,detat为步长,c是常数。我用这种方法解的结果不太理想。求指点,多谢!

mayuanzhuo 发表于 2011-11-28 16:48

回复 4 # zhouyang664 的帖子

我看的是标准白噪声过程用随机序列模拟,即将时间离散成k段,同时用单步4阶龙格库拉法求解方程,步长同离散的步长,这样每步迭代时的激励项用w(tk)=sqrt(c*s/deta t),s为谱密度,detat为步长,c是常数。我用这种方法解的结果不太理想。求指点,多谢!
请问这样做可以吗,用matlab求解结果不对。

博大广阔 发表于 2011-11-28 19:24

本人发的贴有关于龙格的数值计算。。可以解决楼主问题
页: [1]
查看完整版本: 求解微分方程组,方程组中带有零均值的白噪声序列(很急)