图6-2 离散系统状态方程的求解
2.程序设计实验 (1)离散系统状态方程为: x(k+1)=Ax(k)+Bf(k) 其中A=?0??x1(0)??0??0.5?1?,B=,初始状态?x(0)???0?,激励f(k)=δ(k),确定该状态方??0?0.250.25?2???????程x(k)前10步的解,并画出波形。
MATLAB程序:
%离散系统状态求解
%A=input(‘系统矩阵 A=’) %B=input(‘系数矩阵 B=’)
%x0=input(‘初始状态矩阵 x0=’) %n=input(‘要求计算的步长 n=’)
%f=input(‘输入信号 f=’) %需求长度为n的数组 clear all
A=[0.5 0;0.25 0.25]; B=[1;0]; x0=[0;0]; n=10;
f=[1 zeros(1,n-1)]; x(:,1)=x0; for i=1:n
x(:,i+1)=A*x(:,i)+B*f(i); end
subplot(2,1,1);stem([0:n],x(1,:)); subplot(2,1,2);stem([0:n],x(2,:));
求解结果如图5.3所示:
33
图6-3 离散系统状态议程的求解
(2)描述离散时间系统的信号流图如图所示,确定该系统的系统函数(离散系统信号流图的形式与连续系统相同,只不过是变量s换为z,在此不再详述。)。
MATLAB程序:
syms z;
Q=[0 0 0 0 0 0;2 0 -3 0 -2 0;0 1/z 0 0 0 0;3 0 1 0 0 0;0 0 0 1/z 0 0;1 0 0 0 2 0]; B=[1;0;0;0;0;0]; I=eye(size(Q)); H=(I-Q)\\B; H6=H(6); pretty(H6);
执行后得到结果:
2 24 + 9 z + z ------------- 2
z + 3 z + 2
五、实验要求
(1)对于程序设计实验,要求通过对验证性实验的练习,自行编制完整的实验程序,实现对信号的模拟,并得出实验结果。 (2)在计算机中输入程序,难实验结果,并将实验结果存入指定存储区域。 (3)在实验报告中写出完整的自编程序,并给出实验结果。
六、思考题
离散系统状态变量分析方法的特点。
34