登录论坛

查看完整版本 : [MATLAB基础] 求助各位大侠一道基础题


tt163163
2009-04-30, 21:33
用matlab编程
s(n)=a*s(n-1)+x(n);
x(n)是方差是1,均值是0的噪声信号。
求s(n).

我知道x(n)可以用randn产生,但是怎样解差分方程求解s(n),用filter的话,参数不能包含符号变量。

求助,各位高人这道题改怎么做?

silas_xue
2009-05-01, 09:51
lz 只是说说自己的意见 看到这个方程时 我想到两个方向 一个是时域 一个是Z域的求解

tt163163
2009-05-01, 18:02
谢谢 时域的话,解差分方程的时候,将a设置成符号变量的话,a和s(n-1)相乘,一个是符号变量,一个是double类型,没法相乘啊,我刚刚开始学习,是不是有什么地方没有注意啊?

silas_xue
2009-05-02, 04:26
可以参考matlab有关differential equation 的说明

tt163163
2009-05-02, 09:31
请教silas_xue大侠:

差分方程是这样做吗?
clear;
x=randn(1,256);
s(1)=0;
syms a;
for i=2:256
s(i)=a*s(i-1)+x(i);
end

出现了这个错误
??? Conversion to double from sym is not possible.