MATLAB用filter实现差分方程的代码
时间: 2023-10-11 07:06:12 浏览: 122
用Matlab实现差分方程.docx
可以使用MATLAB中的filter函数来实现差分方程。假设差分方程为:
y(n) = b(1)x(n) + b(2)x(n-1) + ... + b(nb+1)x(n-nb) - a(2)y(n-1) - ... - a(na+1)y(n-na)
其中,x(n)是输入信号,y(n)是输出信号,b和a分别是输入和输出信号的系数。
那么,可以用MATLAB中的filter函数实现如下:
y = filter(b, a, x);
其中,b和a分别是输入和输出信号的系数向量,x是输入信号向量,y是输出信号向量。注意,输入和输出信号的系数向量要按照从高到低的顺序排列,即:
b = [b(nb+1), b(nb), ..., b(2), b(1)]
a = [a(na+1), a(na), ..., a(2), a(1)]
例如,如果差分方程为:
y(n) = 0.5x(n) + 0.3x(n-1) - 0.4y(n-1)
那么可以用MATLAB中的filter函数实现如下:
b = [0.5, 0.3];
a = [1, -0.4];
y = filter(b, a, x);
其中,x是输入信号向量,y是输出信号向量。
阅读全文