MATLAB论文.docx
- 文档编号:3572546
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:15
- 大小:66.43KB
MATLAB论文.docx
《MATLAB论文.docx》由会员分享,可在线阅读,更多相关《MATLAB论文.docx(15页珍藏版)》请在冰豆网上搜索。
MATLAB论文
MATLAB在自动控制原理中的应用
摘要:
针对《自动控制原理》课程的特点,本文将这款MATLAB软件引入到学习中,对学习中遇到的问题(例如:
控制系统建模、控制系统时域分析、线性系统的根轨迹、控制系统的频域分析、控制系统的校正等)进行详尽的解答,并从中反映对于MATLAB引入此课程中的重要性,从而更好的促进对于《自动控原理》的深入学习,而且更有利于提高学生的自学和创新能力,培养其兴趣以及增强学习的积极性。
关键词:
MATLAB自动控制原理应用
目录:
一.引言
二.MATLAB的概述
三.MATLAB在《自动控制原理》学习中的应用
1.控制系统建模
2.控制系统时域分析
3.线性系统的根轨迹
4.控制系统的频域分析
5.控制系统的校正
四.学习感受
五.结束语
六.参考文献
一.引言
在进行自动控制原理的学习中,往往需要进行大量的数学运算,在当今计算机时代,可以借助高级语言编制计算程序,但是这需要熟练的掌握所运用的语法规则与编制程序的相关规定,而且编制程序不容易,费时费力。
由于MATLAB的使用极其容易,不要求使用者具备高深的数学与程序语言的知识,不需要使用者深刻了解算法与编程技巧,且提供了丰富的矩阵处理功能,因此控制理论领域的研究人员很快注意到了这样的特点。
尤其MATLAB应用在电厂自动化专业的的计算机仿真上,更体现出它巨大的优越性和简易性。
二.MATLAB的概述
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
三.MATLAB在《自动控制原理》学习中的应用
1.控制系统建模
(1)系统传递函数模型描述
*当传递函数为
时,则在MATLAB中,直接用分子/分母的系数形式表示即:
num=[b0,b1…bm];
den=[a0,a1…an];
G(s)=tf[num,den]
例1:
解:
借助多项式乘法函数conv来处理如下
>>num=4*conv([1,2],conv([1,6,6],[1,6,6]));
>>den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5]))));
>>G=tf(num,den)
G=
4s^5+56s^4+288s^3+672s^2+720s+288
-----------------------------------------------------
s^7+6s^6+14s^5+21s^4+24s^3+17s^2+5s
(2)模型转换
*模型转换的函数包括:
residue:
传递函数模型与部分分式模型互换
ss2tf:
状态空间模型转换为传递函数模型
ss2zp:
状态空间模型转换为零极点增益模型
tf2ss:
传递函数模型转换为状态空间模型
tf2zp:
传递函数模型转换为零极点增益模型
zp2ss:
零极点增益模型转换为状态空间模型
zp2tf:
零极点增益模型转换为传递函数模型
例2:
零极点增益模型
>>num=[1,11,30,0];
>>den=[1,9,45,87,50];[z,p,k]=tf2zp(num,den)
z=
0
-6.0000
-5.0000
p=
-3.0000+4.0000i
-3.0000-4.0000i
-2.0000
-1.0000
k=
1
>>G=tf(num,den)
G=
s^3+11s^2+30s
--------------------------------
s^4+9s^3+45s^2+87s+50
(3)系统连接
并联连接sys=parallel(sys1,sys2)
串联连接sys=series(sys1,sys2)
反馈连接sys=feedback(sys1,sys2,sign)
说明:
sysX代表模块X,sign缺省时,为负.”1”表示单位反馈,”-1”表示负反馈
闭环:
[numc,denc]=cloop(num,den,sign)
说明:
由传递函数表示的开环系统构成闭环系统,sign为”1”时,表示正反馈,为”-1”时,表示负反馈
例3:
>>G1=tf([1],[110]);
>>G2=tf([1],[11]);
>>G3=tf([101],[144]);
>>numg4=[11];deng4=[16];G4=tf(numg4,deng4);
>>H1=zpk([-1],[-2],1);
>>numh2=[2];denh2=[1];H3=1;
>>nh2=conv(numh2,deng4);dh2=conv(denh2,numg4);
>>H2=tf(nh2,dh2);
>>sys1=series(G3,G4);
>>sys2=feedback(sys1,H1,+1);
>>sys3=series(G2,sys2);
>>sys4=feedback(sys3,H2);
>>sys5=series(G1,sys4);
>>sys=feedback(sys5,H3)
sys=
0.083333(s+1)^2(s+2)(s^2+1)
---------------------------------------------------------
(s+10.12)(s+2.44)(s+2.349)(s+1)(s^2+1.176s+1.023)
2.控制系统时域分析
(1)稳定性分析
调用roots命令求取特征根,进而判别系统的稳定性
(2)动态性能分析
1)单位脉冲响应———命令格式:
y=impulse(sys,t)
2)单位阶跃响应———命令格式:
step(sys,t)
3)任意输入响应———命令格式:
lsim(sys,u,t,x0)
***说明***u表示输入,x0设定初始状态
4)零输入响应———命令格式:
y=initial(sys,x0,t)x0作用同上
(3)综合应用
例1:
某系统的传递函数为G(s)=5s+100/s4+2s3+16s2+18s+18,输入为u=1+exp(-t)*cos(5t),当系统的初始条件为零时,求出其时域响应
解:
>>num=[5100];
>>den=[12161818];
>>G=tf(num,den);
>>t=0:
0.04:
4;
>>u=1+exp(-t).*cos(5*t);
>>Y=lsim(G,u,t);
>>plot(t,Y,'o',t,u,'-')
例2:
已知系统的闭环传递函数为Φ(s)=16/s2+8ζs+16,其中ζ=0.707.求二阶系统的单位脉冲响应、单位阶跃响应和单位斜坡响应。
解:
>>zeta=0.707;
>>num=[16];den=[18*zeta16];
>>sys=tf(num,den);
>>p=root(den)
p=
-2.8280+2.8289i
-2.8280-2.8289i
>>t=0:
0.01:
3;
>>figure
(1)
>>impulse(sys,t);grid
>>impulse(sys,t);grid
>>step(sys,t);grid
>>u=t;
>>lsim(sys,u,t,0);grid
(3)线性系统的根轨迹
1)绘制零、极点分布图———命令格式:
[p,z]=pzmap(sys)
2)绘制根轨迹图
例1:
G(s)=k/s(s2+2s+2)(s2+6s+13)的根轨迹绘制
解:
>>num=[1];
>>den=[182738260];
>>rlocus(num,den)
>>rlocfind(num,den)%确定增益及其相应位置的闭环极点
***说明***执行rlocfind命令后,根轨迹图上会出现“+”提示符,通过鼠标将提示符移到根轨迹相应的位置,然后按回车键,所对应闭环极点及其对应的参数K就会在命令行中显示。
4.控制系统的频域分析
1)伯德图———[mag,phase,w]=bode(sys)%幅值mag、相角phase
[Gm,Pm,Wcg,Wcp]=margin(sys)%幅值裕度Gm、相角裕度Pm、截止频率Wcg、穿越频率Wcp
2)尼柯尔斯图———[mag,phase,w]=Nichols(sys)
3)奈奎斯特图———[re,im,w]=nyquist(sys)
例1:
已知单位负反馈系统的开环传递函数为G(s)=1280s+640/s4+24.2s3+1604.81s2+320.24s+16,试绘制其伯德图、尼柯尔斯图和奈奎斯特图,并判别闭环系统的稳定性。
解:
>>G=tf([1280640],[124.21604.81320.2416]);
>>margin(G);
>>nichols(G);axis([-2700-4040]);ngrid
>>nyquist(G);axisequal
5.控制系统的校正
例1:
设单位负反馈系统的开环传递函数G(s)=k/s(s+1),若要求系统在单位斜坡输入信号作用时,位置输出稳态误差ess(∞)<=0.1rad,开环系统截止频率ω”c>=4.4rad/s,相角裕度γ”>=45°,幅值裕度h”dB>=10dB,试设计串联无源超前网络
解:
example.m
K=1/0.1;
G0=zpk([],[0-1],K);
[h0,r,wx,wc]=margin(G0)
wm=4.4;
L=bode(G0,wm);
Lwc=20*log10(L)
a=10^(-0.1*Lwc)
T=1/(wm*sqrt(a));
phi=asin((a-1)/(a+1))
Gc=(1/a)*tf([a*T1],[T1]);
Gc=a*Gc;
G=Gc*G0;
bode(G,'r',G0,'b--');grid;
[h,r,wx,wc]=margin(G)
h0=
Inf
r=
17.9642
wx=
Inf
wc=
3.0842
Lwc=
-5.9568
a=
3.9417
phi=
0.6376
h=
Inf
r=
49.3369
wx=
Inf
wc=
4.4000
%运行M文件,得系统校正前的截止频率wc,相角裕度r,而二阶系统的幅值裕度必为+∞dB。
由于截止频率和相角裕度均低于指标要求,故采用串联超前校正是合适的。
校正后系统截止频率wc=4.4000,相角裕度r=49.3369≥45,而二阶系统的幅值裕度仍为+∞,满足设计要求
四.学习感受
Matlab的强大功能让它在各个领域方面都起着重要的作用,而自动控制原理作为一门非常难学的课程,需要一些辅助课程使其简单化,Matlab就充当着这样一个角色。
它的加入使我们学习自动控制原理又多了一种工具,能让我们更好地了解自控,同时它又具备着简单易操作等多项有点,着实让人眼前一亮。
五.结束语
通过这次论文的写作,让我重新又了解了一遍Matlab与自控之间的关系,我深刻体会到学好Matlab对于自控的重要性,若想学好自控,最好也需要学好其相关的各种工具。
众所周知,自控是一个理论性极强的学科,要想学好必须要理论与实践相结合,Matlab的模拟仿真很好的提供了这个途径。
最后,感谢老师在这学期对我们的教导,谢谢!
六.参考文献
1.计算机仿真技术与CAD———基于MATLAB的控制系统(第3版).李国勇著,电子工业出版社
2.自动控制原理(第五版),胡寿松著,科学出版社
3.全国高等学校自动化专业系列教材,薛定宇著书,清华大学出版社
4.自动控制原理习题解析(第五版),胡寿松著,科学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 论文