Matlab-控制工程基础
基于MATLAB的控制工程
矩阵运算
1、矩阵的要素
❖ 整个矩阵必须用方括号“[ ]”括起来; ❖ 矩阵A(m,n)表示矩阵变量A是一个m行n列的矩阵。 ❖ 矩阵行与行之间必须用分号“;”或在输入完一行
之后直接用回车键【Enter】隔离; ❖ 矩阵元素之间必须以逗号“,”或空格号分离。 ❖ 矩阵在MATLAB中是按先列后行的方式储存。
(命令窗口)
基本Matlab命令
1、窗口命令
❖ close:该命令用于关闭当前的图形窗口。 ❖ close all:该命令用于关闭所有的图形窗口。 ❖ clc:该命令用于清除命令窗口中的内容,光标将回到窗口
的左上角。 ❖ hold on: 不刷新当前窗口。 ❖ hold off: 刷新当前窗口。
2、工作空间管理命令
变量的表达格式如下:变量=表达式
在命令窗口状态下,输入的命令均存在于 workspace工作空间中,只要输入who或者whos 即可看到工作空间中的变量。如果要清除变量,可 用clear命令。
MATLAB所定义的特殊变量及其意义
变量名
意义
ans
用于结果的缺省变量名,最近的计算结果 的变量名(即answer的缩写)
逻辑运算符
逻辑操作符 & ︱ ~
说明 与 或 非
基本语句
❖ (1)if…else …end语句
❖ 语法:
❖
if 条件式1
❖
语句段1
❖
elseif 条件式2
❖
语句段2
❖
...
❖
else
❖
语句段n+1
❖
end
基本语句
❖ (2)for ... end循环结构
控制工程基础matlab大作业要求及模板2019秋季-机设专业
控制工程基础大作业MATLAB软件应用2019年秋季学期专业名称:机械设计制造及其自动化专业班级:姓名:学号:成绩:授课教师:一、教学目的:使学生能够掌握现代工程工具MATLAB软件使用的基本方法,能够应用MATLAB软件对控制系统进行建模及性能分析。
二、内容要求:1.控制系统建模(1)确定所研究的闭环反馈控制系统,清晰表述系统的具体工作原理及参数条件;(同学们可以通过查阅相关的文献资料、生活或者工程实践中的实际案例确定自己所研究的闭环反馈控制系统)(2)绘制闭环反馈控制系统的职能方框图、函数方框图,并建立系统的传递函数形式的数学模型。
2.应用MATLAB软件进行控制系统性能分析针对所选定的闭环控制系统,应用MATLAB软件完成以下工作:(1)控制系统频域特性分析分别使用nyquist函数和bode函数绘制系统的开环奈奎斯特图和开环波德图,并附程序清单。
(2)控制系统稳定性分析判定控制系统的稳定性,并进行控制系统相对稳定性分析,计算稳定性裕量,并附程序清单。
(3)控制系统时域特性分析使用step函数绘制控制系统的单位阶跃响应曲线,分析控制系统响应的快速性指标,分析比较结构参数变化对系统性能的影响,并附程序清单。
三、作业书写注意事项:1.封皮格式按照此模板内容,不必更改,完整填写相应的个人信息;2.正文按照第二部分内容要求的顺序分项书写,给出运行结果并附上完整的编写程序清单(同时提交电子版程序);3.本模板及要求保留,另起一页书写正文的内容成果,A4纸双面打印,左侧装订;4.杜绝抄袭,如果雷同,按照零分计;5.抽查答辩,采用百分制记分,占期末总评成绩的10%。
《控制工程基础》MATLAB大作业评分标准控制工程基础大作业MATLAB软件应用2019年秋季学期专业名称:机械设计制造及其自动化专业班级:机设177 姓名:于子雄学号: 170456 成绩:授课教师:一、教学目的:使学生能够掌握现代工程工具MATLAB软件使用的基本方法,能够应用MATLAB软件对控制系统进行建模及性能分析。
控制工程基础(基于MATLAB的系统分析校正)
实验一典型环节的MATLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。
3.在simulink仿真环境下,创建所需要的系统。
图1-1 SIMULINK仿真界面图1-2 系统方框图以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。
5)选择输出方式。
用鼠标点击simulink下的“Sinks”,就进入输出方式模块库,通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。
Matlab仿真在《控制工程基础》教学中的应用
万方数据
参I连扯匐砷似
Dim mathb As
0bject
Setmatlab=CreateObject(”MatlabApplication”1 Rem取得标题栏的数据,以肢一些相应的指 令,送至MATLABI]&务器中运行
result=mallabExecute(set(gcf,visible','off):”1
二阶系统的响应指标n卅两丽1000再而丽
输^程序
Rein删除临时保存在硬盘}:的图象
result=matlab Excculc(c:b TiP’1 resull 3matlab Execute(”c:kabmp”l End Sub
田I输出凹肜框为∞,=O 5、1、2.E=0 5时的响 应曲线。
2
篓:i- …O 012S1——
Doi:10.396.qI/J.issn.1009-0134.2011.4(上).19
0引言
《控制工程基础》是高等院校机械类专业基 础课,理论性强,概念抽象,内容涉及的知识面 广,且实践性很强。在教学过程中,如果教学 内容的组织或教学方法不当,就可能使学生感到 难学、乏味,从而产生厌学情绪,影响该课程的 教学质量。本文根据《控制工程基础》课程的教 学内容和特点,利用PPT和MATLAB链接开发具 有动态计算和绘图功能的仿真教学课件,把比较 复杂的数学运算放到计算机后台来处理,充分利 用MATLAB强大的分析、计算、绘图和仿真功 能。这种动态仿真教学直观、形象,有利于学生 对抽象概念和理论的理解,化解教学难度和学习 难度,使学生从繁杂的数学运算和绘图中解脱出 来,把主要精力集中在对基本理论、基本原理的 理解以及对控制系统的特性分析及综合设计上, 达到提高授课质量、培养学生综合能力的目的。
北京科技大学控制工程基础matlab大作业
实验一MATLAB 及仿真实验(控制系统的时域分析)一、实验目的学习利用MATLAB进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;二、要点内容1、系统的典型响应有哪些?2、如何判断系统稳定性?3、系统的动态性能指标有哪些?三、实验方法(一)四种典型响应1、阶跃响应:阶跃响应常用格式:1、step(sys);其中sys可以为连续系统,也可为离散系统。
2、step(sys,Tn);表示时间范围 0---Tn。
3、step(sys,T);表示时间范围向量 T 指定。
4、Y=step(sys,T);可详细了解某段时间的输入、输出情况。
2、脉冲响应:∞脉冲函数在数学上的精确定义:∫f(x)dx=1f (x)=0, t 0其拉氏变换为:f(s)=1Y (s)= G(s) f (s)= G(s)所以脉冲响应即为传函的反拉氏变换。
脉冲响应函数常用格式:①impulse(sys);②impulse(sys,Tn);impulse(sys,T );③ Y = impulse(sys,T )(二)分析系统稳定性有以下三种方法:1、利用 pzmap 绘制连续系统的零极点图;2、利用 tf2zp 求出系统零极点;3、利用 roots 求分母多项式的根来确定系统的极点(三)系统的动态特性分析Matlab 提供了求取连续系统的单位阶跃响应函数step、单位脉冲响应函数 impulse、零输入响应函数initial以及任意输入下的仿真函数lsim.四、实验内容(一) 稳定性%MATLAB计算程序:num=[9 1.8 9];den=[1 3.2 2 18];G=tf(num,den);pzmap(G);p=roots(den) p =-3.8801 + 0.0000i0.3401 + 2.1268i0.3401 - 2.1268i由计算结果可知,该系统的两个极点具有正实部,故系统不稳定。
键入程序,观察并记录单位阶跃响应曲线:num=[120];den=[1 8 120];step(num,den);title('Step Response ofG(s)=120/s^2+8s+120)');>> num=[120]; den=[1 8 120]; G=tf(num,den); [wn,z,p]=damp(G) wn =10.954510.9545z =0.36510.3651p =-4.0000 +10.1980i-4.0000 -10.1980i所以系统的闭环根为s=-4+10.1980i, s=-4-10.1980i;阻尼比为0.3651;无阻尼振荡频率为10.9545.由上图实测峰值时间tp=0.292s;最大超调量Mp=1.29-1=0.29,即Mp=29%。
控制工程基础(西交大版)教学课件 第七章 基于MATLAB语言的控制系统分析
INSERT LOGO
表7-1 MΒιβλιοθήκη TLAB版本历史版本 MATLAB 3.0 MATLAB 3.5 MATLAB 4.0 MATLAB 4.2c R8 MATLAB 5.0 R8 MATLAB 6.5.1 R13 SP1 MATLAB 6.5.2 R13 SP2 MATLAB 7 R14 MATLAB 7.1 R14 MATLAB 7.2 R2006a MATLAB 7.3 R2006b MATLAB 7.4 R2007a MATLAB 7.4 R2007b MATLAB 7.4 R2008a
7.1MATLAB语言简介
7.1.1MATLAB语言发展概况
20世纪70年代末至80年代初,曾在密歇根大学、斯坦福大学和新 墨西哥大学担任数学与计算机科学教授的Cleve Moler博士,出于讲 授矩阵理论和数值分析课程的需要,和同事用Fortran语言编写了两个 子程序库EISPACK和LINPACK,这便是构思和开发MATLAB的起点。
INSERT LOGO
年份 2008 2009 2009 2010 2010 2011 2011 2012 2012 2013 2013 2014 2014 2015
7.1.3MATLAB语言的优势
1.友好的工作平台和编程环境 MATLAB由一系列工具组成,其中许多工具采用的是图形用户界 面,包括MATLAB 桌面和命令窗口、历史命令窗口、编辑器和调试器、 路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MAT LAB的商业化及软件本身的不断升级,MATLAB的用户界面也越来越 精致,更加接近Windows的标准界面,人机交互性更强,操作更简便。 简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可 以直接运行,而且能够及时地报告出现的错误并进行出错原因分析。
控制工程基础MATLAB仿真
r=2.0000 -1.0000 p= -1.0000 -2.0000 k= [] 即
X o (s ) s+3 2 −1 = 2 = + X i (s ) s + 3s + 2 s + 1 s + 2
反之,利用下列命令 [num,den]=residue(r,p,k) 可以将部分分式展开式返回到传递函数 多项式之比的形式,即得到 [num,den]=residue(r,p,k) num= 0.0000 1.0000 3.0000 den= 1.0000 3.0000 2.0000
时域分析常用函数如下: step - 阶跃响应 impulse - 脉冲响应 lsim - 对指定输入的连续输出 gensig - 对LSIM产生输入信号 stepfun - 产生单位阶跃输入
例 对于下列系统传递函数
X o (s ) 50 = 2 X i (s ) 25 s + 2 s + 1
下列MATLAB Programl1.1将给出 该系统的单位阶跃响应曲线。该单 位阶跃响应曲线如图1所示。
X o (s ) rn r1 r2 = + +"+ + k (s ) X i (s ) s − p1 s − p 2 s − pn
例: 对于下列系统传递函数
X o (s ) s+3 = 2 X i (s ) s + 3 s + 2
分子分母表示为 num=[0,1,3] den=[1,3,2] 采用命令 [r,p,k]=residue(num,den) 得到 [ r , p , k ]= residue ( num , den)
其 中 sys 可 以 由 tf() 或 zpk() 函 数 得 到,t为选定的仿真时间向量,如果不 加t,仿真时间范围自动选择。此函数 只返回仿真数据而不在屏幕上画仿真 图形,返回值y为系统在各个仿真时刻 的输出所组成的矩阵,而x为自动选择 的状态变量的时间响应数据。如果用 户对具体的响应数值不感兴趣,而只 想绘制出系统的阶跃响应曲线,则可 以由如下的格式调用 step(sys,t) 或 step(sys)
控制工程基础matlab实验
《控制工程基础》学号:姓名:机械工程系系统时间响应分析实验课时数:2学时实验性质:设计性实验实验室名称:数字化实验室(机械工程系)一、实验项目设计内容及要求1.实验目的本实验的内容牵涉到教材的第3、4、5章的内容。
本实验的主要目的是通过试验,能够使学生进一步理解和掌握系统时间响应分析的相关知识,同时也了解频率响应的特点及系统稳定性的充要条件。
2.实验内容完成一阶、二阶和三阶系统在单位脉冲和单位阶跃输入信号以及正弦信号作用下的响应,求取二阶系统的性能指标,记录试验结果并对此进行分析。
3.实验要求系统时间响应分析试验要求学生用MATLAB软件的相应功能,编程实现一阶、二阶和三阶系统在几种典型输入信号(包括单位脉冲信号、单位阶跃信号、单位斜坡信号和正弦信号)作用下的响应,记录结果并进行分析处理:对一阶和二阶系统,要求用试验结果来分析系统特征参数对系统时间响应的影响;对二阶系统和三阶系统的相同输入信号对应的响应进行比较,得出结论。
4.实验条件利用数字化实验室的计算机,根据MATLAB软件的功能进行简单的编程来进行试验。
二、具体要求及实验过程1.系统的传递函数及其MATLAB 表达 (1)一阶系统 传递函数为:1)(+=Ts Ks G 传递函数的MATLAB 表达: num=[k];den=[T,1];G(s)=tf(num,den) (2)二阶系统 传递函数为:2222)(nn nw s w s w s G ++=ξ传递函数的MATLAB 表达: num=[2n w ];den=[1,n w ξ2,2n w ];G(s)=tf(num,den)(3)任意的高阶系统传递函数为:n n n n mm m m a s a s a s a b s b s b s b s G ++++++++=----11101110)( 传递函数的MATLAB 表达:num=[m m b b b b ,,,110- ];den=[n n a a a a ,,,110- ];G(s)=tf(num,den) 若传递函数表示为:)())(()())(()(1010n m p s p s p s z s z s z s Ks G ------=则传递函数的MATLAB 表达:z=[m z z z ,,,10 ];p=[n p p p ,,,10 ];K=[K];G(s)=zpk(z,p,k) 2.各种时间输入信号响应的表达(1)单位脉冲信号响应:[y,x]=impulse[sys,t] (2)单位阶跃信号响应:[y,x]=step[sys,t] (3)任意输入信号响应:[y,x]=lsim[sys,u,t]其中,y 为输出响应,x 为状态响应(可选);sys 为建立的模型;t 为仿真时间区段(可选)实验方案设计可参考教材相关内容,相应的M程序可参考教材(杨叔子主编的《机械工程控制基础》第五版)提供的程序,在试验指导教师的辅导下掌握M 程序的内容和格式要求,并了解M程序在MATLAB软件中的加载和执行过程。
《控制工程基础》实验指导书(8学时)
《控制工程基础》实验指导书机械与车辆学院2013实验一matlab软件使用一、实验目的1.掌握MATLAB软件使用的基本方法;2.熟悉MATLAB的数据表示、基本运算和程序控制语句;3.熟悉MATLAB程序设计的基本方法。
4.学习用MATLAB创建控制系统模型。
二、实验原理1.MATLAB的基本知识MATLAB是矩阵实验室(Matrix Laboratory)之意。
MATLAB具有卓越的数值计算能力,具有专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,与工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多。
当MATLAB 程序启动时,一个叫做MATLAB 桌面的窗口出现了。
默认的MATLAB 桌面结构如下图所示。
在MATLAB 集成开发环境下,它集成了管理文件、变量和用程序的许多编程工具。
在MATLAB 桌面上可以得到和访问的窗口主要有:命令窗口(The Command Window):在命令窗口中,用户可以在命令行提示符(>>)后输入一系列的命令,回车之后执行这些命令,执行的命令也是在这个窗口中实现的。
命令历史窗口(The Command History Window):用于记录用户在命令窗口(The Command Windows),其顺序是按逆序排列的。
即最早的命令在排在最下面,最后的命令排在最上面。
这些命令会一直存在下去,直到它被人为删除。
双击这些命令可使它再次执行。
要在历史命令窗口删除一个或多个命令,可以先选择,然后单击右键,这时就有一个弹出菜单出现,选择Delete Section。
任务就完成了。
工作台窗口(Workspace):工作空间是MATLAB用于存储各种变量和结果的内存空间。
在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。
控制工程基础_MATLAB分析
三、计算机仿真模型
1、模型的定义 模型是对现实系统有关结构信息和行为的某种形式 的描述,是对系统的特征与变化规律的一种定量抽 象,是人们认识事物的一种手段或工具。 2、模型的分类 (1)物理模型 指不以人的意志为转移的客观存在的实体,如:飞 行器研制中的飞行模型;船舶制造中的船舶模型等。 (2)数学模型 是从一定的功能或结构上进行相似,用数学的方法 来再现原型的功能或结构特征。
(3)仿真模型 指根据系统的数学模型,用仿真语言转化为计算机 可以实施的模型。
四、计算机仿真的三要素及基本步骤(内容)
1、三要素 (1)系统:研究的对象 (2)模型:系统的抽象 (3)计算机:工具与手段
系统 建立数学模型 仿真实验 结果分析
模型 计算机 建立仿真模型
图1.1 计算机仿真三要素关系图
二、零极点增益模型
零极点模型实际上是传递函数模型的另一种表现形式,其 原理是分别对原系统传递函数的分子、分母进行分解因式 处理,以获得系统的零点和极点的表示形式。
( s − z1 )( s − z2 )...( s − zm ) G( s) = K ( s − p1 )( s − p2 )...( s − pn )
控制系统的数学描述与建模
控制系统的数学模型在控制系统的研究中有着相当重要的 地位,要对系统进行仿真处理,首先应当知道系统的数学 模型,然后才可以对系统进行模拟。同样,如果知道了系 统的模型,才可以在此基础上设计一个合适的控制器,使 得系统响应达到预期的效果,从而符合工程实际的需要。 在线性系统理论中,一般常用的数学模型形式有:传递函 数模型(系统的外部模型)、状态方程模型(系统的内部模 型)、零极点增益模型和部分分式模型等。这些模型之间都 有着内在的联系,可以相互进行转换。
控制工程基础 Matlab实验报告
《控制工程基础》课程实验报告学院:机械与车辆学院专业班级:姓名:学号:指导教师:时间:实验一MATLAB应用基础实验二控制系统的数学模型建立实验三控制系统的分析与校正中国·珠海实验一MATLAB在控制系统中的应用一、实验目的1、掌握Matlab软件使用的基本方法2、熟悉Matlab的数据表示、基本运算3、熟悉Matlab绘图命令及基本绘图控制二、实验内容:1、帮助命令使用help命令,查找函数名的使用方法。
如sqrt(开方)函数,roots,bode,step,tf函数等2、矩阵运算(1)矩阵的乘法A=[1 2 3;3 4 5 ]; B=[7 3 6;4 3 8]A.*Bans =7 6 1812 12 40(2)矩阵的转置及共轭转置A=[3-i,8+i,2;4,5*i,5+i]A =ans =3.0000 - 1.0000i 8.0000 + 1.0000i 2.00004.0000 0 +5.0000i 5.0000 + 1.0000i>> A'ans =3.0000 + 1.0000i4.00008.0000 - 1.0000i 0 - 5.0000i2.0000 5.0000 - 1.0000i(4)使用冒号选出指定元素已知:A=[4 2 3 4;7 5 6 7;7 8 9 2];求A中第4列前2个元素;A中所有列第1,2行的元素;方括号[]用magic函数生成一个5阶魔术矩阵,删除该矩阵的第五列解:>> A=[4 2 3 4;7 5 6 7;7 8 9 2]A =4 2 3 47 5 6 77 8 9 2A(1:2,4)ans =47A(1:2,:)ans =4 2 3 47 5 6 7M=magic(5)M =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9>> sum(M)ans =65 65 65 65 65>> M(:,1:4)ans =17 24 1 823 5 7 144 6 13 2010 12 19 2111 18 25 23、多项式(1)求多项式p (x ) = x ^4−3x^2 +x+1的根解:>> p=[1 0 -2 -4]p =1 0 -2 -4>> roots(p)ans =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i4.已知A=[0.2 7 3 1.9;5 1.7 5 6;4 9 0 9;3 2 7 3] ,求矩阵A的特征多项式;求特征多项式中未知数为20时的值;把矩阵A作为未知数代入到多项式中;解:>> A=[0.2 7 3 1.9;5 1.7 5 6;4 9 0 9;3 2 7 3]A =0.2000 7.0000 3.0000 1.90005.0000 1.7000 5.00006.00004.0000 9.0000 0 9.00003.0000 2.0000 7.0000 3.0000 >> poly(A)ans =1.0000 -4.9000 -166.6600 -586.0300 91.1200>> polyval(ans,10)ans =-1.7335e+0044、基本绘图命令(1)绘制余弦曲线y=sin(t)’,t∈[0,2π]解:>> t=0:pi/100:2*pi;>> y=sin(t)’>> plot(t,y)在同一坐标系中绘制余弦曲线y=cos(t-1.5)和正弦曲线y=sin(t-0.5),t∈[0,2π]解:t=0:pi/100:2*pi;>> y1=sin(t-1.5);y2=cos(t-0.5);>> plot(t,y1,t,y2)实验二控制系统的数学模型建立一、实验目的1、掌握建立控制系统模型的函数及方法;2、掌握控制系统模型间的转换方法及相关函数;3、掌握典型系统模型的生成方法。
控制工程基础(经典控制部分)MATLAB分析
《控制工程基础(经典控制部分)》的MATLAB分析第一章MATLAB的基本使用§1-1MATLAB语言简介MATLAB是一种高级矩阵语言,它由Math Works公司于1984年正式推出,它的基本处理对象是矩阵,即使是一个标量纯数,MATLAB也认为它是只有一个元素的矩阵。
随着MA TLAB的发展,特别是它所包含的大量工具箱(应用程序集)的集结,使MATLAB已经成为带有独特数据结构、输入输出、流程控制语句和函数、并且面向对象的高级语言。
MATLAB语言被称为一种“演算纸式的科学计算语言”,它在数值计算、符号运算、数据处理、自动控制、信号处理、神经网络、优化计算、模糊逻辑、系统辨识、小波分析、图象处理、统计分析、甚至于金融财会等广大领域有着十分广泛的用途。
MATLAB语言在工程计算与分析方面具有无可比拟的优异性能。
它集计算、数据可视化和程序设计于一体,并能将问题和解决方案以使用者所熟悉的数学符号或图形表示出来。
MATLAB语言和C语言的关系与C语言和汇编语言的关系类似。
例如当我们需要求一个矩阵的特征值时,在MA TLAB下只需由几个字符组成的一条指令即可得出结果,而不必去考虑用什么算法以及如何实现这些算法等低级问题,也不必深入了解相应算法的具体内容。
就象在C语言下不必象汇编语言中去探究乘法是怎样实现的,而只需要采用乘积的结果就可以了。
MATLAB语言还有一个巨大的优点是其高度的可靠性。
例如对于一个病态矩阵的处理,MATLAB不会得出错误的结果,而用C或其它高级语言编写出来的程序可能会得出错误的结果。
这是因为MATLAB函数集及其工具箱都是由一些在该领域卓有研究成果,造诣很深的权威学者经过反复比较所得出来的最优方法,而且经过多年的实践检验被证明是正确可靠的。
§1-2MATLAB的工作窗口下面以MA TLAB6.1为例介绍。
从实用的角度MATLAB的工作窗口包括命令窗口、M文件编辑器窗口、图形编辑窗口、数学函数庫、应用程序接口及在线窗口。
控制系统仿真课件:MATLAB基础及其使用初步
MATLAB基础及其使用初步
(5)方阵的相关计算: 求逆:inv(A) 求行列式:det(A) 求特征值和特征向量:[V,D]=eig(A)
MATLAB基础及其使用初步 2.程序流程控制 MATLAB 1)for for
end 2)while
5
(1)直接输入:矩阵生成不但可以使用纯数字(含复数),
也可以使用变量(或者说采用一个表达式)。矩阵的元素直
接排列在方括号内,行与行之间用分号隔开,每行内的元素
使用空格或逗号隔开。大的矩阵可以分行输入,回车键代表
分号。
1 2 3 A 4 5 6
7 8 9
A = [1 2 3 ;4 5 6 ;7 8 9]
MATLAB基础及其使用初步
2.1.2 MATLAB的主要特点 MATLAB的主要功能是用于矩阵运算,它具有丰富的
矩阵运算函数,能够在求解诸如各种复杂的计算问题时更简 捷、高效、方便。同时,MATLAB作为编程语言和可视化 工具,由于功能强大,界面直观,语言自然,使用方便,可 解决工程、科学计算和数学学科中的许多问题,是目前高等 院校与科研院所广泛使用的优秀应用软件,目前已经在信号 处理、系统识别、自动控制、非线性系统、模糊控制、优化 技术、神经网络、小波分析等领域得到了广泛的应用。 MATLAB之所以能得到广泛的应用,是因为它具有如下的 特点:
MATLAB基础及其使用初步
(3)判断矩阵的大小: [m,n]=size(A):返回矩阵的行列数m与n length(A)=max(size(A)):返回行数或列数的最大值。 (4) +(加),-(减),*(乘),\(矩阵左除),/(矩 阵右除),.*(矩阵点乘),.\(矩阵点左除),./(矩 阵点右除),.∧ 只有维数相同的矩阵才能进行加减运算,只有方阵才可 以求幂,点运算是两个维数相同矩阵对应元素之间的运算, 只有当两个矩阵中前一个矩阵的列数和后一个矩阵的行数相
MATLAB基础控制_1
0 0 0 1 y x 0 0 1 0
16
% 系统的状态方程描述 A=[0 0 0 1;1 0 0 -2; -22 -11 -4 0;-23 -6 0 -6]; B=[0 0;0 0;0 1;1 3]; C=[0 0 0 1;0 0 1 0]; D=[0 0;0 0]; % 第一个输入量的传递函数 [num1,den1]=ss2tf(A, B, C, D,1); [z1,p1,k1]=ss2zp(A, B, C, D,1); % 第二个输入量的传递函数 [num2,den2]=ss2tf(A, B, C, D, 2); [z2, p2, k2]=ss2zp(A, B, C, D, 2); % 显示结果 disp('System Transfer Function Of the first input is:'); num1 den1 disp('Its zero-pole form is');
我们在MATLAB命令窗或M文件中输入: num=[1 1]; den=[1 5 20]; Sys=tf (num, den) % 创建传递函数模型 Transfer function: s+1 -------------s^2 + 5 s + 20
5
(2) 零极点增益模型
零极点增益形式的控制系统表示为:
12
sys A=
sysr A=
x1 x2 x1 -5 -20 x2 1 0 B= u1 x1 1 x2 0 C= x1 x2 y1 1 1 D= u1 y1 0
x1 x2 x1 -5 -20 x2 1 0 B= u1 x1 1 x2 0 C= x1 x2 y1 1 1 D= u1 y1 0
13
控制工程基础ppt教案实验1 MATLAB数值计算
MATLAB数值计算MATLAB的数学计算=数值计算+符号计算其中符号计算是指使用未定义的符号变量进行运算,而数值计算不允许使用未定义的变量。
2.1 变量和数据2.1.1数据类型数据类型包括:数值型、字符串型、元胞型、结构型等数值型=双精度型、单精度型和整数类整数类=无符号类(uint8、uint16、uint32、uint64)和符号类整数(int8、int16、int32、int64)。
2.1.2数据1. 数据的表达方式▪可以用带小数点的形式直接表示▪用科学计数法▪数值的表示范围是10-309~10309。
以下都是合法的数据表示:-2、5.67、2.56e-56(表示2.56×10-56)、4.68e204(表示4.68×10204)2. 矩阵和数组的概念在MATLAB的运算中,经常要使用标量、向量、矩阵和数组,这几个名称的定义如下:▪标量:是指1×1的矩阵,即为只含一个数的矩阵。
▪向量:是指1×n或n×1的矩阵,即只有一行或者一列的矩阵。
▪矩阵:是一个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,0×0矩阵为空矩阵([])。
▪数组:是指n维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。
3. 复数复数由实部和虚部组成,MATLAB用特殊变量“i”和“j”表示虚数的单位。
复数运算不需要特殊处理,可以直接进行。
复数可以有几种表示:z=a+b*i或z=a+b*jz=a+bi或z=a+bj(当b为标量时)z=r*exp(i*theta)●得出一个复数的实部、虚部、幅值和相角。
a=real(z) %计算实部 b=imag(z) %计算虚部 r=abs(z) %计算幅值 theta=angle(z) %计算相角 说明:复数z 的实部a=r*cos(θ); 复数z 的虚部b=r*sin(θ); 复数z 的幅值22b a r +=;复数z 的相角theta=arctg(b/a),以弧度为单位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语言特点:
以复数矩阵为最基本的运算单元,既可以 对它整体地进行处理,也可以对它的某个或某些 元素进行单独地处理。在中,数据的存储 /输入/输出都是以矩阵为基础的,矩阵和其它变 量不需要预先定义。语言最基本的赋值语 句结构为
软件工具在控制系统分析和综合中的 应用
基本特点 控制系统在中的描述 进行部分分式展开 控制系统的时间响应分析 控制系统的频域响应分析 控制系统的根轨迹图 系统稳定性分析 仿真工具
1、基本特点
简介:
1980年前后,美国博士构思并开发;
最初的版本是用语言编写,现在的版 本用c语言改写;
在下,矩阵A和矩阵B的乘积(假定 其中A,B矩阵是可乘的)可以简单地由运 算*B求出 » *B C=
203 102 415
而.*B称点乘积运算,即表示A和B矩阵 的相应元素之间直接进行乘法运算,然后 将结果赋给D矩阵,点乘积运算要求A和B矩 阵的维数相同。 » .*B
102 200 200
下提供了两种文件格式: m文件, 函数 M文件是普通的码构成的文件,在这样的文件中只有由语言所支持的
4、线性系统的时间响应分析
的工具箱提供了很多线性系统在特定输入 下仿真的函数,例如连续时间系统在阶跃输入激励下的 仿真函数(),脉冲激励下的仿真函数()及任 意输入激励下的仿真函数()等,其中阶跃响应函数 ()的调用格式为 []() 或[]() 其中可以由()或()函数得到,t为选定的仿真时 间向量,如果不加t,仿真时间范围自动选择。此函数只 返回仿真数据而不在屏幕上画仿真图形,返回值y为系统 在各个仿真时刻的输出所组成的矩阵,而x为自动选择的 状态变量的时间响应数据。如果用户对具体的响应数值 不感兴趣,而只想绘制出系统的阶跃响应曲线,则可以 由如下的格式调用() 或()
变量名列表=表达式
等号右边的表达式可以由分号结束,也可以由逗号或换 行结束,但它们的含义是不同的。如果用分号结束,则 左边的变量结果将不在屏幕上显示出来,否则将把左边 返回矩阵的内容全部显示出来。如
» [1,0,1;1,0,0;2,1,0]; » [1,0,2;2,1,1;1,0,1] B=
102 211 101
1.0000 3.0000 2.0000
当包含m重极点时,部分分式展开式将包括 下列m项:
s rjpj s rj p 1j 2 sr jm p j1m
例 对于下列系统传递函数
X X o is ss2 s 2 1 s 33 s3 s2 3 s2 2 s 3 s 3 1
() 其中()代表传递函数的形式描述系统,还可以用零极点形式来描 述,语句为
1() 而且传递函数形式和零极点形式之间可以相互转化,语句为
[] = 2() [] = 2() 当传递函数复杂时,应用多项式乘法函数()等实现。例如
1=[1,2,2] 2=[2,3,3,2] (12)
3、进行部分分式展开
对于下列传递函数
求取脉冲响应的函数()和()函数的调用格式 完全一致,而任意输入下的仿真函数()的调用格式 稍有不同,因为在此函数的调用时还应该给出一个输入 表向量,该函数的调用格式为
[]() 式中,u为给定输入构成的列向量,它的元素个数应该和 t的个数是一致的。当然该函数若调用时不返回参数,也 可以直接绘制出响应曲线图形。例如
2、控制系统在中的描述
要分析系统,首先需要能够描述这个系统。例如 用传递函数的形式描述系统
G (s)b a 1 1 ssm n b a2 2ssm n 1 1 b am nss a bm n 1 1
在中,用[b12,…1]和[a12,…1] 分别表示分子和分母多项式系数,然后利用下面的语句就可以表示 这个系统
X X o i s s s r 1 p 1 s r 2 p 2 s r n p n k s
例: 对于下列系统传递函数
X Xo isss2 s 3s32
分子分母表示为
=[0,1,3]
=[1,3,2]
采用命令[]=(,)
得到
[r,p,k]=(,)
分子分母表示为 =[0,1,2,3] =[1,3,3,1]
得到
=[0 1 2 3];
=[1 3 3 1];
[r,p,k]=(,)
r=
1.0000
0.0000
2.0000
p=
-1.0000
-1.0000
-l.0000
k=
[]
即
X X o is ss1 1 s 0 1 2 s 2 1 3
语句,类似于下的批处理文件,它的执行方式很简单,用户只需 在的提示符>>下键入该m文件的文件名,这样就会自动执行该m文 件中的各条语句。它采用文本方式,编程效率高,可读性很强。 函数是最常用的特殊m文件,这样的函数是由语句引导,其基本格式 如下
返回变量列表=函数名(输入变量列表) 注释说明语句段 函数体语句 调用时在的提示符下键入函数名,并包括输入变量。类似于c 语言的子程序调用。如 () (0.01,()/100); ((x)); %a
r=2.0000
-1.0000
p=
-1.0000
-2 s 3 s 3 2s2 1s 1 2
反之,利用下列命令 [,]=()
可以将部分分式展开式返回到传递函数多项式之比的形 式,即得到
[,]=(r,p,k) = 0.0000 1.0000 3.0000
X X o i s sb s0n sn a 1 b s 1s n n 1 1 a b n n 1 s 1s a b n n
和分别表示传递函数的分子和分母的系数,即 =[,…] =[1.…]
命令 [r,p,k]=(,)
将求出传递函数的部分分式展开式中的留数、极点和余 项,即得到