r(t)30s?250.016s4?0.864s3?3.27s2?3.42s?1y(t)2
解:用sp4_1.m求解过程如下:
在MATLAB语言环境下,输入以下命令语句 >> a=[0.016 0.864 3.27 3.42 1]; >> b=[30 25];
>> X0=[0 0 0 0]; %系统状态向量初值为零 >> V=2; %反馈系数v?2 >> n=4;
>> T0=0;Tf=10;
>> h=0.01;R=20 ; %仿真步长h=0.01,阶跃输入幅值R?20
>> sp4_1 %调用sp4_1.m函数 >> plot(t,y) 运行结果为:
181614121086420012345678910 附: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
3-4系统结构图如图3-55,写出该系统的联结矩阵W和W0,并写出联结矩阵非零元素阵WIJ。
y0G1(s)G2(s)G3(s)G4(s)G8(s)G5(s)G6(s)G7(s)y7G10(s)G9(s)
解:根据图3-55中ui,yi拓扑连结关系,可写出每个环节输入ui受哪些环节输出yi的影响,
现列如入下:
?u1?y0?u?y?y19?2?u3?y2??u4?y3?y8??u5?y4 ??u6?y5?y10?u7?y6??u8?y6?u?y7?9??u10?y7 把环节之间的关系和环节与参考输入的关系分别用矩阵表示出来,
U?WY?W0Y0
?u1??0?u???2??1?u3??0????u4??0?u??0?5????u6??0?u??0?7???u8??0????u9??0?????u10???0000000000000000100000001000000010000000100000000000000000001100001100000??y1??1??y???0?10???2??0?000??y3??0???????100??y4??0?000??y5??0??*?????*y0
00?1??y6??0?000??y7??0??????000??y8??0???000??y9??0????????000??0???y10???0?0?1??0??0?0即W=??0?0??0?0???00000000000000010000000100000001000000010000000100000010000000100000010?10?21?000??1??29???0?10???0?32??0?000??43?????100??0??48?0?000??,W0=??,WIJ??54?00?1??0??65???0000?610????000??0??76?0?000??????86??0000?????97??107?1?1???1??1?1???1?1? ?1??1??1??1?1??1??
3-6若系统为图4-5b 双输入-双输出结构,试写出该系统的联接矩阵W,W0,说明应注意什么?
y01u11y1u22y2y33u3y5y025u5u44y4u66y6
解:根据图4-5b中ui,yi拓扑连结关系,可列写如下关系式:
?u1?y01?y5?u?y1?2??u3?y2 ??u4?y02?y3?u5?y6???u6?y4转换成矩阵形式为
?u1??0?u???2??1?u3??0?????u4??0?u??0?5????0?u6???00010??y1??1?y??00000???2??010000??y3??0?*????01000??y4??000001??y5??0????00100????0?y6???0?0??0??y01??*?? 1??y02?0??0??0?0??0?? 1?0??0???0?1??0所以联接矩阵W=??0?0???000010??1?000000????010000??,W0=?01000??0?000001???00100????0 此时应注意输入联接矩阵W0变为6?2型。
3--8求图3-56非线性系统的输出响应y(t),并与无非线性环节情况进行比较。
r(t)?10e(t)s?0.5s?0.1?5u(t)520s(s?2)(s?10)y(t) 解:(1)不考虑非线性环节影响时,求解过程如下:
1) 先将环节编号标入图中。
2) 在MATLAB命令窗口下,按编号依次将环节参数输入P阵; >> P=[0.1 1 0.5 1;0 1 20 0;2 1 1 0;10 1 1 0];
3) 按各环节相对位置和联接关系,有联接矩阵如下:
?0?1W???0??00010?10
0?1??1??14
?0??00??, W0???,所以非零元素矩阵 WIJ??21?0?00??
????3210?0????431?
?1??1?
?1?1??
>> 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)输入运行参数:开环截至频率L1?c约为1,故计算步长h取经验公式值,即
h?1?0.02,取h=0.01;每0.25秒输出一点。故取L1=25。 50?c>>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。