MATLAB filtic函数使用详解

时间:2024-11-06 14:42:24

MATLAB filtic函数使用详解

文章目录

  • 一、filtic函数输入输出说明
  • 二、数值计算例子
  • 三、MATLAB验证


提示:以下是本篇文章正文内容,转载请附上链接!

一、filtic函数输入输出说明

           \;\;\;\;\; filtic函数的调用格式为z = filtic(b,a,y,x)。其中
向量b是差分方程分子的系数;
向量a是差分方程分母的系数;
向量y是输出在0时刻之前的初始条件,即
y = [ y ( − 1 ) ,   y ( − 2 ) ,   y ( − 3 ) ,   . . .   ,   y ( − m ) ] y = [ y(-1),\ y(-2),\ y(-3),\ ...\ ,\ y(-m)] y=[y(1), y(2), y(3), ... , y(m)]
向量x是输出在0时刻之前的初始条件,即
x = [ x ( − 1 ) ,   x ( − 2 ) ,   x ( − 3 ) ,   . . .   ,   x ( − n ) ] x = [ x(-1),\ x(-2),\ x(-3),\ ...\ ,\ x(-n)] x=[x(1), x(2), x(3), ... , x(n)]
向量z是系统的初始状态,长度是向量x和向量y中长度的最大值。
           \;\;\;\;\; 如果系统是因果系统,则向量x显然为0,此时可省略x,直接用z = filtic(b,a,y)。

二、数值计算例子

           \;\;\;\;\; 假设现在有一个差分方程:
u ( n ) = − u ( n − 1 ) − 2 u ( n − 2 ) + v ( n ) + v ( n − 1 ) u(n) = -u(n-1)-2u(n-2)+v(n)+v(n-1) u(n)=u(n1)2u(n2)+v(n)+v(n1)
初始条件为:
u ( − 1 ) = u ( − 2 ) = v ( − 1 ) = 1 u(-1)=u(-2)=v(-1)=1 u(1)=u(2)=v(1)=1
假设激励全为1,现在求全响应,则我们可以写出下面这些式子:
{ u ( 0 ) = − u ( − 1 ) − 2 u ( − 2 ) + v ( 0 ) + v ( − 1 ) = − 1 u ( 1 ) = − u ( 0 ) − 2 u ( − 1 ) + v ( 1 ) + v ( 0 ) = 1 u ( 2 ) = − u ( 1 ) − 2 u ( 0 ) + v ( 2 ) + v ( 1 ) = 3 . . . \left\{ \begin{aligned} &u(0) = -u(-1)-2u(-2)+v(0)+v(-1) = -1&& \\ &u(1) = -u(0)-2u(-1)+v(1)+v(0) = 1 &&\\ &u(2) = -u(1)-2u(0)+v(2)+v(1) = 3 &&\\ &... &&\\ \end{aligned} \right. u(0)=u(1)2u(2)+v(0)+v(1)=1u(1)=u(0)2u(1)+v(1)+v(0)=1u(2)=u(1)2u(0)+v(2)+v(1)=3...
假设激励全为1,现在求零状态响应( u ( − 1 ) = u ( − 2 ) = v ( − 1 ) = 0 u(-1)=u(-2)=v(-1)=0 u(1)=u(2)=v(1)=0 ),则我们可以写出下面这些式子:
{ u ( 0 ) = − u ( − 1 ) − 2 u ( − 2 ) + v ( 0 ) + v ( − 1 ) = 1 u ( 1 ) = − u ( 0 ) − 2 u ( − 1 ) + v ( 1 ) + v ( 0 ) = 1 u ( 2 ) = − u ( 1 ) − 2 u ( 0 ) + v ( 2 ) + v ( 1 ) = − 1 . . . \left\{ \begin{aligned} &u(0) = -u(-1)-2u(-2)+v(0)+v(-1) = 1&& \\ &u(1) = -u(0)-2u(-1)+v(1)+v(0) = 1 &&\\ &u(2) = -u(1)-2u(0)+v(2)+v(1) = -1 &&\\ &... &&\\ \end{aligned} \right. u(0)=u(1)2u(2)+v(0)+v(1)=1u(1)=u(0)2u(1)+v(1)+v(0)=1u(2)=u(1)2u(0)+v(2)+v(1)=1...
filtic函数求得的初始状态为:
{ i n i t i a l ( 1 ) = − u ( − 1 ) − 2 u ( − 2 ) + v ( − 1 ) = − 2 i n i t i a l ( 2 ) = − 2 u ( − 1 ) = − 2 \left\{ \begin{aligned} &initial(1) = -u(-1)-2u(-2)+v(-1) = -2&& \\ &initial(2) = -2u(-1) = -2 &&\\ \end{aligned} \right. {initial(1)=u(1)2u(2)+v(1)=2initial(2)=2u(1)=2
u ( − 1 ) = u ( − 2 ) = v ( − 1 ) = 0 u(-1)=u(-2)=v(-1)=0 u(1)=u(2)=v(1)=0 的条件下,我们现在来求零输入响应(激励全为0,由起始状态带来的响应),则为:
{ u ( 0 ) = − u ( − 1 ) − 2 u ( − 2 ) + v ( 0 ) + v ( − 1 ) = i n i t i a l ( 1 ) + v ( 0 ) = − 2 u ( 1 ) = − u ( 0 ) − 2 u ( − 1 ) + v ( 1 ) + v ( 0 ) = i n i t i a l ( 2 ) − u ( 0 ) + v ( 1 ) + v ( 0