求解微分方程组,方程组中带有零均值的白噪声序列(很急)
微分方程如下(状态方程):y1'=a*y1+b1*W(t)
y2'=c*y2+d*y1
其中W(t)为零均值的白噪声序列,求该方程在MATLAB中的解法,希望能给出详细的步骤,
a,b1,c,d是变量还是常量,还是符号?
你help一下ode看看吧! a,b1,c,d是常量哈 其实我不知道W(t)怎么表示,如果W(t)能表示出的话,就好整了!
零均值的白噪声序列好像是有现成的函数的.... W(t)可以用randn(k,1),生成的吧?然后就不知道怎么把W(t)带入微分方程组中求解。 我没时间了,要断网了!
你在help里输ode45,下面的例子example3符合你的情况,好好学习学习! 记的论坛上好像有相关帖讨论过, 楼主搜下吧! 已经知道怎么做了哈,谢谢各位。
帮助里面也有说明,同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.
不过帮助里面只是完成了参数的传递,W(1)的序列用了interp1函数进行插值处理变为一个函数pt=interp1(T,P,t),这样就可以将W(1)直接替换成pt了。
function dy=(t,y,T,P)
...
...
=ode45(@ li9_4_1,,,[ ], T, P ); 回复 8 # tqy0606 的帖子
您好!
我也是求解一个类似的微分方程:dy=a*y+b*w(t),其中w(t)为标准高斯白噪声。
不知道w(t)怎么来表示,就是用randn函数产生了w之后,怎么跟时间对应起来啊,而且龙格库塔算法是变步长的求解方法,必须编制定步长的算法,这就涉及到w到w(t)的转化问题,能给一下解答吗?
非常感谢!!! 我也遇到同样的问题,请问怎么解决的? 同求解!遇到类似的问题了 我看的是标准白噪声过程用随机序列模拟,即将时间离散,同时用单步4阶龙格库拉法求解方程,步长同离散的步长,这样每步迭代时的激励项用w(tk)=sqrt(c*s/deta t),s为谱密度,detat为步长,c是常数。我用这种方法解的结果不太理想。求指点,多谢! 回复 4 # zhouyang664 的帖子
我看的是标准白噪声过程用随机序列模拟,即将时间离散成k段,同时用单步4阶龙格库拉法求解方程,步长同离散的步长,这样每步迭代时的激励项用w(tk)=sqrt(c*s/deta t),s为谱密度,detat为步长,c是常数。我用这种方法解的结果不太理想。求指点,多谢!
请问这样做可以吗,用matlab求解结果不对。 本人发的贴有关于龙格的数值计算。。可以解决楼主问题
页:
[1]