Matlab编程及系统仿真调好.ppt
《Matlab编程及系统仿真调好.ppt》由会员分享,可在线阅读,更多相关《Matlab编程及系统仿真调好.ppt(324页珍藏版)》请在三一办公上搜索。
1、1,Matlab编程及系统仿真,华中科技大学文华学院控制系 余愿信息学部 B313,2,上课认真听讲 课后认真复习、加以实践 独立完成不定期课堂练习,不抄袭 上机是学习本课程的重要环节,珍惜上机的时间,学时安排:32(讲课)/8(实验)成绩=平时成绩+考试成绩 30%70%,3,MATLAB语言控制系统计算机仿真Simulink动态仿真集成环境基于MATLAB的控制系统分析与设计,本书内容:,4,第一章 绪论,1.1系统建模与仿真,1.2 Matlab相关知识简介,5,1.1系统建模与仿真,1.1.1 系统、模型、仿真的基本概念1.1.2 仿真软件的发展状况及应用,6,1.1.1系统、模型、仿
2、真的基本概念,系统:系统是客观世界中实体与实体之间相互作用、相互依赖所构成的具有某种特定功能的有机体。特点:系统作为一个整体存在,各个部分、元素之间相互联系、不可分割。,7,模型:系统模型是对实际系统的一种抽象,是对系统本质(或是系统的某种特性)的一种描述。模型可视为对真实世界中的物体或过程的信息进行形式化的结果。特点:模型具有与系统相似的特性,可以以各种形式给出我们感兴趣的信息。实体模型:与实物按一定比例制作的物理模型,如船模 数学模型:原始系统数学模型:对系统的原始数学描述,如加速度、概率密度函数等。仿真系统数学模型:适合在计算机上演算的数学模型。主要是根据计算机的运算特点、仿真方式、计算
3、方法、精度要求将原始数学模型转换为计算机程序。,1.1.1系统、模型、仿真的基本概念,8,1.1.1系统、模型、仿真的基本概念,仿真:以相似性原理、控制论、信息技术及相关领域的有关知识为基础,以计算机和各种专用物理设备为工具,借助系统模型对真实系统进行试验研究的一门综合性技术。,9,仿真的作用:仿真技术具有很高的科学研究价值和巨大的经济利益。由于仿真技术的特殊功效,特别是安全性和经济性,使得仿真技术得到广泛的应用。首先由于仿真技术在应用上的安全性,使得航空、航天、核电站等成为方技术最早的和最主要的应用领域。,1.1.1系统、模型、仿真的基本概念,10,1.1.2 仿真软件的发展状况及应用,仿真
4、软件:仿真软件是一类面向仿真用途的专业软件,它可能是面向通用的仿真,也可以是面向某个领域的仿真。功能如下:(1)为仿真提供算法支持。(2)模型描述,用来建立计算机仿真模型。(3)仿真实验的执行和控制。(4)仿真数据的显示、记录和分析。(5)对模型、实验数据、文档资料和其他仿真信息的存储、检索和管理(即用于仿真数据信息管理的数据库系统)。,11,1.1.2 仿真软件的发展状况及应用,根据软件功能,仿真软件可分为以下三个层次:(1)仿真程序库:有一组完成特定功能的程序组成的集合,专门面向某一问题或某一领域。它可能是用通用的语言(C+、FORTRAN等)开发的程序软件包,也可能是依附于某种集成仿真环
5、境的函数库或模块库。(2)仿真语言:多属于面向专门问题的高级语言,它是针对仿真问题,在高级语言的基础上研制的。(3)集成仿真环境:它是一组用于仿真的软件工具的集合,包括设计、分析、编制系统模型、编写仿真程序、创建仿真模型,运行、控制、观察仿真实验,记录仿真数据,分析仿真结果,校验仿真模型等。,12,1.1.2 仿真软件的发展状况及应用,计算机仿真的一般过程:第一步:根据仿真目的确定仿真方案 根据仿真目的确定相应的仿真结构和方法,规定仿真的边界条件与约束条件。第二步:建立系统的数学模型 根据系统的先验知识、实验数据及机理研究,按照物理原理或者采用系统辨识的方法,确定模型的类型、结构及参数。要确保
6、模型的准确性和经济性。,13,第三步:建立仿真模型 根据数学模型的形式、计算机类型、采用的高级语言或其它仿真工具,将数学模型转换为能在计算机上运行的程序或其它类型,获得系统的仿真模型。第四步:实验 设定实验环境、条件和记录数据,进行实验,并记录数据。第五步:进行仿真实验并输出仿真结果 通过实验对仿真系统模型及程序进行校验和修改,然后按系统仿真的要求输出仿真结果。,1.1.2 仿真软件的发展状况及应用,14,15,计算机仿真技术发展阶段:1.硬件发展,1.1.2 仿真软件的发展状况及应用,模拟计算机-数字计算机-使用基于数字计算机的仿真软件,说明:模拟计算机即模拟电子计算机,其各个主要部件的输入
7、量及输出量都是连续变化着的电压、电流等物理量。模拟计算机由若干种作用及数量不同的积分器、加法器、乘法器、函数发生器等部件组成、按照待研究问题的数学模型把一个部件的输出端与另一个或几个部件的输入端连接起来,用整个计算机的输出量与输入量之间的数学关系模拟所研究问题的客观过程。,1.硬件发展,16,2.软件发展,1.1.2 仿真软件的发展状况及应用,软件包(software package)类似windows或MATLAB工具箱中的文件夹。包括一个或一个系列具有一定功能的程序。软件包由一个基本配置和若干可选部件构成。,早期的数学软件包:针对数值计算 连续系统仿真语言CSSL(Continuous S
8、ystem Simulation Langusge)连续系统建模语言CSMP(Continuous System Modeling Program)微分分析器置换语言DARE(Differential Analyzer Replacement),17,1.1.2 仿真软件的发展状况及应用,ACSL仿真语言 需模型文件 提供命令进行仿真、分析 直接调用FORTRAN 提供系统模块,MATLAB/SIMULINK 免费高功能仿真软件,18,1.2 Matlab相关知识简介,1.2.1 Matlab的发展历程1.2.2 Matlab语言的特色1.2.3 Matlab的安装1.2.4 Matlab基础
9、操作,19,Cleve Moler和John Litter等人成立了一个名叫The MathWorks的公司,于1984年推出了第一个MATLAB的商业版,该版本已经用C语言作出了修改。,1.2.1 MATLAB的发展历程,1980年,美国新墨西哥州大学计算机主任Cleve Moler在讲授线性代数课程时,发现了用其他高级编程语言编程极为不便,便构思开发了MATLAB(即Matrix Laboratory,意为“矩阵实验室”),用Fortran语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。,早期只能做矩阵运算,内部数十个函数,简单的绘图功能。其后又增添了丰富多彩的图形图像处理、多媒
10、体功能、符号运算和它与其他流行软件的接口功能,使得 Matlab 的功能越来越强大。,20,Matlab的发展 1984年,Matlab 1.0版(DOS版,182K,20来个函数)1992年,Matlab 4.0版(93年推出Windows版本)1994年,Matlab 4.2,1999年,Matlab 5.3 2000年,Matlab 6.0,2002年,Matlab 6.5 2004年,Matlab 7.0,2006年,Matlab2006a 2007年,Matlab2007a、b 2008年,Matlab2008a、b 最新版Matlab2011b(7.12),目前,Matlab 已经
11、成为国际上最流行的科学与工程计算的软件工具,它已经不仅仅是一个“矩阵实验室”了,而成为了一种具有广泛应用前景的全新的计算机高级编程语言了,有人称它为“第四代”计算机语言。就影响而言,至今仍然没有一个别的计算软件可与 Matlab 匹敌。,21,Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国 MathWorks 公司推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。,在欧美各高等院校,Matlab已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、
12、动态系统仿真、图像处理等课程的基本教学工具,成为本科生、硕士生以及博士生必须掌握的基本技能。,22,数值计算功能,Matlab是一个交互式软件系统 给出一条命令,立即就可以得出该命令的结果,Matlab以矩阵作为基本单位,但无需预先指定维数(动态定维)按照IEEE的数值计算标准进行计算 提供十分丰富的数值计算函数,方便计算,提高效率 Matlab命令与数学中的符号、公式非常接近,可读性强,容易掌握,符号运算功能,和著名的 Maple 相结合,使得 Matlab 具有强大的符号计算功能,绘图功能,Matlab 提供了丰富的绘图命令,能实现一系列的可视化操作,1.2.2 Matlab的语言特色,2
13、3,24,1.2.3 Matlab的安装,硬件要求 x86:软件要求 Windows:Linux:Adobe acrobat reader,25,学习途径,参考书目:基于MATLAB、Simulik的系统仿真技术与应用 薛定宇学习网站:1.Matlab官方网站:http:/2.Matlab中国:http:/3.MATLAB中文爱好者论坛:http:/4.Matlab中文论坛:http:/,26,命令窗口,当前工作目录,当前工作空间,输入命令的历史记录,命令提示符,27,1.2.4 Matlab基础操作,一、MATLAB语言的显著特点1、具有强大的矩阵运算能力:Matrix Laboratory
14、(矩阵实验室),使得矩阵运算非常简单。2、是一种演算式语言MATLAB的基本数据单元是既不需要指定维数,也不需要说明数据类型的矩阵(向量和标量为矩阵的特例),而且数学表达式和运算规则与通常的习惯相同。因此MATLAB语言编程简单,使用方便。例 exp2_1.m,28,二、MATLAB命令窗口1、启动MATLAB命令窗口计算机安装好MATLAB之后,双击MATLAB图标,就可以进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。MATLAB语句形式 变量表达式;通过等于符号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的
15、结果。如果希望结果不被显示,则只要在语句之后加上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在MATLAB工作空间中分配了内存。,29,2、命令行编辑器(1)方向键和控制键可以编辑修改已输入的命令:回调上一行命令:回调下一行命令(2)多行命令()如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。S=1-12+13+4+9-4-18;,30,三、简单的数学运算(例exp2_2.m)1、常用的数学运算符,*(乘),/(右除),(左除),(幂)在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,而
16、分号则禁止结果显示。2、常用数学函数 abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj等 教材P16见表1-3,31,四、MATLAB的工作空间1、MATLAB的工作空间包含了一组可以在命令窗口中调整(调用)的参数who:显示当前工作空间中所有变量的一个简单列表 例如:who 得到结果:your variable are:a ans b c dwhos:则列出变量的大小、数据格式等详细信息clc:清屏,清除命令窗口中的内容,不能删除变量,32,clear:清除工作空间中所有的变量clear 变量名:清除指
17、定的变量,2、退出工作空间quit 或 exit,33,五、文件管理文件管理的命令,包括列文件名、显示或删除文件、显示或改变当前目录等。(what、dir、type、delete、cd、which)what:显示当前目录下所有与matlab相关的文件及它们的路径。dir:显示当前目录下所有的文件which:显示某个文件的路径cd path:由当前目录进入path目录cd.:返回上一级目录cd:显示当前目录type filename:在命令窗口中显示文件filenamedelete filename:删除文件filename,34,六、使用帮助1、help命令,在命令窗口中显示MATLAB的所有
18、函数都是以逻辑群组方式进行组织的,而MATLAB的目录结构就是以这些群组方式来编排的。help matfun:矩阵函数数值线性代数help general:通用命令help graphics:通用图形函数help elfun:基本的数学函数help elmat:基本矩阵和矩阵操作help datafun:数据分析和傅立叶变换函数help ops:操作符和特殊字符,35,help polyfun:多项式和内插函数help lang:语言结构和调试help strfun:字符串函数help control:控制系统工具箱函数2、helpwin:帮助窗口3、helpdesk:帮助桌面,浏览器模式4、
19、lookfor命令:返回包含指定关键词的那些项5、demo:打开示例窗口,36,第二章 Matlab基础,37,2.1 数值计算2.2 符号运算2.3 绘图功能2.4 程序设计,38,2.1 数值计算,2.1.1 数值类型变量命名数据显示复数和复数矩阵2.1.2 矩阵运算创建矩阵矩阵操作矩阵运算向量运算多项式处理2.1.3 数据分析与统计2.1.4 函数方程2.1.5 MATLAB解方程,39,变量命名(1)基本的命名规则:变量名必须是不包含有空格的单个词;变量名最多不超过19个字符,第19个字符之后的字符将被忽略;变量名必须以字母打头,之后可以是任意字符、数字或下划线;变量名区分大小写。M-
20、book1 1_a M inute,2.1.1 数值类型,40,(2)变量操作 在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。如要察看变量a的值,只需要在命令窗口中输入变量的名称即可:a(3)特殊变量,2.1.1 数值类型,41,Matlab中的特殊变量,42,MATLAB命令语句能即时执行,它不是输入完全部MATLAB命令语句经过编译、连接形成可执行文件后才开始执行,而是每输入完一条命令,MATLAB就立即对其处理,并得出中间结果,完成了MATLAB所有命令语句的输入,也就完成了它的执行,直接便可得到最终结果。例如 a=5;b=6;c=a*b,结果显示
21、 c=30,43,MATLAB语句的间隔符:分号 间隔符的作用:当有多个命令输入时,不立即显示运行的中间结果 MATLAB语句的结束符:逗号或回车 结束符的作用:立即显示本条命令的结果,44,任何MATLAB的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由format命令控制。format只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。format命令调用格式:format 控制参数,数值显示格式,45,format命令的控制参数,46,复数和复数矩阵,MATLAB的矩阵元素
22、可以是复数或复数表达式,在matlab中,用i或j字元来表示虚部。x=1-2*i 注意是2*i而不是2ireal(x)列出实部imag(x)列出虚部conj(x)计算共轭复数abs(x)计算复数大小angle(x)计算复数向量的夹角(弧度表示)y=exp(x)以指数方式表示一个复数,47,2.1.2 矩阵运算,创建矩阵1直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。2利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。后面会
23、通过一个简单例子来说明如何利用M文件创建矩阵。,48,矩阵生成不但可以使用纯数字(含复数),也可以使用变量(或者说采用一个表达式)。,y=2,4,5;3 6 8y=2 4 5 3 6 8,a=1;b=2;c=3;x=5 b c;a*b a+c c/bx=5.0000 2.0000 3.0000 2.0000 4.0000 1.5000,例2-1 在命令窗口中直接输入矩阵,z=1,4,1+2*i z=1.0000 4.0000 1.0000+2.0000*i,49,例2-2 利用M文件建立mymatrix矩阵。启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵:把输入的内容以纯文本方式存盘
24、(设文件名为mymatrix.m)。在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动建立一个矩阵,可供以后使用。,50,3建立大矩阵 大矩阵可由方括号中的小矩阵或向量建立起来。4利用冒号表达式建立一个向量 冒号表达式可以产生一个行向量,一般格式是 e1:e2:e3其中,e1为初始值,e2为步长(可以为负数),e3为终止值。例如:a=1:2:10 a=1 3 5 7 9,51,5.使用函数产生矩阵 用linspace函数产生行向量 其调用格式为:linspace(a,b,n)其中,a和b是生成向量的第一个和最后一个元素,n是元素总数,缺省值为100。例如:a=linspac
25、e(1,10,10)a=1 2 3 4 5 6 7 8 9 10显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。,52,用logspace函数产生行向量 其调用格式为:a=logspace(a,b,n)在对数空间上,行矢量的值从10a到10b,数据个数为n,缺省n为50。这个指令为建立为对数频域轴坐标提供了方便。例如:a=logspace(1,3,3)a=10 100 1000,53,一些常用的特殊矩阵 单位矩阵:eye(m,n);eye(m)零矩阵:zeros(m,n);zeros(m)一矩阵:ones(m,n);ones(m)对角矩阵:对角元素向量 V=a1,a2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 编程 系统 仿真
链接地址:https://www.31ppt.com/p-6512109.html