以下为《建模上机题目五》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
上机五
求离散系统的零、极点向量和增益系数,并绘制零极点 图,并判断系统的稳定性。
clear
num = [2, 3, 0];
den = [1, 0.4, 1];
[z, p, k] = tf2zp(num, den) % 求零极点向量和增益系数
pzmap(z, p) % 绘制零极点图
jj = find(abs(p) > 1); n = length(jj); % 判断系统稳定性
if n > 0
disp('The system is unstable')
disp('The unstable poles are:');disp(p(jj))
else
disp('The system is stable')
end
2、求多输入输出系统的单位阶跃响应和零输入响应,若初始状态为x0=[0;0;0;0],请判断系统的稳定性,以及是否为最小相位系统。
clear
A = [2.25,-5,-1.25,-0.5;2.25,-4.25,-1.25,-0.25;...
0.25,-0.5,-1.25,-1;1.25,-1.75,-0.25,-0.75];
B = [4,6;2,4;2,2;0,2];
C = [0,0,0,1;0,2,0,2];
D = [0,0;0,0];
figure(1)
step(A,B,C,D); % 单位阶跃响应,不指定输入
figure(2)
X0 = [0, 0, 0, 0]'; % 初始条件设定
initial(A,B,C,D,X0) % 零输入响应
for i = 1:2 % 对两个输入端口循环做判断
[z, p] = ss2zp(A,B,C,D,i);
ii = find(real(z) > 0); n1 = length(ii);
jj = find(real(p) > 0); n2 = length(jj);
if n2 > 0 % 判断系统稳定性
disp(['The system',num2str(i),' is unstable'])
disp('The unstable poles are:');disp(p(jj))
else
disp(['The system',num2str(i),' is stable'])
if n1 > 0 % 判断系统是否为最小相位系统
disp(['The system',num2str(i),' is a nonminimal phase one'])
else
disp(['The system',num2str(i),' is a minimal phase one'])
end
end
end
3、某离散系统的状态方程和输出方程分别为:
其初始状态和输入分别为:
求系统的输出响应。
clear
A = [0, 1; -2, 2];
B = [1; 0];
C = [1, 1; 1, 0];
D = [0; 0];
n = 0:20; % 范围定义
f = stepfun(n,0); % 初始输入
x0 = [1;-1]; % 初始状态
[y, x] = dlsim(A, B, C, D, f, x0); % 输出响应
subplot(2,1,1) 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 er_over = 100 * (Y - C)/C % 超调量,按照百分数来显示
n = 1;
while y(n) < 0.1 * C;
n = n + 1;
end
m = 1;
while y(m) < 0.9 * C;
m = m + 1;
end
risetime = t(m) - t(n) % 上升时间
timetopeak = t(k) % 峰值时间
i = length(t);
while (y(i) > 0.98 * C) & (y(i) < 1.02 * C)
i= i - 1;
end
Settingtime = t(i) % 调节时间
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《建模上机题目五》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。