控制系统数字仿真与CAD习题.docx
- 文档编号:23753947
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:33
- 大小:357.04KB
控制系统数字仿真与CAD习题.docx
《控制系统数字仿真与CAD习题.docx》由会员分享,可在线阅读,更多相关《控制系统数字仿真与CAD习题.docx(33页珍藏版)》请在冰豆网上搜索。
控制系统数字仿真与CAD习题
控制系统计算机仿真及辅助设计
课程上机作业
1月5日上机作业一:
2-1思考题:
(1)数学模型的微分方程,状态方程,传递函数,零极点增益和部分分式五种形式,各有什么特点?
(2)数学模型各种形式之间为什么要互相转换?
(3)控制系统建模的基本方法有哪些?
他们的区别和特点是什么?
(4)控制系统计算机仿真中的“实现问题”是什么含意?
(5)数值积分法的选用应遵循哪几条原则?
(1)微分方程是直接描述系统输入和输出量之间的制约关系,是连续控制系统其他数学模型表达式的基础。
状态方程能够反映系统内部各状态之间的相互关系,适用于多输入多输出系统。
传递函数是零极点形式和部分分式形式的基础。
零极点增益形式可用于分析系统的稳定性和快速性。
利用部分分式形式可直接分析系统的动态过程。
(2)不同的控制系统的分析和设计方法,只适用于特定的数学模型形式。
(3)控制系统的建模方法大体有三种:
机理模型法,统计模型法和混合模型法。
机理模型法就是对已知结构,参数的物理系统运用相应的物理定律或定理,经过合理的分析简化建立起来的各物理量间的关系。
该方法需要对系统的内部结构和特性完全的了解,精度高。
统计模型法是采用归纳的方法,根据系统实测的数据,运用统计规律和系统辨识等理论建立的系统模型。
该方法建立的数学模型受数据量不充分,数据精度不一致,数据处理方法的不完善,很难在精度上达到更高的要求。
混合法是上述两种方法的结合。
(4)“实现问题”就是根据建立的数学模型和精度,采用某种数值计算方法,将模型方程转换为适合在计算机上运行的公式和方程,通过计算来使之正确的反映系统各变量动态性能,得到可靠的仿真结果。
(5)数值积分法应该遵循的原则是在满足系统精度的前提下,提高数值运算的速度和并保证计算结果的稳定。
2-2.用matlab语言求下列系统的状态方程、传递函数、零极点增益、和部分分式形式的模型参数,并分别写出其相应的数学模型表达式:
(1)G(s)=
(2)
=
y=[0202]X
解:
(1)
程序代码如下:
clear;
clc;
num=[172424];
den=[110355024];
[Z,P,K]=tf2zp(num,den);
[A,B,C,D]=zp2ss(Z,P,K);
[R,P1,H]=residue(num,den);
G1=tf(num,den)
G2=zpk(Z,P,K)
G3=ss(A,B,C,D)
程序的输出结果如下:
Transferfunction:
s^3+7s^2+24s+24
---------------------------------
s^4+10s^3+35s^2+50s+24
Zero/pole/gain:
(s+1.539)(s^2+5.461s+15.6)
-------------------------------
(s+4)(s+3)(s+2)(s+1)
a=
x1x2x3x4
x1-3-1.41400
x21.414000
x311.088-7-3.464
x4003.4640
b=
u1
x11
x20
x30
x40
c=
x1x2x3x4
y111.088-1.5391.038
d=
u1
y10
Continuous-timemodel.
(2)
程序代码如下:
clear;
clc;
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
2
2
0];
C=[0202];
D=0;
[num,den]=ss2tf(A,B,C,D);
[Z,P,K]=ss2zp(A,B,C,D);
[R,P1,H]=residue(num,den);
G1=tf(num,den)
G2=zpk(Z,P,K)
G3=ss(A,B,C,D)
程序输出结果如下:
Transferfunction:
4s^3+14s^2+22s+15
--------------------------------------
s^4+4s^3+6.25s^2+5.25s+2.25
Zero/pole/gain:
4(s+1.5)(s^2+2s+2.5)
--------------------------
(s+1.5)^2(s^2+s+1)
a=
x1x2x3x4
x12.25-5-1.25-0.5
x22.25-4.25-1.25-0.25
x30.25-0.5-1.25-1
x41.25-1.75-0.25-0.75
b=
u1
x14
x22
x32
x40
c=
x1x2x3x4
y10202
d=
u1
y10
Continuous-timemodel.
2-3.用欧拉法求下面系统的输出响应y(t)在0≤t≤1上,h=0.1时的数值。
要求保留4位小数,并将结果与真解
比较。
解:
程序代码如下:
clear;
clc;
h=0.1;
y=1;
disp('欧拉法求得值为:
');
fori=0:
h:
1
m=y;
disp(y);
y=m-m*h;
end
disp('真解为:
');
fori=0:
h:
1
y=exp(-i);
disp(y);
end
输出结果如下:
欧拉法值
1
0.9000
0.8100
0.7290
0.6561
0.5905
0.5314
0.4783
0.4305
0.3874
0.3487
真值
1
0.9048
0.8187
0.7408
0.6703
0.6065
0.5488
0.4966
0.4493
0.4066
0.3679
2-4用二阶龙格库塔法求解2-3的数值解,并于欧拉法求得的结果比较。
解:
程序代码如下:
clear;
clc;
h=0.1;
y=1;
disp('二阶龙格库塔法求得值为:
');
fori=0:
h:
1
disp(y);
k1=-y;
k2=-(y+k1*h);
y=y+(k1+k2)*h/2;
end
disp('欧拉法求得值为:
');
y=1;
fori=0:
h:
1
m=y;
disp(y);
y=m-m*h;
end
程序输出结果如下:
欧拉法值
1
0.9000
0.8100
0.7290
0.6561
0.5905
0.5314
0.4783
0.4305
0.3874
0.3487
龙格库塔法值
1
0.9050
0.8190
0.7412
0.6708
0.6071
0.5494
0.4972
0.4500
0.4072
0.3685
2-5.用四阶龙格-库塔法求解题2-3数值解,并与前两题结果相比较。
解:
程序代码如下:
clear;
clc;
h=0.1;
y=1;
disp('四阶龙格库塔法求得值为:
');
fori=0:
h:
1
disp(y);
k1=-y;
k2=-(y+k1*h/2);
k3=-(y+k2*h/2);
k4=-(y+k3*h);
y=y+(k1+2*k2+2*k3+k4)*h/6;
end
程序结果如下:
欧拉法值
1
0.9000
0.8100
0.7290
0.6561
0.5905
0.5314
0.4783
0.4305
0.3874
0.3487
二阶龙格库塔法值
1
0.9050
0.8190
0.7412
0.6708
0.6071
0.5494
0.4972
0.4500
0.4072
0.3685
四阶龙格库塔法值
1
0.9048
0.8187
0.7408
0.6703
0.6065
0.5488
0.4966
0.4493
0.4066
0.3679
2-6.已知二阶系统状态方程为
写出取计算步长为h时,该系统状态变量X=[
]的四阶龙格-库塔法递推关系式。
2-7单位反馈系统的开环传递函数已知如下
用matlab语句、函数求取系统闭环零极点,并求取系统闭环状态方程的可控标准型实现。
解:
程序代码如下:
clear;
clc;
num=[5100];
den1=[10];
den2=[14.6];
den3=[13.416.35];
den4=[0005100];
den=conv(den1,den2);
den=conv(den,den3);
den=den+den4
[Z,P,K]=tf2zp(num,den);
P1=roots(den)
Z1=roots(num)
Z
P
输出结果如下:
den=
1.00008.000031.990080.2100100.0000
P1=
-0.9987+3.0091i
-0.9987-3.0091i
-3.0013+0.9697i
-3.0013-0.9697i
Z1=
-20
Z=
-20
P=
-0.9987+3.0091i
-0.9987-3.0091i
-3.0013+0.9697i
-3.0013-0.9697i
2-8用matlab语言编制单变量系统三阶龙格-库塔法求解程序,程序入口要求能接收状态方程各系数阵(A,B,C,D),和输入阶跃函数r(t)=R*1(t);程序出口应给出输出量y(t)的动态响应数值解序列
。
解:
函数程序代码如下:
function[y]=hs(A,B,C,D,R,T,h)
y=0;
r=R;
x=[0;0;0;0];
N=T/h;
fort=1:
1:
N
k1=A*x+B*R;
k2=A*(x+h*k1/3)+B*R;
k3=A*(x+2*h*k2/3)+B*R;
x=x+h*(k1+3*k3)/4;
y=C*x+D*R;
end
将程序保存为名为hs的文件,用以求解2-1求解出的A,B,C,D进行验证如下:
>>hs(A,B,C,D,1,1,1)
ans=
2.6667
2-10.用式(2-34)梯形法求解试验方程
,分析对计算步长h有何限制,说明h对数值稳定性的影响。
1月6日上机作业二:
3-1.求解下列线性方程,并进行解得验证:
(1)
(2)
由A*X=B得:
X=A\B
解:
(1)
程序代码如下:
clear;
clc;
A=[721-2
9153-2
-2-2115
13213];
B=[4
7
-1
0];
x=inv(A)*B
输出结果如下:
x=
0.4979
0.1445
0.0629
-0.0813
(2)
程序代码如下:
clear;
clc;
A=[57651
710872
681093
579104
12345];
B=[2496
34136
36144
35140
1560];
x=inv(A)*B
输出结果如下:
x=
1.00004.0000
1.00004.0000
1.00004.0000
1.00004.0000
1.00004.0000
3-2.进行下列计算,给出不使用for和while等循环语句的计算方法。
(1)
(2)求出y=x*sin(x)在0 解: (1) 程序代码如下: clear; clc; a1=1; q=2; n=64; sum=a1*(1-q^n)/(1-q) 输出结果如下: sum= 1.8447e+019 (2) 先画出0 代码如下: x=0: 0.1: 100; y=x.*sin(x); plot(x,y) xlabel('x'); ylabel('y'); 图形如下: 可以看出sin(x)在峰值时y也是在峰值位置,即每个点的峰值为 3-3.绘制下面的图形。 (1)sin(1/t),-1 (2) -1 解: (1) 代码如下: t=-1: 0.01: 1; y=sin(1./t); plot(t,y); xlabel('t'); ylabel('y'); 输出图形如下: (2) 代码如下: clear; clc; t=-1: 0.01: 1; y=1-(cos(7*t)).^3; plot(t,y); xlabel('t'); ylabel('y'); 输出图形如下: 3-4.已知元件的实验数据如下,拟合这一数据,并尝试给出其特性方程。 X 0.0100 1.0100 2.0100 3.0100 4.0100 Y 2.5437 7.8884 9.6242 11.6071 11.9727 X 5.0100 6.0100 7.0100 8.0100 9.0100 y 13.2189 14.2679 14.6134 15.4045 15.0805 解: 程序代码如下: clear; clc; x=[0.01001.01002.01003.01004.01005.01006.01007.01008.01009.0100]; y=[2.54377.88849.624211.607111.972713.218914.267914.613415.404515.0805]; P=polyfit(x,y,3); xi=0: 0.01: 9.01; yi=polyval(P,xi); plot(x,y,'o',xi,yi,'*'); plot(x,y,xi,yi); xlabel('x'); ylabel('y'); 输出结果如下: 3-5.分别使用解微分方程方法、控制工具箱、simulink求解具有如下闭环传递函数的系统的阶跃响应。 解: Simulink中建立如下系统 阶跃响应图像如下: 输入以下代码: num=[626620]; den=[13422]; step(num,den,10); 输出波形如下 3-6.已知系统的闭环传递函数 ,试分析该系统的稳定性。 解: 画出系统零极点图代码如下: num=[626620]; den=[18364010]; pzmap(num,den) 输出结果为: 可以看出系统的几点都在左半平面中,所以该系统为稳定系统。 3-8.某小功率随动系统动态结构如下图所示,已知: 若系统输入分别为 ,适用simulink分析系统的输出 分别如何? (1)输入为1(t): 输出为: (2)输入为t时: 输出: (3)输入为l(t)-l(t-1.5)时: 1月7日上机作业三: 4-2设典型闭环结构控制系统如图4-47所示,当阶跃输入幅值 时,用sp4_1.m求取输出 的响应。 解: 代码为: a=[0.0160.8643.273.421]; b=[3025]; X0=[0000];%系统状态向量初值为零 V=2;%反馈系数 n=4; T0=0;Tf=10; h=0.01;R=20; sp4_1; plot(t,y) 输出结果为: 4-8求图4-49非线性系统的输出响应y(t),并与无非线性环节情况进行比较。 解: 程序代码为: P=[0.110.51;01200;2110;10110]; WIJ=[101;14-1;211;321;431]; Z=[0000]; S=[0000]; h=0.01; L1=25; n=4; T0=0 Tf=20; nout=4; Y0=10; sp4_4; plot(t,y,'r') holdon Z=[4000];S=[5000];%第一个线性环节后有饱和非线性,参数值为5。 sp4_4; plot(t,y,'--') 输出结果为: 5-1设控制系统的开环传递函数为 试画出该系统的根轨迹。 解: 程序代码为: clear; clc; num=[11]; a=[10]; b=[1-1]; c=[1416]; d=conv(a,b); den=conv(d,c); rlocus(num,den) gridon 输出结果为: 5-2某反馈控制系统的开环传递函数为 试绘制其根轨迹。 解: 代码为: clear; clc; num=1; den=conv(conv([1,0],[1,4]),[1,4,20]); rlocus(num,den) gridon 输出结果为: 5-3.已知某系统传递函数为 试绘制其伯德图。 解: 程序代码为: k=80*200; num=[1100]; a=[2.5100]; b=[(1/200)2*0.3200]; den=conv(a,b); w=logspace(-1,1,100); [m,p]=bode(k*num,den,w); subplot(2,1,1); semilogx(w,20*log10(m)); grid; xlabel('Frequency(rad/sec)'); ylabel('Gain(dB)'); subplot(2,1,2); semilogx(w,p); grid; xlabel('Frequency(rad/s)'); ylabel('Phase(deg)'); 输出结果为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制系统 数字 仿真 CAD 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)