matlab求解差分方程程序 %差分方程为: %y(n)-2y(n-1)+3y(n-2)=4u(n)-5u(n-1)+6u(n-2)-7u(n-3) %初始条件:x(-1)=1,x(-2)=-1,y(-1)=-1,y(-2)=1,求系统输出y(n) clear all; close all; clc; b=[4,-5,6,-7]; a=[1,-2,3]; x0=[1,-1,0]; y0=[-1,1]; xic=filtic(b,a,y0,x0)%filtic函数用于为filter函数选择初始条件 bxplus=1; axplus=[1,-1]; ayplus=conv(a,axplus)%计算多项式乘积的系数 byplus=conv(b,bxplus)+conv(xic,axplus) [R,P,K]=residuez(byplus,ayplus)%留数法求解z变换.R为留数,P为极点,K为直接项系数,b-分子,a-分母 Mp=abs(P) Ap=angle(P)*180/pi N=100; n=0:N-1; xn=ones(1,N); yn=filter(b,a,xn,xic); plot(n,yn)