MATLAB仿真实验模板新Word文档格式.docx
- 文档编号:5018594
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:30
- 大小:411.52KB
MATLAB仿真实验模板新Word文档格式.docx
《MATLAB仿真实验模板新Word文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB仿真实验模板新Word文档格式.docx(30页珍藏版)》请在冰点文库上搜索。
幅值'
title('
三角曲线'
gtext('
y1=5*sin(2*t)+8'
y2=5*cos(t)'
legend('
'
)
gridon
五、实验结论
实验二用MATLAB实现数学运算
1、掌握MATLAB的基本数学运算;
2、掌握MATLAB的矩阵数学运算。
1、用MATLAB实现运算
;
2、设
求
3、建立矩阵
,求
的秩。
1.y=sin(3)+sqrt(7)+5*exp(3)+log(5)
y=
104.8240
2.t=[1,2,4];
t.*t
ans=
1416
t.*t.*t.*t.*t
1321024
3.A=[123;
456;
789];
B=[1;
3;
6];
A*B
25
55
85
rank(A)
2
运算结果:
1.y=104.8240
2.
=[1416],
=[1321024]
3.
=
的秩为2.
实验三M函数的编写与应用
1、掌握MATLAB的M函数的编写方法;
2、掌握MATLAB的M函数的简单应用。
1、在MATLAB中建立M文件,内容为:
G1=zpk([],[0-2],40);
sys1=feedback(G1,1);
step(sys1,'
k:
'
Gc=tf([0.51],[0.051]);
sys2=feedback(G1*Gc,1);
step(sys2,'
k'
ylabel('
校正前后阶跃响应曲线对比图'
校正前系统'
校正后系统'
2、将上述内容改为M函数调用形式
G1=zpk([],[0-2],40)
Zero/pole/gain:
40
-------
s(s+2)
Gc=tf([0.51],[0.051])
Transferfunction:
0.5s+1
----------
0.05s+1
cqjt(G1,Gc)
实验四Simulink工具箱的使用
1、熟悉Simulink工具箱;
2、掌握Simulink中建立系统模型的方法。
1、用simulink实现下列程序语句:
IntC=0;
If
;
C++;
ElseC--。
2、用simulink建立subsystem,内容为正弦波发生器
,要求幅值、频率和初相任意可调。
1.按下图建好模块。
2.建立正弦波发生器
的仿真模型如下所示:
实验五MATLAB中数据的导入和导出
1、理解MATLAB的workspace和simulink模型窗口之间的数据交换;
2、掌握MATLAB的数据交换工具的使用。
1、在simulink中建立模型
,将其分别采用out1和toworkspace工具将数据导入workspace中;
2、将1中得到的workspace中数据分别采用in1和fromworkspace工具导入simulink模型窗口并用示波器观察;
3、当
分别为1、1.5、2和2.5时,在simulink中将模型
波形导入workspace中并在命令窗口中绘制波形(要求所有波形绘制在同一张图上)。
1.
在MATLAB中输入plot(tout,simout);
可以导出示波器图形。
2.在fromworkspace中将DATA下的数据改为[tout,yout]即可。
得到的示波器图形如下:
在模块中将simulation中dataimport中数据input改为[tout,yout],得到的示波器图形如上右图:
3.当
分别为1、1.5、2和2.5时,
波形如下:
实验六MATLAB建立控制系统模型
1、掌握MATLAB/Simulink仿真的基本知识;
2、熟练应用MATLAB软件建立控制系统模型。
已知单位负反馈控制系统开环传递函数为
,其中,A表示自己学号最后一位数(可以是零),B表示自己学号的最后两位数。
1、用Simulink建立该控制系统模型,分别用单踪、双踪示波器观察模型的阶跃响应曲线;
分别用“ToWorkspace”和“out1”模块将响应参数导入工作空间并在命令窗口绘制该模型的阶跃响应曲线;
2、在MATLAB命令窗口分别建立该控制系统的传递函数模型和零极点模型,并实现模型之间的相互转换。
1.单踪示波器双踪示波器
双踪示波器
2.传递函数模型
num=[4];
den=[4,21,5,0]
den=
42150
G=tf(num,den)
4
--------------------
4s^3+21s^2+5s
转换成零极点模型
[z,p,k]=tf2zp(num,den)
z=
Emptymatrix:
0-by-1
p=
0
-5.0000
-0.2500
k=
1
G=zpk([z],[p],[k])
----------------
s(s+5)(s+0.25)
零极点模型
z=[],p=[0,-5,-1/4];
k=4
z=[]
转换成传递函数模型
[num,den]=zp2tf(z,p,k)
num=
0004
1.00005.25001.25000
-----------------------
s^3+5.25s^2+1.25s
实验七控制系统时域分析的MATLAB实现
1、熟练应用MATLAB/Simulink进行时域分析;
2、能用MATLAB软件进行时域性能指标的求取。
1、用Simulink建立该控制系统模型,分别用示波器观察模型的单位阶跃、单位斜坡和单位加速度输入信号的响应曲线;
用“ToWorkspace”或者“out1”模块将三种响应数据导入工作空间并在命令窗口绘制该模型的对应响应曲线(要求在一张图中画出);
求该系统在单位阶跃、单位斜坡和单位加速度输入信号输入时的稳态误差。
2、在命令窗口建立该控制系统模型,求取该控制系统的常用性能指标:
超调量、上升时间、调节时间、峰值时间。
(方法自选)
1.单位阶跃信号的响应曲线。
稳态误差。
2.单位斜坡信号的响应曲线。
稳态误差
3.单位加速度输入信号的响应曲线。
在一张图中画出。
2.
,其中A=B=4,
实验程序
sys=tf([4],[454])
---------------
4s^2+5s+4
G=zpk(sys)
------------------
(s^2+1.25s+1)
C=dcgain(G)
C=
1.0000
[y,t]=step(G);
plot(t,y)
grid
[Y,k]=max(y);
timetopeak=t(k)
timetopeak=
4.0638
percentovershoot=100*(Y-C)/C
percentovershoot=
8.0778
n=1;
whiley(n)<
C
n=n+1;
end
risetime=t(n)
risetime=
2.9153
i=length(t);
while(y(i)>
0.98*C)&
(y(i)<
1.02*C)
i=i-1;
end
settlingtime=t(i)
settlingtime=
5.9190
超调量
上升时间
调节时间
峰值时间
实验八控制系统根轨迹分析法的MATLAB实现
1、掌握用MATLAB绘制控制系统零极点图和根轨迹图的方法;
2、掌握用系统的根轨迹分析控制系统性能的方法。
1、已知单位负反馈控制系统的开环传递函数为G(s)
其中,A表示自己学号最后一位数(可以是零),B表示自己学号的最后两位数,C表示自己班级号(7或者8)。
(1)绘制该系统的根轨迹,并分析使该系统稳定的开环增益范围;
(2)将该控制系统用rltool工具进行分析和设计,绘制该系统对应的阶跃响应曲线和伯德图。
如果系统不稳定,设计补偿器使其稳定。
(3)假设该系统是正反馈系统,试绘制该正反馈系统当K从零变化到无穷时的根轨迹。
2、已知单位负反馈系统开环传递函数为
其中,B表示自己学号最后两位数。
试绘制当m从零变化到无穷时的根轨迹图。
1
(1).G=zpk([],[-9,-1/4,-4],1/4);
rlocus(G)
根轨迹图'
从图中可知Kth=2.01e+003,开环增益范围为0<
K<
2.01e+003.
(2).阶跃响应曲线。
在第一问的基础上输入rltool(G),在analysis中的responsetocommand下的图形中用鼠标右键点击选择closedtoloop:
rtoy.
伯德图.
在上面的基础上输入bode(G)title('
伯德图'
),即可。
(3).根轨迹。
2.当m从零变化到无穷时的根轨迹图如下:
G=zpk([],[0,-14],4);
实验九控制系统频域分析法的MATLAB实现
1、掌握用MATLAB绘制乃奎斯特曲线和伯德图的方法;
2、掌握用MATLAB函数进行控制系统频域稳定性判定的方法;
3、能用MATLAB求取频域性能指标。
已知一高阶系统开环传递函数为
1、当开环增益K=1,7,10,20,30时,试分别在一个图中绘制系统的奈氏曲线和伯德图(要求必要的批注)。
2、用奈氏判据判断系统稳定性;
3、用MATLAB计算上面控制系统的相角裕度和模值裕度,并判断系统稳定性。
1.实验程序
G=zpk([-9],[0,-5/4,-4,-10],1/4);
nyquist(G)
奈氏曲线'
K=1'
holdon
G=zpk([-9],[0,-5/4,-4,-10],7/4);
nyquist(G);
K=7'
G=zpk([-9],[0,-5/4,-4,-10],5/2);
K=10'
G=zpk([-9],[0,-5/4,-4,-10],5);
K=20'
G=zpk([-9],[0,-5/4,-4,-10],2/15);
K=30'
k=1'
k=7'
k=10'
k=20'
k=30'
奈氏曲线如下图所示:
实验程序:
bode(G)
伯德图如下所示:
2.奈氏判据判断系统稳定性.
rlocus(G);
gridon;
[k,poles]=rlocfind(G)
Selectapointinthegraphicswindow
selected_point=
-0.0059-0.0311i
0.6985
poles=
-10.0003
-4.0131
-1.2040
-0.0325
根轨迹'
从图中可知系统是稳定的。
3.G=zpk([-9],[0,-5/4,-4,-10],1/4)
0.25(s+9)
s(s+1.25)(s+4)(s+10)
[Gm,Pm,Wcp]=margin(G)
Gm=
122.7843
Pm=
87.3244
Wcp=
2.3003
模值裕度122.7843,相角裕度87.3244。
系统是稳定的。
实验十用MATLAB实现控制系统的校正与综合
1、掌握用MATLAB/Simulink进行PID控制器的设计与分析;
2、掌握用rltool工具进行控制系统校正和设计的方法;
1、设单位负反馈控制系统前向通道传递函数为
要求:
在一个图中绘制出P、PI、PID整定后系统的单位阶跃响应曲线,并进行简单的性能分析。
(说明:
用Simulink模型窗口或编程均可)
2、已知系统开环传递函数为
,试设计超前校正环节,使其校正后系统的静态误差系数小于等于6,相角裕度大于等于45度,并绘制校正前后的单位阶跃响应曲线,开环伯德图和开环奈奎斯特曲线。
(提示:
可以用编程法和rltool工具分析)
1.
(1)开环单位阶跃响应曲线
Simulink模型。
(2)系统P控制的单位阶跃响应曲线。
建立Simulink模型如下:
得到的系统P控制的单位阶跃响应曲线如下。
(3)系统PI控制的单位阶跃响应曲线
系统PI控制的单位阶跃响应曲线如下:
(4)系统PID控制的单位阶跃响应曲线。
系统PID控制的单位阶跃响应曲线如下:
2.采用编程法设计超前校正。
实验程序如下:
functionGc=cqjz_frequency(G,kc,yPm)
G=tf(G)
[mag,pha,w]=bode(G*kc);
Mag=20*log10(mag)
[Gm,Pm,Wcg,Wcp]=margin(G*kc)
phi=(yPm-Pm)*pi/180;
alpha=(1+sin(phi))/(1-sin(phi))
Mn=-10*log10(alpha);
Wcgn=spline(Mag,w,Mn)
T=1/Wcgn/sqrt(alpha);
Tz=alpha*T
Gc=tf([Tz,1],[T,1])
主程序:
num=1;
den=conv([1,0],conv([0.3,1],[0.1,1]));
G=tf(num,den);
kc=3;
yPm=45+12;
Gc=cqjz_frequency(G,kc,yPm)
G=G*kc;
GGc=G*Gc;
Gy_close=feedback(G,1);
Gx_close=feedback(GGc,1);
figure
(1);
step(Gx_close,'
step(Gy_close,'
grid
gtext('
校正前的'
校正后的'
figure
(2);
bode(G,'
bode(GGc,'
figure(3);
nyquist(Gx_close,'
nyquist(Gy_close,'
校正前后系统的单位阶跃响应图:
校正前后系统的伯德图:
校正前后系统的开环奈奎斯特曲线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 仿真 实验 模板