怎么用matlab求差分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用matlab求差分相关的知识,希望对你有一定的参考价值。

参考技术A 调用filter函数解差分方程。

1)yn=filter(B,A,xn)是计算输入向量xn的零状态响应输出信号yn,yn与xn长度相等,
其中B=[b0,b1,……bn], A=[a0,a1,……an]。其中a0=1。

2)yn=filter(B,A,xn,xi)是计算全响应的函数。xi是等效初始条件的输入序列,xi能由初始条件确定。此时需要调用filtic函数。xi=filtic(B,A,ys,xs)。其中ys,xs是初始条件向量。
其中ys=[y(-1),y(-2)……y(-N)],xs=[x(-1),x(-2),……x(-M)]
另外若xn为因果序列xs=0可缺省。

举个例子若y(n)-0.8y(n-1)=x(n),初始条件y(-1)=1。
a=0.8,ys=1;
xn=[1,zeros(1,30)];
B=1, A=[1,-a];
xi=filtic(B,A,ys);
yn=filter(B,A,xn,xi);
%以下是解出来的yn图像
n=0:length(yn)-1;
stem(n,yn,'.');

参考资料:数字信号处理

以上是关于怎么用matlab求差分的主要内容,如果未能解决你的问题,请参考以下文章

在MATLAB中利用filter函数在给定输入和差分方程时求差分方程的解。给出如下差分方程:

matlab差分基础问题?!

关于matlab filter这个函数到底怎么用?

基于Matlab和高斯-赛德尔迭代应用有限差分法求电势及电场分布

如何用matlab生成一个3阶和5阶魔方矩阵

急!!如何用matlab语言编写一个用牛顿迭代法求解经过有限差分法处理过的非线性方程组