使用MATLAB 求线性差分方程的变量b
时间: 2024-04-21 20:25:14 浏览: 83
matlab差分方程
对于一个线性差分方程:
a(1)y(n) + a(2)y(n-1) + ... + a(N+1)y(n-N) = b(1)x(n) + b(2)x(n-1) + ... + b(M+1)x(n-M)
其中,a(1)~a(N+1)和b(1)~b(M+1)都是已知系数,y(n)和x(n)是未知变量。
假设该差分方程的右侧是一个单位脉冲序列,即:
x(n) = [1,0,0,0,...]
此时,我们可以得到如下方程组:
a(1)y(N) + a(2)y(N-1) + ... + a(N+1)y(0) = b(1)
a(1)y(N+1) + a(2)y(N) + ... + a(N+1)y(1) = b(2)
...
a(1)y(M) + a(2)y(M-1) + ... + a(N+1)y(M-N) = b(M+1)
将上述方程组写成矩阵形式,即:
[A] [y] = [b]
其中,[A]是一个(N+1)×(M+1)的矩阵,[y]是一个(M+1)×1的列向量,[b]是一个(N+1)×1的列向量。
MATLAB中可以使用inv函数求解矩阵的逆,因此我们可以通过以下公式求解出变量b:
[y] = inv([A]) [b]
阅读全文