计算机仿真讲义080301.docx
《计算机仿真讲义080301.docx》由会员分享,可在线阅读,更多相关《计算机仿真讲义080301.docx(71页珍藏版)》请在冰豆网上搜索。
计算机仿真讲义080301
计算机仿真
教案
主讲教师:
欧阳鑫玉
电子与信息工程学院
二零一零年八月二十八日
课程介绍:
♠定位:
专业基础选修课(双语教学)
♠目标:
掌握计算机仿真语言MATLAB的使用及程序设计方法,并能将其与相关专业课程相结合,进行系统建模、仿真和科学研究等。
参考教材:
1.CONTROLSYSTEMSIMULATIONANDCAD(自编英文教材,下载地址:
2.系统仿真分析与设计——MATLAB语言工程应用,黄文梅等,国防科技大学出版社;
3.MATLAB6.1使用指南(上册),苏金明等,电子工业出版社。
讲义:
自编
特点:
可以不必具备其它语言的基础,语法简单,上手容易,但函数繁多。
课程安排:
学时:
32学时
安排:
授课20学时(10周),上机12学时(6周)。
要求:
不得缺勤;上课遵守纪律;实验报告必须齐备;按时交作业。
答疑:
双周周二下午1:
30-3:
30;或网上答疑.
考核方式:
平时成绩占10%,实验成绩占20%,期末成绩占70%。
期末考试为闭卷上机考试。
授课计划:
周
别
课堂教学
课外作业
星期
时数
教学内容
教学方式
布置作业
题数
复习及作业所需时间
1
1
2
Chapter1IntroductiontoMATLAB
讲授、CAI
1
2
2
1
2
Chapter2BasicMatlabCommands
讲授、CAI
2
2
3
1
2
2.4ColonOperatorandSubmatrices
2.5Expressions
Chapter3ProgramminginMatlab
讲授、CAI
3
2
4
1
2
实验一、MATLAB环境的熟悉与基本运算
讲授、操作
1
5
1
2
3.3MatlabScripts(M-files)
3.4MatlabFunction
3.5DebuggingaMatlabM-file
3.6ProgrammingTips
讲授、CAI
2
2
6
1
2
实验二、MATLAB语言的程序设计
设计、操作
1
7
1
2
Chapter4BasicPlottingFunction
讲授、CAI
2
2
8
1
2
4.2BasicPlottingCommands
4.3LabelingGraphs
4.4PrintingGraphics
Chapter5AplicationofMatlabinControlSystemSimulation
讲授、CAI
2
2
9
1
2
实验三、MATLAB的图形绘制
设计、操作
1
10
1
2
5.4ModelConversion
5.5SystemInterconnections
讲授、CAI
3
2
11
1
2
5.6State-SpaceRealizations
5.7TimeandFrequencyResponse
5.8RootLocusDesign
Chapter6Simulink———InteractiveandIntegrationEnvironment
讲授、CAI
2
2
12
1
2
实验四、控制系统的频域和时域分析
设计、操作
1
13
1
2
6.5CreatingandMaskedSubsystem
讲授、CAI
2
2
14
1
2
实验五、采用SIMULINK的系统仿真
设计、操作
1
15
1
2
Chapter7PIDControl
讲授、CAI
2
2
16
1
2
实验六、控制系统PID校正器设计法
设计、操作
1
目录
目录3
前言计算机仿真基本概念5
Chapter1IntroductiontoMATLAB7
1.1TheMATLABCharacteristics7
1.2TheMATLABEnvironment7
1.3Summary14
Exercise:
15
Chapter2BasicMatlabCommands16
2.1HowtorunMatlab16
2.2Matrices(矩阵)16
2.3Scalar,VectorandMatrixFunctions19
2.4ColonOperatorandSubmatrices20
2.5Expressions21
Exercise:
23
Chapter3ProgramminginMatlab24
3.1RelationalandLogicalOperators24
3.2FlowControl25
3.3.MatlabScripts(M-files)28
3.4.MatlabFunction28
3.5.DebuggingaMatlabM-file29
3.6ProgrammingTips(self-study)30
Exercise:
30
Chapter4BasicPlottingFunction32
4.1FigureWindowsandAxes32
4.2BasicPlottingCommands33
4.3LabelingGraphs40
4.4PrintingGraphics42
Exercise:
42
Chapter5AplicationofMatlabinControlSystemSimulation43
5.1LTIModelsIntroduction43
5.2CreatingLTIModels45
5.3LTIProperties50
5.4ModelConversion51
5.5SystemInterconnections51
5.6State-SpaceRealizations52
5.7TimeandFrequencyResponse53
5.8RootLocusDesign55
Exercise:
56
Chapter6Simulink--InteractiveandIntegrationEnvironment58
6.1Introduce58
6.2BuildingaSimpleModel58
6.3BasicOperationandGeneralKnowledge61
6.4IntroducetoLibraryandItsFunction61
6.5CreatingandMaskedSubsystem62
Exercise:
64
Chapter7PIDControl65
7.1Proportional-Integral-DerivativeControl65
7.2Automatictuning66
Exercise:
68
前言计算机仿真基本概念
控制系统的计算机仿真是一门涉及到控制理论、计算数学与计算机技术的综合性新型学科。
这门学科的产生及发展差不多是与计算机的发明及发展同步进行的。
它包含控制系统分析、综合、设计、检验等多方面的计算机处理。
计算机仿真基于计算机的高速而精确的运算,以实现各种功能。
基本概念
系统:
系统是物质世界中相互制约又相互联系着的、以期实现某种目的的一个运动整体,这个整体叫做系统。
“系统”是一个很大的概念,通常研究的系统有工程系统和非工程系统。
工程系统有:
电力拖动自动控制系统、机械系统、水力、冶金、化工、热力学系统等。
非工程系统:
宇宙、自然界、人类社会、经济系统、交通系统、管理系统、生态系统、人口系统等。
模型:
模型是对所要研究的系统在某些特定方面的抽象。
通过模型对原型系统进行研究,将具有更深刻、更集中的特点。
模型分为物理模型和数学模型两种。
数学模型可分为机理模型、统计模型与混合模型。
系统仿真:
就是以系统数学模型为基础,以计算机为工具对系统进行实验研究的一种方法。
要对系统进行研究,首先要建立系统的数学模型。
对于一个简单的数学模型,可以采用分析法或数学解析法进行研究,但对于复杂的系统,则需要借助于仿真的方法来研究。
仿真就是模仿真实的事物,也就是用一个模型(包括物理模型和数学模型)来模仿真实的系统,对其进行实验研究。
用物理模型来进行仿真一般称为物理仿真,它主要是应用几何相似及环境条件相似来进行。
而由数学模型在计算机上进行实验研究的仿真一般则称为数字仿真。
我们这里讲的是后一种仿真。
数字仿真是指把系统的数学模型转化为仿真模型,并编成程序在计算机上投入运行、实验的全过程。
通常把在计算机上进行的仿真实验称为数字仿真,又称计算机仿真。
计算机仿真三要素:
系统、模型与计算机。
它们之间的关系如下:
数学模型建立:
实际上是一个模型辩识的过程。
所建模型常常是忽略了一些次要因素的简化模型。
仿真模型建立:
即是设计一种算法,以使系统模型能被计算机接受并能在计算机上运行。
显然,由于在算法设计上存在着误差,所以仿真模型对于实际系统将是一个二次简化模型。
仿真实验:
即是对模型的运算。
需要设计一个合理的、服务于系统研究的仿真软件。
系统仿真技术实质上就是建立仿真模型并进行仿真实验的技术。
系统仿真的基本过程:
(1)建立系统的数学模型;
(2)转换成仿真模型;
(3)编写仿真程序;
(4)对仿真模型进行修改校验,看与实际系统是否一致,确认模型的正确性;
(5)运行仿真程序,在不同的初始条件和参数下,对系统进行反复分析和研究。
Chapter1IntroductiontoMATLAB
TheMainContents:
ØTheMATLABCharacteristics
ØTheMATLABEnvironment
ØSummary
1.1TheMATLABCharacteristics
1.1.1TheAdvantagesofMATLABforTechnicalProgramming
MATLABhasmanyadvantagescomparedtoconventionalcomputerlanguagesfortechnicalproblemsolving.Amongthemare:
(1)EaseofUse
(2)PlatformIndependence
(3)PredefinedFunctions(预定函数)
(4)Device-IndependentPlotting
(5)GraphicalUserInterface(图形用户界面)
(6)MATLABCompiler
1.1.1MATLAB编程技术的优势MATLAB具有许多优势相比传统的计算机语言技术解决问题。
其中包括:
(1)易用性
(2)平台独立性(3)预定义函数(预定函数)(4)与设备无关的策划(5)图形用户界面(图形用户界面)(6)MATLAB编译器
1.1.2DisadvantagesofMATLAB
MATLABisaninterpreted(解释)language,andthereforecanexecutemoreslowlythancompiled(编译)languages.Thisproblemcanbemitigated(解决)byproperlystructuringtheMATLABprogramandbytheuseoftheMATLABcompilertocompilethefinalMATLABprogrambeforedistribution(发行)andgeneraluse.MATLAB是一种解释(解释)语言,因此可以执行更慢比编译(编译)的语言。
可以减轻这一问题(解决)妥善安排MATLAB程序,通过使用MATLAB编译器编译最后的MATLAB程序之前分布(发行)和一般使用
1.2TheMATLABEnvironment
TheMATLABdevelopmentenvironmentisasetoftoolstohelpyouuseMATLABfunctionsandfiles.Manyofthesetoolsaregraphicaluserinterfaces(GUI).ThefundamentalunitofdatainanyMATLABprogramisthearray(数组/阵列).Anarrayisacollectionofdatavaluesorganizedintorows(行)andcolumns(列),andknownbysinglename(唯一名字).Individualdatavalueswithinanarraymaybeaccessed(访问)byincludingthenameofthearrayfollowedbysubscripts(写在下方的)inparentheses(圆括号)thatidentifytherowandcolumnoftheparticularvalue,forexample:
A(2,5)=3.Evenscalars(数)aretreatedasarraysbyMATLAB,theyaresimplyarrayswithonlyonerowandonecolumn.MATLAB开发环境是一组工具,以帮助您使用MATLAB函数和文件。
这些工具是图形用户界面(GUI)。
数据在任何MATLAB程序的基本单位是数组(数组/阵列)。
数组是一组数据值组织成行(行)和列(列) 辽宁科技大学《计算机仿真》教案 8以单一名称(唯一名字)。
数组中的单个数据值可能被访问(访问),包括数组下标紧随其后的名称(写在下方的)括号内(圆括号),识别特定值的行和列,例如:
(2、5)=3。
即使是标量(数)被当作数组通过MATLAB,他们只是数组只有一行和一列。
1.2.1TheMATLABDesktop
ThefirsttimeMATLABstarts,thedesktopappearsasshowninthefollowingillustration(插图).MATLAB第一次启动时,桌面出现下图所示
•StartButtonandLaunchPad(启动平台)—RuntoolsandaccessdocumentationforallofyourMathWorksproducts.
•CommandWindow(命令窗口)—RunMATLABfunctions.
•CommandHistoryWindow(命令历史窗口)—Viewalog(日志)ofthefunctionsyouenteredintheCommandWindow,copythem,andexecutethem.
•HelpBrowser(帮助浏览器)—ViewandsearchthedocumentationforthefullfamilyofMATLABproducts.
•CurrentDirectoryBrowser(当前路径窗口)—ViewMATLABfilesandrelatedfiles,performfileoperationssuchasopen,andfindcontent.
•WorkspaceBrowser(工作空间浏览器)—Viewandmakechangestothecontentsoftheworkspace.
•ArrayEditor(阵列编辑器)—Viewarraycontentsinatableformat(表格格式)andeditthevalues.
•Editor/Debugger(编辑器/调试器)—Create,edit,anddebugM-files(filescontainingMATLABfunctions).
•Profiler(编译器)—Assess(评估)theperformance(性能)ofyourM-filesusingthisgraphicalinterface.开始按钮和发射台(启动平台)为你所有的工具和访问文档MathWorks产品。
•命令窗口(命令窗口)MATLAB函数。
•命令历史记录窗口(命令历史窗口)视图日志(日志)在命令窗口输入的函数,拷贝,并执行。
•帮助浏览器(帮助浏览器)视图和搜索的文档 MATLAB的家庭产品。
当前目录浏览器(当前路径窗口)视图MATLAB文件和相关文件、执行文件操作,如打开,找到内容。
•工作空间浏览器(工作空间浏览器)的观点和对工作空间的内容进行更改。
•数组编辑器(阵列编辑器)查看数组的内容以表格格式
1.2.2TheCommandWindow
TherighthandsideoftheMATLABdesktopcontainstheCommandWindow.Userscanenterinteractive(交互式)commandsatthecommandprompt(>>提示)intheCommandWindow,andtheywillbeexecutedonthespot(当场).1.2.2命令窗口右边的MATLAB桌面包含命令窗口。
用户可以输入互动(交互式)命令在命令提示符
(1)TheFormatCommand命令的格式
Theformat(格式)commandcontrolsthenumeric(数字)formatofthevalues(价值观)displayed(显示的)byMATLAB.Thecommandaffectsonlyhownumbersaredisplayed,nothowMATLABcomputesorsavesthem.
formatshort/shorte:
5为有效数字
formatlong/longe:
15为有效数字
formatbank:
钱币表示格式格式(格式)命令控制数字(数字)格式的值(价值观)显示(显示的)由MATLAB。
只影响该命令显示数字,而不是如何MATLAB计算或者保存它们。
格式短/短e:
5为有效数字格式长/e:
15为有效数字格式银行:
钱币表示格式
Forexample:
format_demo
(2)Suppressing(禁止)Output!
!
!
不可加分号,否则不执行!
!
!
Ifyousimplytypeastatement(语句)andpressReturnorEnter,MATLABautomaticallydisplaystheresultsonscreen.However,ifyouendthelinewithasemicolon(;),MATLABperformsthecomputationbutdoesnotdisplayanyoutput.如果你只需输入一个语句(语句),按Return键或输入MATLAB自动在屏幕上显示结果。
然而,如果你结束与分号(;),MATLAB进行计算,但不显示任何输出。
Forexample,
>>a=magic(4);
>>b=magic(3)
ans=
8.001.006.00
3.005.007.00
4.009.002.00
!
!
!
不可加分号,否则不执行!
!
!
(3)LongCommandLines------用threeperiods(省略号...)长命令行
Ifastatementdoesnotfitononeline,usethreeperiods(省略号...),followedbyReturnorEntertoindicatethatthestatementcontinuesonthenextline.Forexample,如果不适合在一行上的一份声明中,使用三个时期(省略号……),随后返回或输入表明声明继续下一行。
例如
>>s=1-1/2+1/3-1/4+1/5-1/6+1/7-...
1/8+1/9-1/10+1/11-1/12;
(4)CommandLineEditing命令行编辑
Variousarrow(箭头)andcontrolkeys(控制键)onyourkeyboardallowyoutorecall,edit,andreusecommandsyouhavetypedearlier.
Thelistofavailablecommandlineeditingkeysisdifferentondifferentcomputers.Experimenttoseewhichofthefollowingkeysisavailableonyourmachine.各种箭头(箭头)和控制键(控制键)在你的键盘让你记得,编辑、输入和重用命令。
可用命令行编辑键的列表是不同的在不同的电脑。
实验看到下列哪个键可在您的机器上。
Demo:
semicolon_demo
1.2.3TheCommandHistoryWindow命令历史窗口
(1)ViewingStatementsintheCommandHistoryWindow;
(2)DeletingEntries(条目)intheCommandHistoryWindow.
(1)命令历史记录窗口中查看语句
(2)删除条目(条目)的命令历史记录窗口。
Demo:
Historywindow_demo
1.2.4TheEdit/DebugWindow编辑/调试窗口
AnEdit/DebugWindowisusedtocreateM-files(M文件),ortomodifyexistingones.AnEdit/DebugWindowiscreated