在认真复习差分与差分方程概念后,还要掌握差分方程z变换求解的步骤:①对差分方程两端进行z变换,得到以z为变量的代数方程,即变换方程;②解算变换方程,求出未知函数的象函数表达式,并注意方程应计入初始条件值;③将未知函数的象函数表达式展开成部分分式(在MATLAB程序语句中反映不出来);④对部分分式进行z反变换即得差分方程的解。
【例11-7】 已知三阶前向差分方程a1·c(n+3)+a2·c(n+2)+a3·c(n+1)+a4·c(n)=r,其中a1=1,a2=6,a3=11,a4=6,r=0,初始条件:c(0)=c(1)=1,c(2)=0,用z变换法求解响应c(n)。
解:1)对差分方程进行z变换,得到对应变换方程。
clear;syms a1 a2 a3 a4 c r n T z;a1=1;a2=6;a3=11;a4=6;
L=factor(ztrans(l));R=0;S=L-R,
程序运行结果
S=
z^3∗ztrans(c(n),n,z)-c(0)∗z^3-c(1)∗z^2-c(2)∗z+6∗z^2∗ztrans(c(n),n,z)-6∗c(0)∗z^2-6∗
c(1)∗z+11∗z∗ztrans(c(n),n,z)-11∗c(0)∗z+6∗ztrans(c(n),n,z)(www.xing528.com)
2)解算变换方程,求出未知函数的象函数表达式,并进行z反变换即得差分方程的解。
在列写MATLAB语句时,改写所有函数的初始条件c(2)、c(1)、c(0)分别为c2、c1、c0
(即略去小括号),并代入所有初始条件;改写函数c(n)的ztrans(c(n),n,z)为C。
clear;syms a n T b z c c0 c1 c2 C;c0=1;c1=1;c2=0;
S=z^3∗C-c0∗z^3-c1∗z^2-c2∗z+6∗z^2∗C-6∗c0∗z^2-6∗c1∗z+11∗z∗C-11∗c0∗z+6∗C;
C=solve(S,C);c=iztrans(C),
程序运行后得到差分方程的解为
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。