语言与控制系统仿真.ppt
《语言与控制系统仿真.ppt》由会员分享,可在线阅读,更多相关《语言与控制系统仿真.ppt(173页珍藏版)》请在三一办公上搜索。
1、MATLAB语言与控制系统仿真,华中科技大学电气与电子工程学院应用电子工程系康勇 李勋 二00一年十一月,通过本课程的学习,使学生初步掌握当前流行的演算式MATLAB语言的基本知识,结合所学课程自动控制原理,学会运用MATLAB语言进行控制系统仿真和辅助设计的基本技能,为今后从事科学研究打下较好的基础。,课程任务,学时安排与考试形式总学时:32(其中上机学时12)考试方式:上机操作,第一章 计算机仿真和辅助设计概述(1)第二章 MATLAB语言基础(5)第三章 控制系统的数学描述与建模(4)第四章 控制系统的分析方法(4)第五章 SIMULINK仿真基础(6),教学内容,参考书目,MATLAB
2、语言与自动控制系统设计机械工业出版社,1997年,魏克新控制系统数字仿真与CAD机械工业大学出版社,1999年,张晓华反馈控制系统设计与分析 MATLAB语言应用清华大学出版社,2000年,薛定宇基于MATLAB的系统分析与设计控制系统,西安电子科技大学出版社,1999年,楼顺天MATLAB5.X应用与技巧,科学出版社,1999年,蒙以正MATLAB5.X入门与应用,科学出版社,1999年,柳承茂MATLAB电子仿真与应用,国防工业出版社,2001年,韩竹利,CH1、计算机仿真和辅助设计概述,第一节 计算机仿真和辅助设计的基本概念一、初识控制系统计算机仿真和辅助设计例exp1_1.m 例exp
3、1_2.m/exp1_3.m/exm1_2.mdl二、计算机辅助设计与仿真的概念1、计算机辅助设计的概念计算机辅助设计(CAD)技术是利用计算机高速而精确的计算能力、大容量存储和处理数据的能力,结合设计者的综合分析、逻辑判断及创造性思维,用以加快设计进程、缩短设计周期、提高设计质量的技术。,说明:计算机辅助设计从广义上来讲它包含了计算机仿真的内容,从狭义上说它的主要工作是利用计算机的运算能力来处理设计者手工处理所遇到的不便与繁琐。2、计算机仿真的概念仿真的定义仿真的基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求对真实过程的认识。它所遵循的基本原则是相似性原理。计算机仿真的定义计算机
4、仿真是基于所建立的系统仿真模型,利用计算机对系统进行分析与研究的方法。,1、模型的定义模型是对现实系统有关结构信息和行为的某种形式的描述,是对系统的特征与变化规律的一种定量抽象,是人们认识事物的一种手段或工具。2、模型的分类(1)物理模型指不以人的意志为转移的客观存在的实体,如:飞行器研制中的飞行模型;船舶制造中的船舶模型等。(2)数学模型是从一定的功能或结构上进行相似,用数学的方法来再现原型的功能或结构特征。,三、计算机仿真模型,(3)仿真模型指根据系统的数学模型,用仿真语言转化为计算机可以实施的模型。四、计算机仿真的三要素及基本步骤(内容)1、三要素(1)系统:研究的对象(2)模型:系统的
5、抽象(3)计算机:工具与手段,2、基本步骤包括三个基本的内容:建模仿真实验 结果分析,第二节仿真的分类,一、按模型分类1、物理仿真:采用物理模型,有实物介入!具有效果逼真,精度高等优点,但造价高或耗时长,大多在一些特殊场合下采用(如导弹、卫星一类飞行器的动态仿真,发电站综合调度仿真与培训系统等),具有实时性、在线的特点。2、数学仿真:采用数学模型在计算机上进行,具有非实时性、离线的特点,经济、快速、实用。,二、按计算机类型分类,1、模拟仿真:采用数学模型,在模拟计算机上进行的实验研究。50年代描述连续物理系统的动态过程比较自然、逼真,具有仿真速度快、失真小、结果可靠的优点,但受元器件性能影响,
6、仿真精度较低,对计算机控制系统的仿真较困难,自动化程度低。模拟计算机的核心是运算部分,它由我们熟知的“模拟运算放大器”为主要部件所构成。2、数字仿真:采用数学模型,在数字计算机上借助于数值计算方法所进行的仿真实验。60年代,计算与仿真的精度较高。理论上计算机的字长可以根据精度要求来“随意”设计,因此其仿真精度可以是无限,但是由于受到误差积累、仿真时间等因素影响,其精度也不易定得太高。对计算机控制系统的仿真比较方便。仿真实验的自动化程度较高,可方便地实现显示、打印等功能。计算速度比较低,在一定程度上影响到仿真结果的可信度。但随着计算机技术的发展,“速度问题”会在不同程度上有所改进与提高。数字仿真
7、没有专用的仿真软件支持,需要设计人员用高级程序语言编写求解系统模型及结果输出的程序。,3、混合仿真:结合了模拟仿真与数字仿真。4、现代计算机仿真:采用先进的微型计算机,基于专用的仿真软件、仿真语言来实现,其数值计算功能强大,使用方便,易学。80年代以来,第三节仿真技术的应用与发展,一、仿真技术在工程中的应用1、航空与航天工业飞行器设计中的三级仿真体系:纯数学模拟(软件)、半实物模拟、实物模拟或模拟飞行实验。飞行员及宇航员训练用飞行仿真模拟器。2、电力工业电力系统动态模型实验:电力系统负荷分配、瞬态稳定性以及最优潮流控制等。电站操作人员培训模拟系统。,3、原子能工业模拟核反应堆核电站仿真器用来训
8、练操作人员以及研究异常故障的排除处理。4、石油、化工及冶金工业5、非工程领域医学社会学宏观经济与商业策略的研究,二、应用仿真技术的意义,1、经济大型、复杂系统直接实验是十分昂贵的,如:空间飞行器的一次飞行实验的成本约在1亿美元左右,而采用仿真实验仅需其成本的1/101/5,而且设备可以重复使用。2、安全某些系统(如载人飞行器、核电装置等),直接实验往往会有很大的危险,甚至是不允许的,而采用仿真实验可以有效降低危险程度,对系统的研究起到保障作用。,3、快捷提高设计效率:比如电路设计,服装设计等等。4、具有优化设计和预测的特殊功能对一些真实系统进行结构和参数的优化设计是非常困难的,这时仿真可以发挥
9、它特殊的优化设计功能。在非工程系统中(如社会、管理、经济等系统),由于其规模及复杂程度巨大,直接实验几乎不可能,这时通过仿真技术的应用可以获得对系统的某种超前认识。,三、仿真技术的发展趋势,1、硬件方面:基于多CPU并行处理技术的全数字仿真将有效提高仿真系统的速度,大大增强数字仿真的实时性。2、应用软件方面:直接面向用户的数字仿真软件不断推陈出新,各种专家系统与智能化技术将更深入地应用于仿真软件开发之中,使得在人机界面、结果输出、综合评判等方面达到更理想的境界。3、分布式数字仿真:充分利用网络技术,协调合作,投资少,效果好。4、虚拟现实技术:综合了计算机图形技术、多媒体技术、传感器技术、显示技
10、术以及仿真技术等多学科,使人置身于真实环境之中。,第四节计算机仿真软件,一、仿真软件的发展1、程序编程阶段所有问题(如:微分方程求解、矩阵运算、绘图等)都是用高级算法语言(如C、FORTRAN等)来编写。2、程序软件包阶段出现了“应用子程序库”。3、交互式语言阶段(仿真语言)仿真语言可用一条指令实现某种功能,如“系统特征值的求解”,使用人员不必考虑什么算法,以及如何实现等低级问题。,4、模型化图形组态阶段符合设计人员对基于模型图形化的描述。二、几种仿真软件1、PSPICE、ORCAD:通用的电子电路仿真软件,适合于元件级仿真。2、SYSTEM VIEW:系统级的电路动态仿真软件3、MATLAB
11、:具有强大的数值计算能力,包含各种工具箱,其程序不能脱离MATLAB环境而运行,所以严格讲,MATLAB不是一种计算机语言,而是一种高级的科学分析与计算软件。4、SIMULINK:是MATLAB附带的基于模型化图形组态的动态仿真环境。,本章小结,仿真是对系统进行研究的一种实验方法,它的基本原则是相似性原理。数字仿真具有经济、安全、快捷的特点。仿真是在模型上进行的,建立系统的模型是仿真的关键内容。系统模型可以分为物理模型、数学模型及仿真模型,据此可将仿真分为物理仿真和数学仿真两大类。系统、模型、计算机是数字仿真的三个基本要素,建模、仿真实验及结果分析是三项基本内容。MATLAB与SIMULINK
12、是当今广泛为人们采用的控制系统数字仿真与CAD应用软件。,CH2、MATLAB语言基础,第一节 使用MATLAB的窗口环境一、MATLAB语言的显著特点1、具有强大的矩阵运算能力:Matrix Laboratory(矩阵实验室),使得矩阵运算非常简单。2、是一种演算式语言MATLAB的基本数据单元是既不需要指定维数,也不需要说明数据类型的矩阵(向量和标量为矩阵的特例),而且数学表达式和运算规则与通常的习惯相同。因此MATLAB语言编程简单,使用方便。例 exp2_1.m,二、MATLAB命令窗口1、启动MATLAB命令窗口计算机安装好MATLAB之后,双击MATLAB图标,就可以进入命令窗口,
13、此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。MATLAB语句形式变量表达式;通过等于符号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则只要在语句之后加上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在MATLAB工作空间中分配了内存。,2、命令行编辑器(1)方向键和控制键可以编辑修改已输入的命令:回调上一行命令:回调下一行命令(2)命令窗口的分页输出more off:不允许分页 more on:允许分页more(n):指定每页输出的行数回车前进一行,空格键显示下一页,q结束当前显示
14、。(3)多行命令()如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。S=1-12+13+4+9-4-18;,三、变量和数值显示格式1、变量(1)变量的命名:变量的名字必须以字母开头(不能超过19个字符),之后可以是任意字母、数字或下划线;变量名称区分字母的大小写;变量中不能包含有标点符号。(2)一些特殊的变量ans:用于结果的缺省变量名 i、j:虚数单位pi:圆周率 nargin:函数的输入变量个数eps:计算机的最小数 nargout:函数的输出变量个数inf:无穷大 realmin:最小正实数realmax:最大正实数 nan:不定量flops:浮点运算数,(3)变量
15、操作在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。如要察看变量a的值,只需要在命令窗口中输入变量的名称即可:a2、数值显示格式任何MATLAB的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由format命令控制。format只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。,如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有:format(short):短格式(5位定点数)99.1253format long:长格式(15位定
16、点数 format short e:短格式e方式 9.9123e+001format long e:长格式e方式 format bank:2位十进制 99.12format hex:十六进制格式,四、简单的数学运算(例exp2_2.m)1、常用的数学运算符,*(乘),/(左除),(右除),(幂)在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,而分号则禁止结果显示。2、常用数学函数abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj(共扼
17、复数)等 五、MATLAB的工作空间1、MATLAB的工作空间包含了一组可以在命令窗口中调整(调用)的参数who:显示当前工作空间中所有变量的一个简单列表,whos:则列出变量的大小、数据格式等详细信息clear:清除工作空间中所有的变量clear 变量名:清除指定的变量2、保存和载入workspace(1)save filename variables将变量列表variables所列出的变量保存到磁盘文件filename中Variables所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。未列出variables时,表示将当前工作空间中所有变量都保持到磁盘文件中。缺省的磁盘
18、文件扩展名为“.mat”,可以使用“-”定义不同的存储格式(ASCII、V4等),(2)load filename variables将以前用save命令保存的变量variables从磁盘文件中调入MATLAB工作空间。用load 命令调入的变量,其名称为用save命令保存时的名称,取值也一样。Variables所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。未列出variables时,表示将磁盘文件中的所有变量都调入工作空间。3、退出工作空间quit 或 exit,六、文件管理文件管理的命令,包括列文件名、显示或删除文件、显示或改变当前目录等。(what、dir、type
19、、delete、cd、which)what:显示当前目录下所有与matlab相关的文件及它们的路径。dir:显示当前目录下所有的文件which:显示某个文件的路径cd path:由当前目录进入path目录cd.:返回上一级目录cd:显示当前目录type filename:在命令窗口中显示文件filenamedelete filename:删除文件filename,七、使用帮助1、help命令,在命令窗口中显示MATLBA的所有函数都是以逻辑群组方式进行组织的,而MATLAB的目录结构就是以这些群组方式来编排的。help matfun:矩阵函数数值线性代数help general:通用命令hel
20、p graphics:通用图形函数help elfun:基本的数学函数help elmat:基本矩阵和矩阵操作help datafun:数据分析和傅立叶变换函数help ops:操作符和特殊字符,help polyfun:多项式和内插函数help lang:语言结构和调试help strfun:字符串函数help control:控制系统工具箱函数2、helpwin:帮助窗口3、helpdesk:帮助桌面,浏览器模式4、lookfor命令:返回包含指定关键词的那些项5、demo:打开示例窗口,矩阵生成不但可以使用纯数字(含复数),也可以使用变量(或者说采用一个表达式)。矩阵的元素直接排列在方括
21、号内,行与行之间用分号隔开,每行内的元素使用空格或逗号隔开。大的矩阵可以用分行输入,回车键代表分号。,y=2,4,53 6 8y=2 4 5 3 6 8,一、矩阵的输入,第二节 MATLAB矩阵运算及多项式处理,a=1;b=2;c=3;x=5 b c;a*b a+c c/bx=5.000 2.000 3.000 2.000 4.000 1.500,1、在命令窗口中输入,(1)用线性等间距生成向量矩阵(start:step:end)a=1:2:10a=1 3 5 7 9,其中start为起始值,step为步长,end为终止值。当步长为1时可省略step参数;另外step也可以取负数。,2、语句生
22、成,(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,(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)产生一个mn的均匀分别的随机矩阵,(3)a=logspace(n1,n2,n)在对数空间上,行矢量的值从10n1到10n2,数据个数为n,缺省n为50。这个
23、指令为建立对数频域轴坐标提供了方便。a=logspace(1,3,3)a=10 100 1000,eye(2,3)ans=1 0 0 0 1 0zeros(2,3)ans=0 0 0 0 0 0ones(2,3)ans=1 1 1 1 1 1V=5 7 2;A=diag(V)A=5 0 0 0 7 0 0 0 2,eye(2)ans=1 0 0 1zeros(2)ans=0 0 0 0ones(2)ans=1 1 1 1,如果已知A为方阵,则V=diag(A)可以提取A的对角元素构成向量V。,1、转置:对于实矩阵用()符号或(.)求转置结果是一样的;然而对于含复数的矩阵,则()将同时对复数进行
24、共轭处理,而(.)则只是将其排列形式进行转置。,a=1 2 3;4 5 6a=1 4 2 5 3 6,a=1 2 3;4 5 6.a=1 4 2 5 3 6,b=1+2i 2-7ib=1.0000-2.0000i 2.0000+7.0000ib=1+2i 2-7i.b=1.0000+2.0000i 2.0000-7.0000i,二、矩阵的运算,+;-;*;和/;.*;.;./;.如:a=1 2;3 4;b=3 5;5 9c=a+b d=a-bc=d=4 7-2-3 8 13-2-5a*b=13 23;29 51a/b=-0.50 0.50;3.50 1.50ab=-1-1;2 3a3=37 5
25、4;81 118a.*b=3 10;15 36a./b=0.33 0.40;0.60 0.44a.b=3.00 2.50;1.67 2.25a.3=1 8;27 64,2、四则运算与幂运算,只有维数相同的矩阵才能进行加减运算。注意只有当两个矩阵中前一个矩阵的列数和后一个矩阵的行数相同时,才可以进行乘法运算。ab运算等效于求a*x=b的解;而a/b等效于求x*b=a的解。只有方阵才可以求幂。点运算是两个维数相同矩阵对应元素之间的运算,在有的教材中也定义为数组运算。,3、逆矩阵与行列式计算求逆:inv(A);求行列式:det(A)要求矩阵必须为方阵,4、了解矩阵超越函数在MATLAB中exp、sq
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 控制系统 仿真
链接地址:https://www.31ppt.com/p-5841170.html