系统建模与仿真实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一
(1)
num=([1.3 2 2.5]);
den=([1 0.5 1.2 1]);
sys2=tf(num,den,'inputdelay',2,'inputName','flow','OutputName','Temp') (2)
clc;
num={[1 1],[1 0];1,2};
den={[1 2 1],[1 0 2];[2 1],[1 1]};
sys4=tf(num,den,0.2)
get(sys4);
(3)
num={1 1;2 [1 1] };
den={[1 1],[1 2];1,[1 2]};
sys3=tf(num,den)
(4)
num=([1.3 2 2.5]);
den=([1 0.5 1.2 1]);
sys2=tf(num,den,'inputdelay',2)
sys6=zpk(sys2)
z=sys6.z;
Z=z{ : }
p=sys6.p;
P=p{ : }
k=sys6.k
(5)A=[0 1 0;0 0 1;-5 -20 -1];
B=[0;0;1];
C=[1 0 0];
D=0;
[num,den]=ss2tf(A,B,C,D);
printsys(num,den)
[z,p,k]=ss2zp(A,B,C,D);
zpk(z,p,k)
2(有错误)
sys1=tf(10,[1 5]);
A=[-9.201 17.7791;-1.6943 3.2138];B=[-0.5112 0.5362;-0.002 -1.8470];
C=[-3.2897 2.4544;-13.5009 18.0745];D=[-0.5476 -0.1410;-0.6459 0.2958]; Q=[U Y Y;3 1 -4;4 3 0];
sys2=ss(A,B,C,D);
sys3=tf([2 2],[1 2]);
sys=append(sys1,sys2,sys3)
inputs=[1 2];
outputs=[2 3];
sysc=connect(sys,Q,inputs,outputs);
tfsys=(sysc);
clear
char u y;
sys1=tf(10,[1 5]);
A = [ -9.201 17.7791; -1.6943 3.2138 ];
B = [ -0.5112 0.5362; -0.002 -1.8470];
C = [ -3.2897 2.4544; -13.5009 18.0745];
D = [-0.5476 -0.1410;-0.6459 0.2958 ]; sys2=ss(A,B,C,D);
sys3=tf([2 2],[1 2]);
sys=append(sys1,sys2,sys3);
Q=[1 1 1;3 1 -4;4 3 0];
inputs=[1 2];
outputs=[2 3];
sysc= connect(sys,Q,inputs,outputs)
tfsys=tf(sysc)
3
A=[0 1 0;-2 -3 0;-1 1 -3];
B=[1 1 2]';
C=[1 0 1];
[Ab,Bb,Cb,Db]=canon(A,B,C,0,'modal') %产生对角标准型
[Ab,Bb,Cb,Db]=canon(A,B,C,0,'companion') %产生伴随矩阵型
4(1)
n1=30;d1=[0.5 1];
n2=[0.2,0.4];d2=[0.25,1,0];
Gkn=conv(n1,n2);Gkd=conv(d1,d2);
[num,den]=cloop(Gkn,Gkd);
P=roots(den);
disp('系统的闭环极点为'),disp(p)
ss=find(real(P)>0);tt=length(ss);
if(tt>0)
disp('系统不稳定')
disp('位于右半复平面的极点为'),disp(P(ss))
else disp('系统是稳定的')
end
(2)
num=[2,3,-1,0.6,3,2];
den=[6,4,-1,0.6,3,0.8];
[Z,P]=tf2zp(num,den);
ss=find(abs(P)>1);tt=length(ss);
if(tt>0)
disp('系统不稳定')
disp(['位于Z平面单位圆之外的极点有' int2str(tt) '个,分别为']),disp(P(ss))
else disp('系统是稳定的')
end
(3)
A=[1,2,0;-6,-2,3;-3,-4,0];
[m,n]=size(A);
if(n~=m)
disp('输入错误,系统矩阵不是方阵')
else
if(rank(A)<m)
disp('系统平衡状态不止一个')
else
Q=eye(size(A));
P=lyap(A,Q);
for ii=1:m
detp(ii)=det(P([1:ii],[1:ii]));
end
ss=find(detp<=0);tt=length(ss);
if(tt>0)
disp('系统平衡状态是不稳定')
else disp('P正定,系统在原点处平衡状态是渐进稳定的') end
end
end
实验二
(1)
syms s
y=ilaplace(1*(25/(s^2+2*s+25)))
num=[25];
den=[1,2,25];
impulse(num,den)
grid
(2)
numk=25;denk=[1,4,0];
[num,den]=cloop(numk,denk);
printsys(num,den)
t=0:0.1:5;
u1=1+0.2*sin(4*t);
u2=0.3*t+0.3*sin(5*t);
y1=lsim(num,den,u1,t);
y2=lsim(num,den,u2,t);
plot(t,[y1,y2])
grid
xlabei('t(s)');
ylabei('y(t)');
gtext(0.6,1.1,'u1');