MATLAB语言与控制系统仿真华中科技大学电气与电子工程学院应用电子工程系康勇李勋二00一年十一月通过本课程的学习,使学生初步掌握当前流行的演算式MATLAB语言的基本知识,结合所学课程《自动控制原理》,学会运用MATLAB语言进行控制系统仿真和辅助设计的基本技能,为今后从事科学研究打下较好的基础。课程任务学时安排与考试形式总学时:32(其中上机学时12)考试方式:上机操作第一章计算机仿真和辅助设计概述(1)第二章MATLAB语言基础(5)第三章控制系统的数学描述与建模(4)第四章控制系统的分析方法(4)第五章SIMULINK仿真基础(6)教学内容参考书目•《MATLAB语言与自动控制系统设计》机械工业出版社,1997年,魏克新•《控制系统数字仿真与CAD》机械工业大学出版社,1999年,张晓华•《反馈控制系统设计与分析——MATLAB语言应用》清华大学出版社,2000年,薛定宇•《基于MATLAB的系统分析与设计——控制系统》,西安电子科技大学出版社,1999年,楼顺天•《MATLAB5.X应用与技巧》,科学出版社,1999年,蒙以正•《MATLAB5.X入门与应用》,科学出版社,1999年,柳承茂•《MATLAB电子仿真与应用》,国防工业出版社,2001年,韩竹利CH1、计算机仿真和辅助设计概述第一节计算机仿真和辅助设计的基本概念一、初识控制系统计算机仿真和辅助设计例exp1_1.m例exp1_2.m/exp1_3.m/exm1_2.mdl二、计算机辅助设计与仿真的概念1、计算机辅助设计的概念•计算机辅助设计(CAD)技术是利用计算机高速而精确的计算能力、大容量存储和处理数据的能力,结合设计者的综合分析、逻辑判断及创造性思维,用以加快设计进程、缩短设计周期、提高设计质量的技术。•说明:计算机辅助设计从广义上来讲它包含了计算机仿真的内容,从狭义上说它的主要工作是利用计算机的运算能力来处理设计者手工处理所遇到的不便与繁琐。2、计算机仿真的概念仿真的定义•仿真的基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求对真实过程的认识。它所遵循的基本原则是相似性原理。计算机仿真的定义•计算机仿真是基于所建立的系统仿真模型,利用计算机对系统进行分析与研究的方法。1、模型的定义•模型是对现实系统有关结构信息和行为的某种形式的描述,是对系统的特征与变化规律的一种定量抽象,是人们认识事物的一种手段或工具。2、模型的分类(1)物理模型•指不以人的意志为转移的客观存在的实体,如:飞行器研制中的飞行模型;船舶制造中的船舶模型等。(2)数学模型•是从一定的功能或结构上进行相似,用数学的方法来再现原型的功能或结构特征。三、计算机仿真模型(3)仿真模型•指根据系统的数学模型,用仿真语言转化为计算机可以实施的模型。四、计算机仿真的三要素及基本步骤(内容)1、三要素(1)系统:研究的对象(2)模型:系统的抽象(3)计算机:工具与手段系统模型计算机建立仿真模型建立数学模型仿真实验结果分析图1.1计算机仿真三要素关系图2、基本步骤•包括三个基本的内容:建模仿真实验结果分析问题的阐述设置目标建立模型仿真实验设计编程序验证正确与否确认运行分析输出结果是是否否图1.2计算机仿真程序流程第二节仿真的分类一、按模型分类1、物理仿真:采用物理模型,有实物介入!•具有效果逼真,精度高等优点,但造价高或耗时长,大多在一些特殊场合下采用(如导弹、卫星一类飞行器的动态仿真,发电站综合调度仿真与培训系统等),具有实时性、在线的特点。2、数学仿真:采用数学模型•在计算机上进行,具有非实时性、离线的特点,经济、快速、实用。二、按计算机类型分类1、模拟仿真:采用数学模型,在模拟计算机上进行的实验研究。50年代•描述连续物理系统的动态过程比较自然、逼真,具有仿真速度快、失真小、结果可靠的优点,但受元器件性能影响,仿真精度较低,对计算机控制系统的仿真较困难,自动化程度低。•模拟计算机的核心是运算部分,它由我们熟知的“模拟运算放大器”为主要部件所构成。2、数字仿真:采用数学模型,在数字计算机上借助于数值计算方法所进行的仿真实验。60年代•计算与仿真的精度较高。理论上计算机的字长可以根据精度要求来“随意”设计,因此其仿真精度可以是无限,但是由于受到误差积累、仿真时间等因素影响,其精度也不易定得太高。•对计算机控制系统的仿真比较方便。仿真实验的自动化程度较高,可方便地实现显示、打印等功能。•计算速度比较低,在一定程度上影响到仿真结果的可信度。但随着计算机技术的发展,“速度问题”会在不同程度上有所改进与提高。•数字仿真没有专用的仿真软件支持,需要设计人员用高级程序语言编写求解系统模型及结果输出的程序。3、混合仿真:结合了模拟仿真与数字仿真。4、现代计算机仿真:采用先进的微型计算机,基于专用的仿真软件、仿真语言来实现,其数值计算功能强大,使用方便,易学。80年代以来第三节仿真技术的应用与发展一、仿真技术在工程中的应用1、航空与航天工业•飞行器设计中的三级仿真体系:纯数学模拟(软件)、半实物模拟、实物模拟或模拟飞行实验。•飞行员及宇航员训练用飞行仿真模拟器。2、电力工业•电力系统动态模型实验:电力系统负荷分配、瞬态稳定性以及最优潮流控制等。•电站操作人员培训模拟系统。3、原子能工业•模拟核反应堆•核电站仿真器用来训练操作人员以及研究异常故障的排除处理。4、石油、化工及冶金工业5、非工程领域•医学•社会学•宏观经济与商业策略的研究二、应用仿真技术的意义1、经济•大型、复杂系统直接实验是十分昂贵的,如:空间飞行器的一次飞行实验的成本约在1亿美元左右,而采用仿真实验仅需其成本的1/10~1/5,而且设备可以重复使用。2、安全•某些系统(如载人飞行器、核电装置等),直接实验往往会有很大的危险,甚至是不允许的,而采用仿真实验可以有效降低危险程度,对系统的研究起到保障作用。3、快捷•提高设计效率:比如电路设计,服装设计等等。4、具有优化设计和预测的特殊功能•对一些真实系统进行结构和参数的优化设计是非常困难的,这时仿真可以发挥它特殊的优化设计功能。•在非工程系统中(如社会、管理、经济等系统),由于其规模及复杂程度巨大,直接实验几乎不可能,这时通过仿真技术的应用可以获得对系统的某种超前认识。三、仿真技术的发展趋势1、硬件方面:基于多CPU并行处理技术的全数字仿真将有效提高仿真系统的速度,大大增强数字仿真的实时性。2、应用软件方面:直接面向用户的数字仿真软件不断推陈出新,各种专家系统与智能化技术将更深入地应用于仿真软件开发之中,使得在人机界面、结果输出、综合评判等方面达到更理想的境界。3、分布式数字仿真:充分利用网络技术,协调合作,投资少,效果好。4、虚拟现实技术:综合了计算机图形技术、多媒体技术、传感器技术、显示技术以及仿真技术等多学科,使人置身于真实环境之中。第四节计算机仿真软件一、仿真软件的发展1、程序编程阶段•所有问题(如:微分方程求解、矩阵运算、绘图等)都是用高级算法语言(如C、FORTRAN等)来编写。2、程序软件包阶段•出现了“应用子程序库”。3、交互式语言阶段(仿真语言)•仿真语言可用一条指令实现某种功能,如“系统特征值的求解”,使用人员不必考虑什么算法,以及如何实现等低级问题。4、模型化图形组态阶段•符合设计人员对基于模型图形化的描述。二、几种仿真软件1、PSPICE、ORCAD:通用的电子电路仿真软件,适合于元件级仿真。2、SYSTEMVIEW:系统级的电路动态仿真软件3、MATLAB:具有强大的数值计算能力,包含各种工具箱,其程序不能脱离MATLAB环境而运行,所以严格讲,MATLAB不是一种计算机语言,而是一种高级的科学分析与计算软件。4、SIMULINK:是MATLAB附带的基于模型化图形组态的动态仿真环境。本章小结•仿真是对系统进行研究的一种实验方法,它的基本原则是相似性原理。•数字仿真具有经济、安全、快捷的特点。•仿真是在模型上进行的,建立系统的模型是仿真的关键内容。•系统模型可以分为物理模型、数学模型及仿真模型,据此可将仿真分为物理仿真和数学仿真两大类。•系统、模型、计算机是数字仿真的三个基本要素,建模、仿真实验及结果分析是三项基本内容。•MATLAB与SIMULINK是当今广泛为人们采用的控制系统数字仿真与CAD应用软件。