《控制系统数字仿真与CAD》张晓华版课后答案第四章.doc
文本预览下载声明
精品文档下载 可编辑
精品文档下载 可编辑
4-2设典型闭环结构控制系统如图4-47所示,当阶跃输入幅值 时,用sp4_1.m求取输出的响应。
解:用sp4_1.m求解过程如下:
在MATLAB语言环境下,输入以下命令语句
a=[0.016 0.864 3.27 3.42 1];
b=[30 25];
X0=[0 0 0 0]; %系统状态向量初值为零
V=2; %反馈系数
n=4;
T0=0;Tf=10;
h=0.01;R=20 ; %仿真步长h=0.01,阶跃输入幅值
sp4_1 %调用sp4_1.m函数
plot(t,y)
运行结果为:
附:sp4_1.m函数为
b=b/a(1);a=a/a(1);A=a(2:n+1);
A=[rot90(rot90(eye(n-1,n)));-fliplr(A)];
B=[zeros(1,n-1),1];
m1=length(b);
C=[fliplr(b),zeros(1,n-m1)];
Ab=A-B*C*V;
X=X0;
y=0;t=T0;
N=round((Tf-T0)/h);
for i=1:N
K1=Ab*X+B*R;
K2=Ab*(X+h*K1/2)+B*R;
K3=Ab*(X+h*K2/2)+B*R;
K4=Ab*(X+h*K3)+B*R;
X=X+h*(K1+2*K2+2*K3+K4)/6;
y=[y,C*X];
t=[t,t(i)+h];
end
4-4系统结构图如图4-48,写出该系统的联结矩阵和,并写出联结矩阵非零元素阵。
解:根据图4-48中,拓扑连结关系,可写出每个环节输入受哪些环节输出的影响,
现列如入下:
把环节之间的关系和环节与参考输入的关系分别用矩阵表示出来,
即=,=,
4-6若系统为图4-5b 双输入-双输出结构,试写出该系统的联接矩阵,,说明应注意什么?
解:根据图4-5b中,拓扑连结关系,可列写如下关系式:
转换成矩阵形式为
所以联接矩阵=,=
此时应注意输入联接矩阵变为型。
4-8求图4-49非线性系统的输出响应y(t),并与无非线性环节情况进行比较。
解:(1)不考虑非线性环节影响时,求解过程如下:
先将环节编号标入图中。
2) 在MATLAB命令窗口下,按编号依次将环节参数输入P阵;
P=[0.1 1 0.5 1;0 1 20 0;2 1 1 0;10 1 1 0];
3) 按各环节相对位置和联接关系,有联接矩阵如下:
, ,所以非零元素矩阵
WIJ=[1 0 1;1 4 -1;2 1 1;3 2 1;4 3 1] ;
4)由于不考虑非线性影响,则非线性标志向量和参数向量均应赋零值;
Z=[0 0 0 0];S=[0 0 0 0];
5)输入运行参数:开环截至频率约为1,故计算步长h取经验公式值,即
,取h=0.01;每0.25秒输出一点。故取=25。
h=0.01;
L1=25;
n=4;
T0=0
Tf=20;
nout=4;
Y0=10;
sp4_4;
plot(t,y,r)
hold on
运行结果如图中红色实线所示。
(2)考虑非线性环节N影响时,只需将非线性标志向量Z和参数向量S的相应分量正确输入即可。
在MATLAB命令窗口中输入下列语句:
Z=[4 0 0 0];S=[5 0 0 0]; %第一个线性环节后有饱和非线性,参数值为5。
sp4_4;
plot(t,y,--)
运行结果如图中蓝色虚线所示。
从图中可以清楚的地看出,饱和非线性环节对线性系统输出响应的影响。
附:sp4_4函数为:
A=P(:,1);B=P(:,2);
C=P(:,3);D=P(:,4);
m=length(WIJ(:,1));
W0=zeros(n,1);W=zeros(n,n);
for k=1:m
if (WIJ(k,2)==0); W0(WIJ(k,1))=WIJ(k,3);
else W(WIJ(k,1),WIJ(k,2))=WIJ(k,3);
end;
end;
for i=1:n
if(A(i)==0);
FI(i)=1;
FIM(i)=h*C(i)/B(i);
FIJ(i)=h*h*(C(i)/B(i))/2;
FI
显示全部