自动控制原理A的Matlab实现
自动控制原理课程教学中MATLAB仿真的应用
作 者 简介 :洪家 平 (94 ) 16 一 ,男 ,湖北 仙桃 人 ,副 教授 ,从 事计算 机控 制技 术 、嵌入式 系 统研 究. E ma :hnjpn5O 2 . r - i ogi ig1@16 o l a cn
Vo . 7 No2 12 . M a" l . 20 07
3 月
文章 编 号 :10 — 8 2 0 0 — 0 1 0 0 7 93 1( 0 7) 2 0 8 — 3
自动控 制原理课程 教学 中 M T A A L B仿真 的应用
洪家平
( 湖北 师范 学 院 计 算 机科学 系 ,湖北 黄石 4 50 ) 30 2
关键 词 :MA A TL B仿真 ;Smui i l k;课 程教 学 n
中图分 类号 :T 3 2: 6 2 P 1 G 4. 0 文献 标识 码 :A
0 引言
M TA A L B是一种直观 、高效 的计算机语言 ,同时也是一个科学计算平 台.它为数据分析和数据可视
化、 算法和应用程序的开发提供 了最核心 的数学和高级图形工具. 根据它提供的 50多个数学和工程函数 , 0 工程技术人员和科学工作者可以在它的集成环境中交互或编程 以完成各 自的计算.M T A A L B的另一重要的
2 自动控制原理课 程的仿真教学
灵活地使用已有的数学模型是非常重要的,它是 《 自动控制原理 》课程的基础知识之一.如果仅仅用
概念和文字介绍这些数学模型, 学生对它的理解还停 留在表面, 不能深入地理解.采用 M T A A L B中的控制 系统模块库 中的元件仿真 ,则能克服 以往教学中的不足,S un i l k的特有功能 ,更能使教学中以往不敢触 m i 及 的问题得到扩展和深入 ,能更形象化地反映控制系统的动态变化过程. 例 如 :某 一 对 象 为 三 阶传 递 函数 G (=2 50 s 8 . s 140) p ) 30/ 7 5 07 s,低 通 滤 波 器 的 传 递 函数 为 s5 (+ 3 + Qs 1o 4+ ) (=/ . s 1 ) (0 ,采样时间为 1m ,如图 1 s 和图 2 分别是不加低通滤波器和增加低通滤波器时的 M T A ALB 仿真输出.从 2 个仿真图就可以直观地看出该系统在增加低通滤波器前后的过渡过程的不同p .
(最新版)自动控制原理MATLAB仿真实验报告
实验一 MATLAB及仿真实验(控制系统的时域分析)一、实验目的学习利用MATLAB进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;二、预习要点1、系统的典型响应有哪些?2、如何判断系统稳定性?3、系统的动态性能指标有哪些?三、实验方法(一)四种典型响应1、阶跃响应:阶跃响应常用格式:1、;其中可以为连续系统,也可为离散系统。
2、;表示时间范围0---Tn。
3、;表示时间范围向量T指定。
4、;可详细了解某段时间的输入、输出情况。
2、脉冲响应:脉冲函数在数学上的精确定义:其拉氏变换为:所以脉冲响应即为传函的反拉氏变换。
脉冲响应函数常用格式:①;②③(二)分析系统稳定性有以下三种方法:1、利用pzmap绘制连续系统的零极点图;2、 利用tf2zp 求出系统零极点;3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.四、实验内容 (一) 稳定性1. 系统传函为()27243645232345234+++++++++=s s s s s s s s s s G ,试判断其稳定性2. 用Matlab 求出的极点。
%Matlab 计算程序num=[3 2 5 4 6];den=[1 3 4 2 7 2];G=tf(num,den);pzmap(G);p=roots(den) 运行结果: p =-1.7680 + 1.2673i -1.7680 - 1.2673i 0.4176 + 1.1130i 0.4176 - 1.1130i -0.2991P ole-Zero MapReal AxisI m a g i n a r y A x i s-2-1.5-1-0.500.5-1.5-1-0.50.511.5图1-1 零极点分布图由计算结果可知,该系统的2个极点具有正实部,故系统不稳定。
自动控制原理 matlab实验报告
自动控制原理实验(二)一、实验名称:基于MATLAB的控制系统频域及根轨迹分析二、实验目的:(1)、了解频率特性的测试原理及方法;(2)、理解如何用MATLAB对根轨迹和频率特性进行仿真和分析;(3)、掌握控制系统的根轨迹和频率特性两大分析和设计方法。
三、实验要求:(1)、观察给定传递函数的根轨迹图和频率特性曲线;(2)、分析同一传递函数形式,当K值不同时,系统闭环极点和单位阶跃响应的变化情况;(3)、K值的大小对系统的稳定性和稳态误差的影响;(4)、分析增加系统开环零点或极点对系统的根轨迹和性能的影响。
四、实验内容及步骤(1)、实验指导书:实验四(1)、“rlocus”命令来计算及绘制根轨迹。
会出根轨迹后,可以交互地使用“rlocfind”命令来确定点击鼠标所选择的根轨迹上任意点所对应的K值,K值所对应的所有闭环极点值也可以使用形如“[K, PCL] = rlocfind(G1)”命令来显示。
(2)、波特图:bode(G1, omga)另外,bode图还可以通过下列指令得出相位和裕角:[mag,phase,w] = bode(sys)(3)、奈奎斯特图:nuquist(G, omega)(2)课本:例4-1、4-2、4-7五实验报告要求(1)、实验指导书:实验四思考题请绘制下述传递函数的bode图和nyquist图。
1. 根据实验所测数据分别作出相应的幅频和相频特性曲线;2. 将思考题的解题过程(含源程序)写在实验报告中。
幅频特性曲线相频特性曲线Gs = zpk([10], [-5; -16; 9], 200)subplot(1, 2, 1)bode(Gs)gridsubplot(1, 2, 2)nyquist(Gs)grid(2)课本:例4-1、4-2、4-7图像结果:程序:Gs = zpk([-1], [0; -2; -3],1) rlocus(Gs)图像结果:程序:Gs = zpk([-2], [-1-j; -1+j],1) rlocus(Gs)程序:K=[0.5 1 2]for i=1:1:3num=[1,1,0,0]; den=[1,1,K(i)]; sys=tf(num,den); rlocus(sys); hold ongrid onend图像结果:目标:改变增益K和转折频率依次调节源程序:k1=[4.44,10,20];num=[1,2];den=conv([1,1],[1,2,4]);%一阶转折频率 1/T(wn1=2,wn2=1)二阶转折频率 wn3=wn'=2,伊布西塔=1/2 num1=[1,1];den1=conv([1,2],[1,2,4]);%一阶转折频率 1/T(wn1=1,wn2=2)二阶转折频率 wn3=wn'=2,伊布西塔=1/2 t=[0:0.1:7]; %for i=1:3g0=tf(k1(i)*num,den);g=feedback(g0,1);[y,x]=step(g,t);c(:,i)=y;g1=tf(k1(i)*num1,den1);g(1)=feedback(g1,1);[y1,x]=step(g(1),t);c1(:,i)=y1;endplot(t,c(:,1),'-',t,c(:,2),'-',t,c(:,3),'-',t,c1(:,1),'-',t,c1(:,2), '-',t,c1(:,3),'-');gridxlabel('Time/sec'),ylabel('out')结果分析:在本题中(1)改变k值:k值越大,超调量越大,调节时间越长,峰值时间越短,稳态误差越小(2)改变转折频率:超调量,调节时间,峰值时间,稳态误差同样有相应的变化。
自动控制原理MATLAB仿真实验报告
实验一 MATLAB 及仿真实验(控制系统的时域分析)一、实验目的学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点1、 系统的典型响应有哪些2、 如何判断系统稳定性3、 系统的动态性能指标有哪些 三、实验方法(一) 四种典型响应1、 阶跃响应:阶跃响应常用格式:1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。
2、),(Tn sys step ;表示时间范围0---Tn 。
3、),(T sys step ;表示时间范围向量T 指定。
4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。
2、 脉冲响应:脉冲函数在数学上的精确定义:0,0)(1)(0〉==⎰∞t x f dx x f其拉氏变换为:)()()()(1)(s G s f s G s Y s f ===所以脉冲响应即为传函的反拉氏变换。
脉冲响应函数常用格式: ① )(sys impulse ; ②);,();,(T sys impulse Tn sys impulse③ ),(T sys impulse Y =(二) 分析系统稳定性 有以下三种方法:1、 利用pzmap 绘制连续系统的零极点图;2、 利用tf2zp 求出系统零极点;3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.四、实验内容 (一) 稳定性1. 系统传函为()27243645232345234+++++++++=s s s s s s s s s s G ,试判断其稳定性2. 用Matlab 求出253722)(2342++++++=s s s s s s s G 的极点。
%Matlab 计算程序num=[3 2 5 4 6];den=[1 3 4 2 7 2];G=tf(num,den);pzmap(G);p=roots(den)运行结果: p =+ - + -P ole-Zero MapReal AxisI m a g i n a r y A x i s-2-1.5-1-0.500.5-1.5-1-0.50.511.5图1-1 零极点分布图由计算结果可知,该系统的2个极点具有正实部,故系统不稳定。
第八章 matlab在自动控制原理中的应用
>> get(s1) num: {[0 0 3 4 5]} den: {[1 3 5 0 9]} Variable: 's' Ts: 0 ioDelay: 0 InputDelay: 0 OutputDelay: 0 InputName: {''} OutputName: {''} InputGroup: [1x1 struct] OutputGroup: [1x1 struct] Notes: {} UserData: []
>> s3=ss(s1) a= x1 x2 x3 x4 x1 -3 -1.25 0 -1.125 x2 4 0 0 0 x3 0 2 0 0 x4 0 0 1 0 b= u1 x1 1 x2 0 x3 0 x4 0 c= x1 x2 x3 x4 y1 0 0.75 0.5 0.625 d= u1 y1 0 Continuous-time model.
>> s4=ss(s2) a= x1 x2 x3 x4 x1 -1.891 1.737 -0.745 0 x2 -1.737 -1.891 -0.05194 0 x3 0 0 0.3913 2.201 x4 0 0 -0.5503 0.3913 b= u1 x1 0 x2 0 x3 0 x4 1.651 c= x1 x2 x3 x4 y1 2.714 0 0.8255 0 d= u1 y1 0 Continuous-time model.
使用时,只要输入环节的名称,不必输入其参 数矩阵。
控制系统工具箱LTI对象运算优先等级为 “状态空间>零极增益>传递函数”
实现的算法:以并联为例 算法:
f ( s) f A ( s) g B ( s) f B ( s) g A ( s) W ( s) g ( s) g A ( s) g B ( s)
自动控制原理的仿真实验
功能 光标上移一行 删除光标前一个字符 光标下移一行 删除光标后一个字符 光标左移一个字符 光标移到行尾 光标右移一个字符 删除一行 光标右移一个单词 光标移到行首 光标左移一个单词 从光标处删除到行尾
自动控制原理实验教程
MATLAB的帮助系统 (1)使用联机帮助窗口 (2)使用帮助命令help,查找已知命令的使用方法 。 (3)使用lookfor命令,通过一般关键词找到命令和帮助标 题。 (4)演示帮助 在命令窗口执行demos命令
(4)学会使用Simulink模型结构图化简复杂控制系统模型的方法。
2014-6-25
自动控制原理实验教程
二、控制系统模型的建立
控制系统常用的数学模型有四种:传递函数模型(tf对 象)、零极点增益模型(zpk对象)、结构框图模型和状 态空间模型(ss对象)。经典控制理论中数学模型一般 使用前三种模型,状态空间模型属于现代控制理论范畴。 1、传递函数模型(也称为多项式模型) 连续系统的传递函数模型为:
K为系统增益,
z1,z2,…,zm为系统零点,
p1,p2,…,pn为系统极点。
在MATLAB中,用向量z,p,k构成矢量组 [ z, p, k ] 表示系 统。即z = [ z1, z2 ,…,zm ] ,p = [ p1, p2,…, pn ] ,k = [ k ]
用函数命令zpk ( ) 来建立系统的零极点增益模型,其函 数调用格式为: sys = zpk ( z, p, k )
b0 s m b1 s m1 ... bm num(s) G( s ) , n n 1 den(s) a0 s a1 s ... an nm
在MATLAB中用分子、分母多项式系数按s的降幂次序 构成两个向量: num = [ b0 , b1 ,…, bm ] ,den = [ a0 , a1 ,…, an]。
利用MATLAB来改进自动控制原理实验
6 8・
实 验 科 学 与 技 术
20 0 8年 1 0月
利 用 MA L B来 改 进 自动控 制原 理 ቤተ መጻሕፍቲ ባይዱ 验 TA
盖彦荣 ,玄金红 ,宋学君 ,李晓亮
(. 1 河北师范大学物理科学与信息工程学院,石家庄 0 0 1 ;( )河北省制 图院,石家庄 0 0 3 ) 50 6 2 50 1
a ay i d smu ai n w t r h t iu iain s f a e t a r vd d mar e t n d t e f n t n d a n i n o r n s a i l t i a t mei vs a z t ot r .I h s p o i e t x t ame t l sn o h i c l o w i r n a h ci r w g b g a d p we — u o i f l o u e — i e in s i b et d en c n r l h oy u ,c mp trad d sg ut l omo r o t e r .Au o t o to h o oc ry o t h a in esu yn n Au o t a ot t mai C n r l e r i t ar u e rt a td i go t ma — c T y s t ol
i o t lS se c C n r y t m, c r c h n t bl y ia c r c n e te s C ty o ta ay i s c el c e n g i s , s d n i a t o o o r tt e i sa i t , n c u a y a d f en s a u lss e r t s h mi g a an t t y a mp c f e i l T n y u
自动控制原理MATLAB分析与设计-仿真实验报告
兰州理工大学《自动控制原理》MATLAB分析与设计仿真实验报告院系:电气工程与信息工程学院班级:电气工程及其自动化四班姓名:学号:时间:年月日电气工程与信息工程学院《自动控制原理》MATLAB 分析与设计仿真实验任务书(2014) 一、仿真实验内容及要求 1.MATLAB 软件要求学生通过课余时间自学掌握MATLAB 软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB 仿真集成环境Simulink 的使用。
2.各章节实验内容及要求1)第三章 线性系统的时域分析法∙ 对教材第三章习题3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;∙ 对教材第三章习题3-9系统的动态性能及稳态性能通过仿真进行分析,说明不同控制器的作用;∙ 在MATLAB 环境下选择完成教材第三章习题3-30,并对结果进行分析; ∙ 在MATLAB 环境下完成英文讲义P153.E3.3;∙ 对英文讲义中的循序渐进实例“Disk Drive Read System”,在100=a K 时,试采用微分反馈控制方法,并通过控制器参数的优化,使系统性能满足%5%,σ<3250,510s ss t ms d -≤<⨯等指标。
2)第四章 线性系统的根轨迹法∙ 在MATLAB 环境下完成英文讲义P157.E4.5; ∙ 利用MATLAB 绘制教材第四章习题4-5;∙ 在MATLAB 环境下选择完成教材第四章习题4-10及4-17,并对结果进行分析;∙ 在MATLAB 环境下选择完成教材第四章习题4-23,并对结果进行分析。
3)第五章 线性系统的频域分析法∙ 利用MATLAB 绘制本章作业中任意2个习题的频域特性曲线;4)第六章 线性系统的校正∙ 利用MATLAB 选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能;∙ 利用MATLAB 完成教材第六章习题6-22控制器的设计及验证;∙ 对英文讲义中的循序渐进实例“Disk Drive Read System”,试采用PD控制并优化控制器参数,使系统性能满足给定的设计指标ms t s 150%,5%<<σ。
自动控制原理MATLAB仿真实验报告
实验一 典型环节的MATLAB 仿真 一、实验目的1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、实验内容① 比例环节1)(1=s G 和2)(1=s G ;Simulink 图形实现:示波器显示结果:② 惯性环节11)(1+=s s G 和15.01)(2+=s s GSimulink 图形实现:示波器显示结果:③ 积分环节s s G 1)(1Simulink 图形实现:示波器显示结果:④ 微分环节s s G )(1Simulink 图形实现:波器显示结果:⑤ 比例+微分环节(PD )2)(1+=s s G 和1)(2+=s s G1)、G1(s )=s+2Simulink 图形实现:示波器显示结果:2)、G2(s)=s+1 Simulink图形实现:示波器显示结果:⑥ 比例+积分环节(PI )s s G 11)(1+=和s s G 211)(2+=1)、G1(1)=1+1/sSimulink 图形实现:示波器显示结果:2)G2(s)=1+1/2s Simulink图形实现:示波器显示结果:三、心得体会通过这次实验我学到了很多,对课本内容加深了理解,熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法,加深对各典型环节响应曲线的理解,这为对课程的学习打下了一定基础。
实验二线性系统时域响应分析一、实验目的1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
2.通过响应曲线观测特征参量ζ和nω对二阶系统性能的影响。
3.熟练掌握系统的稳定性的判断方法。
二、实验内容1.观察函数step( )的调用格式,假设系统的传递函数模型为243237()4641s s G s s s s s ++=++++绘制出系统的阶跃响应曲线?2.对典型二阶系统222()2n n n G s s s ωζωω=++1)分别绘出2(/)n rad s ω=,ζ分别取0,0.25,0.5,1.0和2.0时的单位阶跃响应曲线,分析参数ζ对系统的影响,并计算ζ=0.25时的时域性能指标,,,,p r p s ss t t t e σ。
《自动控制原理》Matlab求解控制系统时域响应实验一
《自动控制原理》Matlab求解控制系统时域响应实验一、实验目的(1)学习控制系统在阶跃信号、脉冲信号、速度函数、加速度函数等不同输入信号下的响应(2)通过计算机的仿真图形观测二阶控制系统的时域响应曲线。
(3)改变ξ和ωn,观测参数变化时对典型环节时域响应的影响。
二、实验仪器Matlab7.0,计算机三、实验原理1、求解连续系统时域响应的MATLAB函数Impulse函数计算/绘制连续系统的单位脉冲响应句法:step函数lsim函数计算/绘制连续系统在0~t时间内的对任意输入u的响应。
上述函数句法中带输出变量引用时,得到系统的时域响应数据而不直接显示响应曲线,此时需通过绘图命令plot查看响应曲线。
四、实验内容及步骤(分析:无阻尼固有频率一定,阻尼比越小,系统超调量越大,振荡越厉害)五、实验原始数据记录与数据处理当ζ=0.7,ωn取2、4、6、8、10、12时的单位阶跃响应曲线。
六、实验结果与分析讨论无阻尼固有频率一定,阻尼比越小,系统超调量越大,振荡越厉害。
阻尼比一定,无阻尼固有频率越大,系统能更快达到稳定值,响应的快速性越好七、结论控制系统在阶跃信号、脉冲信号、速度函数、加速度函数等不同输入信号下的响应不同,无阻尼固有频率一定,阻尼比越小,系统超调量越大,振荡越厉害。
阻尼比一定,无阻尼固有频率越大,系统能更快达到稳定值,响应的快速性越好。
八、实验心得体会(可略)通过这次实验我学到了很多,首先是对单位脉冲响应,单位加速度响应,单位速度响应,单位阶跃响应有了一定的认知,对matlab软件有了更深的认识,会使用的功能越来越多了,希望在今后的学习生涯中能学到更多的知识。
广东工业大学《自动控制原理》MATLAB仿真实验指导书
自动控制原理MATLAB仿真实验指导书李明编写广东工业大学自动化学院自动控制系二〇一四年九月实验项目名称:实验一线性系统的时域响应实验项目性质:MATLAB仿真实验所属课程名称:自动控制原理实验计划学时:2学时一、实验目的1.熟悉控制系统MATLAB仿真的实验环境。
2.掌握使用MATLAB进行系统时域分析的方法,研究一阶系统和二阶系统的时域响应特性。
二、实验环境装有MATLAB6.5或以上版本的PC机一台。
三、实验内容和要求1.了解和掌握MATLAB中传递函数表达式及输出时域函数表达式。
2.利用MATALB观察和分析一阶系统的阶跃响应曲线,了解一阶系统的参数:时间常数对一阶系统动态特性的影响。
3.掌握典型二阶系统模拟电路的构成方法;研究二阶系统运动规律。
研究其重要参数:阻尼比对系统动态特性的影响,分析与超调量%、过渡过程时t的关系。
间s四、实验方法1.MATLAB中建立传递函数模型的相关函数(1)有理分式降幂排列形式: tf()(2)零极点增益模型: zpk()(3)传递函数的连接方式: series(), parallel(), feedback()2.MATLAB中分析系统稳定性的相关函数(1)利用pzmap()绘制连续系统的零极点图;(2)利用roots()求分母多项式的根来确定系统的极点3.MATLAB中分析线性系统的时域响应的相关函数(1)生成特定的激励信号的函数gensig( )(2) LTI 模型任意输入的响应函数lsim( ) (3) LTI 模型的单位冲激响应函数impulse( ) (4) LTI 模型的阶跃响应函数step( )五、 实验步骤1. 线性系统的稳定性分析(1) 若线性系统的闭环传递函数为225()425G s ss,试绘制其零极点分布图,并据此判断系统的稳定性。
(2) 若线性系统的闭环传递函数为229(0.21)()( 1.29)s s G s s s s ,求出该闭环传递函 数的所有极点,并据此判断系统的稳定性。
自动控制原理Matlab仿真应用
控制系统的MATLAB 仿真1 MATLAB 简介MATLAB 是Mathworks 公司开发的一种集数值计算、符号计算和图形可视化三大基本功能于一体的功能强大、操作简单的优秀工程计算应用软件。
MATLAB 不仅可以处理代数问题和数值分析问题,而且还具有强大的图形处理及仿真模拟等功能。
从而能够很好的帮助工程师及科学家解决实际的技术问题。
MATLAB 的含义是矩阵实验室(Matrix Laboratory ),最初主要用于方便矩阵的存取,其基本元素是无需定义维数的矩阵。
经过十几年的扩充和完善,现已发展成为包含大量实用工具箱(Toolbox )的综合应用软件,不仅成为线性代数课程的标准工具,而且适合具有不同专业研究方向及工程应用需求的用户使用。
MATLAB 最重要的特点是易于扩展。
它允许用户自行建立完成指定功能的扩展MATLAB 函数(称为M 文件),从而构成适合于其它领域的工具箱,大大扩展了MATLAB 的应用范围。
目前,MATLAB 已成为国际控制界最流行的软件,控制界很多学者将自己擅长的CAD 方法用MATLAB 加以实现,出现了大量的MATLAB 配套工具箱,如控制系统工具箱(control systems toolbox ),系统识别工具箱(system identification toolbox ),鲁棒控制工具箱(robust control toolbox ),信号处理工具箱(signal processing toolbox )以及仿真环境SIMULINK 等。
(1) MATLAB 的安装本节将讨论操作系统为Microsoft Windows 环境下安装MATLAB6的过程。
将MATLAB6的安装盘放入光驱,系统将自动运行auto-run.bat 文件,进行安装;也可以执行安装盘内的setup.exe 文件启动MATLAB 的安装程序。
启动安装程序后,屏幕将显示安装MATLAB 的初始界面,根据Windows 安装程序的常识,不断单击[Next],输入正确的安装信息,具体操作过程如下:输入正确的用户注册信息码;选择接收软件公司的协议;输入用户名和公司名;选择MATLAB 组件(Toolbox );选择软件安装路径和目录;单击[Next]按钮进入正式的安装界面。
Matlab软件在自动控制原理教学中的应用
带干 髂 奄脚 设 置’ 撵雠 量 新 靛
1 引言 . 真工作平台 。用模块 组合的方法使用 户能够快速 、准确地 创建 《 自动 控制 原理 》 这 门课 程涉及 到控 制 系统 的模 型建 立 、 动态系统的计算机模型。Smui k模型可以用来模拟几乎所有 i l n 系统 分析 、系统设计 的基本理 论和相 关技 术 。其特 点是概 念 可遇到的动态 系统 ,如模拟线性或 非线性 、连续或离散或者两
的促 进 作 用 。
2 Mal 及其仿真模块 软件Smui . tb a i l n Malb语言是集数值计算 、符号运算和 图形处理 等强大功 t a 能干一体的科学计 算语言 , 适用于 工程应用领域 的分析 、设计 和复杂计算 , 而且易学易用, 不要求使用者具备高深的数学知识和 编程技巧 , 已成为大学教学和科研 中最常用的工具 , 现 掌握该工具
如果想把编辑好的 视频保存在自己的硬 盘 里 面 ,则 选 择 保 存 到 我 的 计 算 机 ;如果 想 刻成 C D保存下来 ,则 选择保存到 C D;如果 想通 过 电子邮件发 送 , 则选择通过 电子邮件发 送 ,但 是 对 文 件 的 大 小 是 有 限 制 的 , 不 能 超过 l ;如果想录 到 M 录像 带上 , 则选择发送 到D V摄像机上 。在保
图 1为一液 体储 槽液位控 制 系统 ,有液体的 流入和流 出 , 工艺上要求通过控 制流 人的流量 Ql 来控制 储槽液位 h, 通过机理 建模法得到该系统的数学模 型为 一阶微 分方 程 ,即 . d I 1 ~ d t… ~
.
…
将大 大 提高 课程 教 学 、解题 作业 、分 析研 究 的效 率 。 式 中, A——储槽截面积 S mu i k是一种用于 实现计算 机仿真的软 件工具 。它是 i ln R 一 流 出 阀 的阻 力 系 Malb的一个附加组件 ,用来提 供一个系统级的建模 与动态仿 数 。 t a
自动控制原理的MATLAB仿真与实践第5章 线性系统的频域分析
7
【例5-1】 试绘制惯性环节G(jω)=1/(2s+1)的Nyquist曲线 和Bode图。
解:程序如下:
>>clear
G=tf(1,[2,1]); %建立模型
nyquist (G); %绘制Nyquist图
figure(2); bode (G); %绘制Bode图
4
ngrid;ngrid(‘new’):绘制尼科尔斯坐标网格即等 20lgM圆和等角曲线组成的网格。‘new’代表清除以前 的图形,与后一个nichols()一起绘制网格。
semilogx(w,20*log10(mag)):绘制半对数坐标下的幅 频特性曲线。
semilogx(w,phase*180/pi):绘制半对数坐标下的相频 特性曲线。
MATLAB提供了许多用于线性系统频率分析 的函数命令,可用于系统频域的响应曲线、参数分析 和系统设计等。常用的频率特性函数命令格式及其功 能见表5-1。 bode (G):绘制传递函数的伯德图。其中:G为传递
函数模型,如:tf(), zpk(), ss()。 bode(num,den):num,den分别为传递函数的分子与
本节分别介绍利用MATLAB进行频域绘图和频 率分析的基本方法。
6
5.2.1 Nyquist曲线和Bode图
MATLAB频率特性包括幅频特性和相频特性。 当用极坐标图描述系统的幅相频特性时,通常称为 奈奎斯特(Nyquist)曲线;用半对数坐标描述系 统的幅频特性和相频特性时,称为伯德(Bode) 图;在对数幅值-相角坐标系上绘制等闭环参数( M和N)轨迹图,称为尼克尔斯(Nichols)图。
运行结果如图5-2所示。
自动控制理论实验
实验一Matlab仿真软件的应用一、目的与任务Matlab是电子信息工程专业课程体系中基础的实验课程。
主要目标是训练学生最基本的实验技能,通过实验,加强学生的感性认识,从而巩固和加深课堂教学内容,提高学生实际工作技能,培养科学作风,学习MATLAB下的SIMULINK仿真软件,培养学生对动态系统进行建模的分析、解决问题的能力。
二、本课程实验内容及具体要求1、系统设计过程1.根据对系统提出的技术要求,确定控制系统的总体方案,即确定系统的构成并选用和计算系统各组成部件的主要特性(如执行机构、测量部件等) 。
2.在系统方案及各组成部件已知的条件下,通过理论分析或实验方法,建立系统不变部分的数学模型,并依条件进行必要简化.3. 进行系统的静态设计,主要是确定系统的静态放大系数并进行合理分配.4.在静态设计的基础上,进行动态设计,一般应从检查系统的稳定性开始,进而选择系统的校正方案及参数.5. 进行数学仿真研究,并进一步修改和调整校正网络参数或形式,在数学仿真研究时,除了研究线性模型时的系统特性外,还应考虑系统中可能有的非线性特性,研究它们对系统性能的影响. 数学仿真可利用MATLAB软件实现。
6. 确定校正网络的工程实现方法.超前校正装置具有相位超前和幅值扩张的特性,能提供微分控制功能,主要改善系统的动态性能,滞后校正装置具有相位滞后和幅值压缩的特性, 能提供积分控制功能, 主要改善系统的稳态性能,也可用于改善系统的平稳性,但响应的速度受到影响. 滞后--超前校正兼具有滞后校正和超前校正的特性,可全面改善系统的性能.对于校正元件:由于运算放大器性能高(高输入阻抗,输出阻抗低, 高增益等),参数调整方便,价格便宜,故串联校正几乎全部采用有源校正装置.2、MATLAB简介MATLAB 语言是当今国际上科学界(尤其是自动控制领域) 最具影响力、也是最有活力的软件。
它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。
自动控制原理matlab
自动控制原理matlab
自动控制原理是一门重要的工程学科,旨在实现通过系统反馈控制来达成特定目标的控制系统。
Matlab是一个专业的数学计算软件,广泛应用于各种领域。
自动控制原理与Matlab的结合,可以方便地进行系统建模、控制系统设计、仿真与实现等工作。
在自动控制原理的应用中,系统建模是一个重要的工作。
建模的主要目的是描述系统行为和性质,并在此基础上进行控制器设计。
在建模过程中,需要使用数学模型来描述系统的动态行为,如传递函数、状态空间模型等。
Matlab作为一款强大的数学计算软件,提供了大量的工具来支持系统建模,如控制系统工具箱、系统识别工具箱等。
在控制器设计过程中,经典的控制方法主要包括PID控制、根轨迹设计、频率响应设计等。
这些方法需要根据系统特性进行参数调整,以达到预期的控制效果。
在Matlab中,可以通过调用控制系统工具箱中的函数来方便进行控制器设计和参数调整。
此外,Matlab还提供了仿真工具,可以对系统进行仿真,从而验证控制器的性能和稳定性。
在实现阶段,Matlab还提供了一些特定硬件的接口,如Arduino、Raspberry Pi等,可以实现控制器的实际控制。
通过硬件接口与Matlab的结合,可以实现系统在物理环境中的实时控制,并进行实验
验证。
综上所述,自动控制原理与Matlab的结合,可以方便地进行系统建模、控制器设计、仿真与实现等工作。
在工程实际应用中,这种结合能够大大提高工作效率和控制系统稳定性。
因此,自动控制原理matlab是工程学科中不可缺少的重要组合之一。
《自动控制原理》Matlab求解控制系统数学模型实验
《自动控制原理》Matlab求解控制系统数学模型实验一、实验目的(1)熟练运用matlab软件,求解控制系统数学模型(2)掌握传递函数在matlab中的表达方法(3)掌握matlab求解拉氏变换和反变换(4)掌握matlab求系统极值点和零点判断系统稳定性二、实验仪器装配Matlab7.0的计算机三、实验原理传递函数在matlab中的表达方法控制系统的传递函数模型为:在MATLAB中,分子/分母多项式通过其系数行向量表示,即:num = [b0 b1 … bm]den = [a0 a1 … an]此时,系统的传递函数模型用tf函数生成,句法为:sys=tf(num, den)其中,sys为系统传递函数。
如:num = [1 5 0 2]; den = [2 3 15 8];则:sys=tf(num, den)输出为:Transfer function:传递函数的转换[num,den]=zp2tf(z,p,k)[z,p,k]=tf2zp(num,den)实际系统往往由多个环节通过串联、并联及反馈方式互连构成。
MATLAB提供的三个用于计算串联、并联及反馈连接形成的新系统模型的函数。
四、实验内容及步骤2、用MATLAB展求拉氏变换和反变换在MATLAB中,多项式通过系数行向量表示,系数按降序排列如要输入多项式:x4-12x3+25x+126>> p=[1 -12 0 25 126]-p = 1 -12 0 25 1263、连续系统稳定性分析的MATLAB函数roots函数:求多项式的根句法: r=roots(p)其中,r为由多项式根组成的列向量。
➢pole函数:计算系统的极点句法: p=pole(sys)其中,p为由极点组成的列向量zero函数:计算系统的零点句法: r=zero(sys) 或 [z, k]=zero(sys)其中,r为由多项式根组成的列向量。
k为零极点增益模型之增益pzmap函数:绘制零极点分布图句法: pzmap(sys) 或 [p,z] = pzmap(sys)五、实验原始数据记录与数据处理在MATLAB中,多项式通过系数行向量表示,系数按降序排列如要输入多项式:x4-12x3+25x+126>> p=[1 -12 0 25 126]-p = 1 -12 0 25 126六、实验结果与分析讨论七、结论掌握 MATLAB命令窗口的基本操作;掌握MATLAB 建立控制系统数学模型的命令及模型相互转换的方法;掌握了使用各种函数命令建立控制系统数学模型.八、实验心得体会(可略)通过该试验我们熟悉 MATLAB 实验环境,掌握 MATLAB命令窗口的基本操作;掌握MATLAB 建立控制系统数学模型的命令及模型相互转换的方法;掌握了使用各种函数命令建立控制系统数学模型:完成实验的范例题和自我实践,并记录结果;编写M文件程序,完成简单连接的模型等效传递函数,并求出相应的零极点。
自动控制原理MATLAB仿真实验指导书(4个实验)
自动控制原理MATLAB仿真实验实验指导书电子信息工程教研室实验一典型环节的MA TLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MA TLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。
图1-1 SIMULINK仿真界面图1-2 系统方框图3.在simulink仿真环境下,创建所需要的系统。
以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、矩阵的操作
1、矩阵下标
•MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提取 子块和重排子块的操作。
A(m,n):提取第m行,第n列元素 A(:,n):提取第n列元素 A(m,:):提取第m行元素 A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到 第n2列的所有元素(提取子块)。 A(:):得到一个长列矢量,该矢量的元素按矩阵的列进行排列。 矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个 数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加 这个数,而且在其他没有指定的位置补零。 消除子块:如果将矩阵的子块赋值为空矩阵[ ],则相当于消除 了相应的矩阵子块。
2
3
5
6
000 + 7.0000i
2.0000 - 7.0000i
2、四则运算与幂运算
+ ;- ;* ;\和/ ; ^;.* ;.\ ;./;.^ 如:a=[1 2;3 4];b=[ 3 5; 5 9]; • 只有维数相同的矩阵才能进行 》c=a+b d=a-b 加减运算。 》c= d= • 注意只有当两个矩阵中前一个 4 7 -2 -3 矩阵的列数和后一个矩阵的行 8 13 -2 -5 数相同时,才可以进行乘法运 》a*b=[13 23; 29 51] 算。a\b运算等效于求a*x=b的 》a/b=[-0.50 0.50;3.50 –1.50] 解;而a/b等效于求x*b=a的解。 》a\b=[-1 -1;2 3] 只有方阵才可以求幂。 》a^3=[37 54; 81 118] • 点运算是两个维数相同矩阵对 》a.*b=[3 10;15 36] 应元素之间的运算,在有的教 》a./b=[0.33 0.40;0.60 0.44] 材中也定义为数组运算。 》a.\b=[3.00 2.50;1.67 2.25] 》a.^3= [1 8; 27 64]
2、矩阵的大小 [m,n]=size(A,x):返回矩阵的行列数m与n,当x=1,则 只返回行数m,当x=2,则只返回列数n。 length(A)=max(size(A)):返回行数或列数的最大值。
》a=[1 2 3;3 4 5]; 》[m,n]=size(a) m= 2 n= 3 》length(a) ans = 3 》max(size(a)) ans = 3
》eye(2,3) ans= 100 010 》zeros(2,3) ans= 000 000 》ones(2,3) ans= 111 111 》V=[5 7 2]; A=diag(V) A= 500 070 002
》eye(2) ans= 10 01 》zeros(2) ans= 00 00 》ones(2) ans= 11 11
三、变量和数值显示格式
1、变量 (1)变量的命名:变量的名字必须以字母开头(不能超过 19个字符),之后可以是任意字母、数字或下划线;变量 名称区分字母的大小写;变量中不能包含有标点符号。 (2)一些特殊的变量 ans:用于结果的缺省变量名 i、j:虚数单位 pi:圆周率 nargin:函数的输入变量个数 eps:计算机的最小数 nargout:函数的输出变量个数 inf:无穷大 realmin:最小正实数 realmax:最大正实数 nan:不定量 flops:浮点运算数
》a=[1:2:10] a= 1 3 5 7 9
其中start为起始值,step为步长,end 为终止值。当步长为1时可省略step参 数;另外step也可以取负数。
(2)a=linspace(n1,n2,n) 在线性空间上,行矢量的值从n1到n2,数据个数为n, 缺省n为100。 》a=linspace(1,10,10) a= 1 2 3 4 5 6 7 8 9 10
自动控制原理的 Matlab实现
第一节 MATLAB使用方法和程序设计
一、MATLAB语言的显著特点
1、具有强大的矩阵运算能力:Matrix Laboratory (矩阵实验室),使得矩阵运算非常简单。 2、是一种演算式语言:编程简单,使用方便。
二、MATLAB命令窗口
1、启动MATLAB命令窗口
例如:
a=16;b=12; c=3; d=4; e=a+b-c*d f=e/2 k=e\2 h=c^3 g=e+f+ ... 2+1-9 aa=sin(g) abs(aa) bb=2+3j cc=conj(bb) rbb=real(bb) log(rbb) sqrt(rbb) exp(rbb)
如果结果为整数,则显示没有小数;如果结果不是整数,则 输出形式有:
format (short):短格式(5位定点数)99.1253 format long:长格式(15位定点数) 99.12345678900000 format short e:短格式e方式 9.9123e+001 format long e:长格式e方式 9.912345678900000e+001 format bank:2位十进制 99.12 format hex:十六进制格式
如果已知A为方阵,则V=diag(A) 可以提取A的对角元素构成向量V。
二、矩阵的运算
1、转置:对于实矩阵用(’)符号或(.’)求转置结果 是一样的;然而对于含复数的矩阵,则(’)将同时对 复数进行共轭处理,而 (.’)则只是将其排列形式进 行转置。
》a=[1 2 3;4 5 6]' a= 1 4 》a=[1 2 3;4 5 6].' a= 1 4 》b=[1+2i 2-7i]' b= 1.0000 - 2.0000i 》b=[1+2i 2-7i].' b= 1.0000 + 2.0000i
2、命令行编辑器
(1)方向键和控制键可以编辑修改已输入的命令 :回调上一行命令 :回调下一行命令 (2)命令窗口的分页输出 more off:不允许分页 more on:允许分页 more(n):指定每页输出的行数 回车前进一行,空格键显示下一页,q结束当前显示。 (3)多行命令(…) 如果命令语句超过一行或者太长希望分行输入,则可以 使用多行命令继续输入。 S=1-12+13+4+… 9-4-18;
四、简单的数学运算(例exp2_2.m)
1、常用的数学运算符 +,—,*(乘),/(左除),\(右除),^(幂) 在运算式中,MATLAB通常不需要考虑空格;多条命 令可以放在一行中,它们之间需要用分号隔开;逗号 告诉MATLAB显示结果,而分号则禁止结果显示。 2、常用数学函数 abs,sin,cos,tan,asin,acos,atan,sqrt,exp, imag,real,sign,log,log10,conj(共扼复数)等
2、helpwin:帮助窗口 3、helpdesk:帮助桌面,浏览器模式 4、lookfor命令:返回包含指定关键词的那 些项 5、demo:打开示例窗口
第二节
MATLAB矩阵运算及多项式处理
一、矩阵的输入
1、在命令窗口中输入
》a=1; b=2; c=3; 》x=[5 b c; a*b a+c c/b] x= 5.000 2.000 3.000 2.000 4.000 1.500
五、使用帮助
1、help命令,在命令窗口中显示 例如:>> help sqrt SQRT Square root. SQRT(X) is the square root of the elements of X. Complex results are produced if X is not positive. See also SQRTM. Overloaded methods help sym/sqrt.m
第三节、绘图简介
MATLAB提供了丰富的绘图功能 help graph2d可得到所有画二维图形的命令 help graph3d可得到所有画三维图形的命令 下面介绍常用的二维图形命令
1、基本的绘图命令 plot(x1,y1,’option1’,x2,y2,’option2’,…) x1,y1给出的数据分别为x,y轴坐标值,option1为选项参数,以 逐点连折线的方式绘制1个二维图形;同时类似地绘制第二个二 维图形等。 这是plot命令的完全格式,在实际应用中可以根据需要进行简化。 比如: plot(x,y);plot(x,y,’option’) 选项参数option定义了图形曲线的颜色、线型及标示符号,它由 一对单引号括起来。 例exp2_3.m exp2_3_.m
(2)多项式的运算
•相乘conv a=[1 2 3] ; b=[1 2] c=conv(a,b)=1 4 7 6 conv指令可以嵌套使用,如conv(conv(a,b),c) •相除deconv [q,r]=deconv(c,b) q=1 2 3 %商多项式 r=0 0 0 %余多项式 •求多项式的微分多项式polyder polyder(a)=2 2 •求多项式函数值polyval(p,n):将值n代入多项式求 解。polyval(a,2)=11
(3)a=logspace(n1,n2,n) •在对数空间上,行矢量的值从10n1到10n2,数 据个数为n,缺省n为50。这个指令为建立对数 频域轴坐标提供了方便。 》a=logspace(1,3,3) a= 10 100 1000
(4)一些常用的特殊矩阵 单位矩阵:eye(m,n); eye(m) 零矩阵:zeros(m,n); zeros(m) 一矩阵:ones(m,n); ones(m) 对角矩阵:对角元素向量 V=[a1,a2,…,an] A=diag(V) 随机矩阵:rand(m,n)产生一个m×n的均匀分别的随机矩阵
》y=[2,4, 5 3 6 8] y= 245 368