matlab求状态响应曲线,matlab求解零状态零输入响应

时间:2025-02-09 21:16:27

1. 已知离散时间系统的差分方程为:

2y(n) - y(n-1) - 3y(n-2)=2x(n) - x(n-1)

x(n)=0.5n u(n) , y(-1)=1,y(-2)=3 , 试用filter函数求系统的零输入响应、零状态响应和全响应.

%第二章Z变换第2.12题程序

clear all;close all;

num=[2 -1 0]; %系统函数分子的系数

den=[2 -1 -3]; %系统函数分母的系数

n=0:50;

nl=length(n);

%求零输入响应

y01=[1 3]; %y的初始状态

x01=[0 0]; %x 的初始状态

x1=zeros(1,nl);

zi1=filtic(num,den,y01,x01); %为filter函数准备初始值

y1=filter(num,den,x1,zi1); %求零输入响应

subplot(311);

stem(n,y1,'r.');

title('零输入响应');

grid on;

%求零状态响应

y02=[0 0];

x02=[0 0];

x2=0.5.^n;

zi2=filtic(num,den,y02,x02);

y2=filter(num,den,x2,zi2);

subplot(312);

stem(n,y2,'r.');

title('零状态响应');

grid on;

%求全响应

y03=[1 3];

x03=[0 0];

x3=0.5.^n;

zi3=filtic(num,den,y03,x03);

y3=filter(num,den,x1,zi3);

subplot(313);

stem(n,y3,'r.');

title('全响应');

grid on;