控制系统仿真01―MATLAB语言及编程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

控制系统仿真TheSimulationofControlSystem自动化学院尹怡欣Tel:010-62332262,E-mail:yyx_ustb@sina.comCyberneticsMATLAB语言及编程控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第2页|自动化学院主要内容MATLAB的基本数学函数和常用命令的使用;MATLAB的m文件的建立与使用;MATLAB的矩阵元素的输入及特殊矩阵的实现;MATLAB的矩阵运算和向量运算;MATLAB的外部命令调用方法;MATLAB的基本输入/输出函数及其应用;MATLAB的关系运算和逻辑运算;MATLAB的条件转移语句、循环语句等常用控制语句的使用;MATLAB的基本绘图、字符添加、图形控制和图形修饰命令。控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第3页|自动化学院MATLAB简介MATLAB语言的显著特点具有强大的矩阵运算能力:MatrixLaboratory(矩阵实验室),使得矩阵运算非常简单。是一种演算式语言MATLAB的基本数据单元是既不需要指定维数,也不需要说明数据类型的矩阵(向量和标量为矩阵的特例),而且数学表达式和运算规则与通常的习惯相同。因此MATLAB语言编程简单,使用方便。控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第4页|自动化学院MATLAB简介MATLAB常用工具箱通讯工具箱(CommunicationsToolbox);控制系统工具箱(ControlSystemsToolbox);数据获得工具箱(DataAcquisitionToolbox);数据库工具箱(DatabaseToolbox);滤波器设计工具箱(FilterDesignToolbox);模糊逻辑工具箱(FuzzyLogicToolbox);图象处理工具箱(ImageProcessingToolbox);映射工具箱(MappingToolbox);神经网络工具箱(NeuralNetworkToolbox);优化工具箱(OptimizationToolbox);鲁棒控制工具箱(RobusControlToolbox);信号处理工具箱(SignalProcessingToolbox);统计学工具箱(StatisticsToolbox);系统辨识工具箱(SystemIdentificationToolbox);小波分析工具箱(WaveletToolbox)。控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第5页|自动化学院MATLAB简介MATLAB的启动安装正版MATLABMATLAB启动后将出现命令窗口等。在MATLAB命令窗口中——MATLAB的命令提示符|——为输入字符提示符。MATLAB命令窗口就是MATLAB语言的工作空间MATLAB的各种功能的执行必须在此窗口下才能实现在这种环境下输入的MATLAB语句称为“窗口命令”。窗口命令,就是在上述环境下输入的MATLAB语句,并直接执行它们完成相应的运算、绘图等。如果用户是第一次使用MATLAB,则建议首先在命令行中键入demo命令,它将启动MATLAB的演示程序,用户可以在这些演示程序中领略到MATLAB所提供的强大的运算和绘图功能。控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第6页|自动化学院MATLAB基本操作MATLAB的语言结构MATLAB语句的一般形式变量名=表达式–其中,等号右边的表达式可由操作符或其它字符、函数和变量名组成,它可以是MATLAB允许的数学或矩阵运算,也可以包含MATLAB下的函数调用;等号左边的变量名为MATLAB语句右边表达式的返回值语句所赋值的变量的名字。–在调用函数时,MATLAB允许一次返回多个结果,这时等号左边的变量名需用[]括起来,且各个变量名之间用逗号分隔开,如果左边的变量名缺省时返回值自动赋给ans。命令行编辑器(1)方向键和控制键可以编辑修改已输入的命令↑:回调上一行命令↓:回调下一行命令(2)命令窗口的分页输出–moreoff:不允许分页moreon:允许分页–more(n):指定每页输出的行数–回车前进一行,空格键显示下一页,q结束当前显示。(3)多行命令(…)–如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。–S=1-12+13+4+…9-4-18;控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第7页|自动化学院MATLAB基本操作MATLAB的语言结构MATLAB中使用的算术运算符对于矩阵来说,这里左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于标量,两种除法运算的结果相同,如1/4和4\1有相同的值0.25。常用的十进制符号如小数点、负号等,在MATLAB中也可以同样使用,表示10的幂次要用符号e或E,如:3、-99、0.0001、1.6e-20、6.2e23。算术运算符意义算术运算符意义+加\左除-减∕右除*乘^幂控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第8页|自动化学院MATLAB基本操作MATLAB的语言结构MATLAB中使用的变量在MATLAB中变量名必须以字母开头,之后可以是任意字母、数字或者下划线(不能超过19个字符),但变量中不能含有标点符号。变量名区分字母的大小写,同一名字的大写与小写被视为两个不同的变量。一般说来,在MATLAB下变量名可以为任意字符串。但MATLAB保留了一些特殊的字符串如表所示。特殊变量取值特殊变量取值ans默认变量名jj=√-1inf无穷大,如1/0flops浮点运算数eps最小数,如1/infnargin函数的输入变量数目NaN不定量,如0/0nargout函数的输出变量数目pi圆周率realmin最小的可用正实数ii=√-1readmax最大的可用正实数控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第9页|自动化学院MATLAB基本操作MATLAB的语言结构MATLAB的语句和执行MATLAB命令语句能即时执行,并得出中间结果。完成了MATLAB所有命令语句的输入,也就完成了它的执行,直接便可得到最终结果。因此,MATLAB清晰地体现了类似“演算纸”的功能。MATLAB语句既可由分号结束,也可由逗号或换行号结束,但含义不同。–如果用分号“;”结束,则说明除了这一条命令外还有下一条命令等待输入,MATLAB这时将不立即显示运行的中间结果,而等待下一条命令的输入,如以上前两条命令;–如果以逗号“,”或回车结束,则将把左边返回的内容全部显示出来,如以上后两条命令。–当然在任何时候也可输入相应的变量名来查看其内容。在MATLAB中,几条语句也可以出现在同一行中,只要用分号或逗号将它们分割。例:a=5;b=6;c=a*bc=30d=a+bd=11例:a=5;b=6;c=a*b;d=a+bd=11控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第10页|自动化学院MATLAB基本操作MATLAB的语言结构MATLAB的语句和执行MATLAB工作空间中的变量在退出MATLAB时会丢失,如果在退出MATLAB前想将工作空间中的变量保存到文件中,则可以调用save命令来完成。–save文件名变量列表其它选项–这一命令中不能使用逗号,不同的元素之间只能用空格来分隔。–这里的mydat也可省略,这时将工作空间中的所有变量自动地存入到文件matlab.mat中了。应该指出的是,这样存储的文件均是按照二进制的形式进行的,所以得出的文件往往是不可读的,如果想按照ASCII码的格式来存储数据,则可以在命令后面加上一个控制参数-ascii,该选项将变量以单精度的ASCII码形式存入文件中去,如果想获得高精度的数据。则可使用控制参数:-ascii-double。例:把工作空间中的a,b,c变量存到mydat.mat文件中savemydatabc例:将整个工作空间中所有的变量全部存入mydat.mat文件中savemydat控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第11页|自动化学院MATLAB基本操作MATLAB的语言结构MATLAB的语句和执行MATLAB提供的load命令可以从文件中把变量调出并重新装入到MATLAB的工作空间中去,该函数的调用格式与save命令同。–load文件名变量列表其它选项工作空间中变量的保存和调出也可利用菜单项中的File|SaveWorkspaceAs…和File|Open命令来完成。查看目前的工作空间中都有哪些变量名,则可以使用who命令来完成。进一步了解这些变量的具体细节,则可以使用whos命令来查看。使用clear命令来删除其中一些不再使用的变量名,这样可使得整个工作空间更简洁,节省一部分内存。例:把文件mydat.mat数据提取到工作空间中的a,b,c变量loadmydatabcwhoYourvariablesare:abcdclearabclear控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第12页|自动化学院MATLAB基本操作MATLAB的文件管理“窗口命令”难以实现复杂功能,为了实现诸如循环、条件、分支等功能MATLAB利用了m文件,m文件是由一系列的MATLAB语句组成。MATLAB是一种解释性语言,用户可以在MATLAB工作环境下一条一条地键入命令,也可以直接键入用MATLAB的语言编写的m文件名,或它们结合起来使用,这样MATLAB软件对此命令或m文件中各条命令进行翻译,然后在MATLAB环境下对它进行处理,最后返回运算结果。因此,MATLAB语言的结构可用下式进行描述MATLAB语言=窗口命令+m文件控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第13页|自动化学院MATLAB基本操作MATLAB的文件管理由于MATLAB本身被认为是一高效的语言,所以用它可编写出具有特殊意义的磁盘文件来,这些磁盘文件是由一系列的MATLAB语句组成,既可能是一系列窗口命令语句,又可以是由各种控制语句和说明语句构成的函数文件。由于它们都是由ASCII码构成的,其扩展名均为“.m”,故统称为m文件。文本文件文本文件是一系列的MATLAB语句组成,它类似于DOS下的批处理文件,在MATLAB的提示符下直接键入文本文件名,便可自动执行文件中的一系列命令,直至给出最终结果。文本文件在工作空间中运算的变量为全局变量。控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第14页|自动化学院MATLAB基本操作MATLAB的文件管理文本文件例:求函数在x=-4时的值。解:首先建立以下文本文件myfile.m文本文件myfile.m建立后,在MATLAB命令窗口中输入命令x=-4;myfilex1=4x2=-62y=-62这里执行的中间变量x1,x2都被保存下来,这与下面的函数文件是不同的。3xxy%thisisanexamplex1=abs(x)x2=sqrt(x1)+x^3y=x2控制工程基础——绪论控制系统仿真——MATLAB语言及编程2020年1月26日11时49分第15页|自动化学院MATLAB基本操作MATLAB的文件管理函数文件函数文件的功能是建立一个函数,且这个函数可以同MAT

1 / 66
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功