📄 q622.m
字号:
%《MATLAB及在电子信息课程中的应用》第六章例6.22程序q622
% 求离散系统状态转移矩阵的解
% 电子工业出版社出版 陈怀琛 吴大正 高西全合著 2001年10月初版,2003年7月第二版
%
clear
A = input('离散状态方程系数A=(N*N方阵) 书上取[0.5,0;0.25,0.25] ');
B = input('离散系统状态方程系数B=(N*1列阵) 书上取[1;0] ');
x0 = input('初始状态变量x0=(N*1数组) 书上取[-1;0.5] ');
n = input('要计算的步数n= 书上取10] ');
u = input('输入信号u=(长度为n的数组) 书上取[0,0.5*ones(1,n-1)] ');
x(:,1)= x0; % 因MATLAB下标不能取0,x(1)对应于k=0处的x
for i=1:n % 递推计算n次
x(:,i+1)= A*x(:,i)+B*u(i);
end
% 画出前两个状态变量的曲线,注意如何使下标还原至k=0为起点
subplot(2,1,1),stem([0:n],x(1,:)),
set(gcf,'color','w') % 设置图形背景色为白色
line([0,10],[0,0])
subplot(2,1,2),stem([0:n],x(2,:)),
line([0,10],[0,0])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -