Matlab仿真软件(改).ppt
《Matlab仿真软件(改).ppt》由会员分享,可在线阅读,更多相关《Matlab仿真软件(改).ppt(153页珍藏版)》请在三一办公上搜索。
1、1,第一章 仿真软件Matlab,1.1 仿真技术简介,1.5 Matlab的符号运算,1.7 Matlab的绘图功能,1.2 Matlab概述,1.6 Matlab编程基础,1.3 Matlab界面与基本操作,1.4 Matlab的数值运算,2,物理仿真:研制某种实体模型,使之能够重现原系统的各种状态。(直观性强,形象化;所需费用高,周期长,技术复杂。)数学仿真:用数学模型去描述一个系统,并编制程序在计算机上对实际系统进行研究。(速度快,较灵活,精确度高,重复性好;复杂系统可能很难用数学模型表达。)混合仿真:将数学模型、物理模型和实体结合起来组成复杂的仿真系统。,1.1 仿真技术简介,仿真(
2、Simulation)利用模型来分析与研究实际系统(相似性原理)。,3,1)建立系统的数学模型。2)建立仿真模型。3)编写仿真程序。4)进行仿真实验 设定合理的实验条件、参数,进行实验,并记录仿真结果。5)仿真结果分析。,计算机仿真的基本步骤:,4,MatrixLaboratory(矩阵实验室);由美国Math Works公司于20世纪80年代推出的高性能数值计算软件;Matlab已经发展成为适合多学科(线性代数、控制理论、数理统计、数字信号处理、动态系统仿真)、功能强大的优秀系统软件;Matlab已经成为工程技术人员必需掌握的基础知识与基本技能。,1.2 Matlab概述,5,自动控制原理M
3、atlab实现的优势:,1)运算功能强大;,5)库函数丰富,函数命令简单高效;,6)界面友好,使用方便。,4)语法限制不严格,程序设计自由度大;,3)专业的控制系统工具箱(Control Systems Toolbox);,2)强大方便的绘图功能;,6,Matlab的主要功能:,数值计算(Numeric Function)符号计算(Symbolic Function)工程与科学绘图(Graphic Function)控制系统工具箱 时域分析、根轨迹分析、频域分析、系统设计仿真工具SIMULINK(Simulate、link),7,Matlab是一种函数型语言,了解函数的功能,熟练掌握其使用方法
4、,是使用Matlab进行程序设计的前提;Matlab牵扯面极广,几乎涉及现代科学的所有领域,因此,学习Matlab必须与个人所从事的学科相结合;结合课堂理论学习内容,多进行上机操作。,Matlab课程学习方法:,8,1.3 Matlab界面与基本操作,9,1、Command Window(命令窗口)输入各种Matlab指令、函数、表达式、变量等,并显示除图形外的所有运算结果,一、四个窗口,2、Command History(历史命令窗口)记录命令窗口中已经运行过的指令、函数,3、Workspace(工作空间窗口)显示变量名字(Name)、维数(Size)、字节数(Bytes)和类型(Class
5、),4、Current Directory当前目录窗口,二、Start按钮,可以运行所有MATLAB软件的工具以及访问相关文档。,10,MATLAB命令窗口的按键及其作用,11,三、功能菜单,File文件操作菜单,New 新建M文件、图形、模型和图形用户界面Open 打开.m,.fig,.mat,.mdl等文件Close Commend Window 关闭命令窗口Import Data 从其他文件导入数据Save WorkSpace As 保存工作空间数据到相应的路径文件中Set Path 设置工作路径Preferences 设置命令窗口的属性Page Setup 页面设置Print 设置打印
6、机属性Print Selection 选择打印Exit MATLAB 退出MATLAB操作界面,12,Edit编辑菜单,Undo、Redo 撤销、重复执行上一步操作Cut、Copy、Paste 剪切、复制、粘贴Paste to WorkSpace As 粘贴变量到工作空间Select All 全部选定Delect 删除所选对象Find 查找所需对象Find Files 查找所需文件Clear Commend Window 清除命令窗口的内容Clear Commend History 清除历史命令窗口的内容Clear Workspace 清除工作区的内容,13,Debug调试菜单,Open M-
7、Files when Debugging 调试时打开M文件Step 单步调试Step In 单步调试进入子函数Step Out 单步调试跳出子函数Continue 连续执行到下一断点Clear Breakpoints in All Files 清除所有文件中的断点Stop if Errors/Warnings 出错或报警时停止运行Exit Debug Mode 退出调试模式,14,Desktop桌面菜单,Unlock Commend Window 命令窗口设为当前全屏活动窗口Desktop Layout 桌面设计Save Layout 保存桌面设计Organize Layout 组织桌面设计C
8、ommend Window 显示/隐藏命令窗口Commend History 显示/隐藏历史命令窗口Current Directory 显示/隐藏当前工作目录Workspace 显示/隐藏工作空间窗口Help 打开帮助窗口,15,Profiler 打开轮廓图窗口Editor 打开编辑器Figures 打开图形编辑器Web Brower 打开Web浏览器Array Editor 打开矩阵编辑器File Comparisons 文件比较Toolbar 显示/隐藏工具栏Shortcuts Toolbar 显示/隐藏快捷工具栏Titles 显示/隐藏标题,Desktop桌面菜单,16,Window窗口
9、菜单,Close All Documents 关闭所有文档Commend Window 选定命令窗口为当前活动窗口Commend History 选定历史命令窗口为当前活动窗口Current Directory 选定当前工作目录为当前活动窗口Workspace 选定工作空间窗口为当前活动窗口,17,Full Product Family Help 显示全部系列产品帮助MATLAB Help 显示MATLAB系统帮助Using the Desktop 显示桌面命令使用帮助Using the Command Window 显示命令窗口使用帮助Demos 显示MATLAB系统的演示帮助窗口About
10、 MATLAB 显示MATLAB系统的标识界面,Help帮助菜单,18,四、工具栏,19,1.4 Matlab的数值运算,1.4.1 数值运算基础,Matlab中变量使用之前,不需要指定变量的数据类型,也不必事先声明变量。一个程序中的变量,以其名称在语句命令中的第一次合法出现而定义;当用户在Matlab工作空间中输入一个新的变量时,Matlab会自动给该变量分配适当的内存,若用户输入的变量已经存在,则Matlab使用新输入的变量替换原有的变量。,一、变量的赋值和命名,20,变量名=表达式,返回变量名列表=函数名(输入变量列表),注意:无需事先定义,Matlab系列定义的数值元素就是复数,这是M
11、atlab语言区别于其它高级语言的最大特点之一;无论给Matlab中的变量赋什么值,在内存中均以矩阵的形式表示。Matlab数值运算的表达式中不允许有未定义的自由变量。,21,1)变量名必须是不包含有空格的单个词;2)变量名必须以字母开头,之后可接任意字母、数字或下划线;3)组成变量名的字符长度不大于31个;4)变量名区分大小写字母。,变量命名规则:,22,注意:MATLAB提供的标准函数和命令名必须用小写字母。,表1-1 Matlab的特殊变量和常量,23,二、Matlab运算符,1、算术运算符,24,2、关系运算符,25,3、逻辑运算符,26,4、特殊运算符,27,方括号()的使用,方括号
12、可以输入矩阵;方括号 也可以代表空矩阵,用来删除矩阵的行和列。,28,冒号(:)的使用,A.使用冒号可以输入行向量,其格式为:x=a:inc:b;其中,a是向量的第一个元素,inc是步长(即两个元素的间隔),步长可正可负;若(b-a)为inc的整数倍时,向量的最后一个元素等于b,否则小于b;当inc=1时步长可以省略。,B.使用冒号能够从向量和矩阵中选出指定的行和列元素。,C.使用冒号能够从一个大矩阵中选取小矩阵。,29,注:单独一个冒号可以代表所有行或所有列的元素。方括号 也可以代表空矩阵,用来删除矩阵的行和列。,30,分号(;)的使用,A.分号在矩阵中用来分隔行;B.分号在命令窗口内用来输
13、入多行语句 在Matlab命令窗口内输入命令,若不加分号,则每一条命令都将输出相应的结果;若加上分号,Matlab将不输出相应的结果,等待用户输入下一条命令,直到碰到一条不带分号的命令时,Matlab输出最后一条命令的结果。,31,Matlab的数值运算主要是指矩阵和向量运算;矩阵和向量都指含有M行与N列数字的矩形结构,但两者在Matlab中的运算性质不同;一行多列的矩阵是行向量,一列多行的矩阵是列向量;只有一个元素的矩阵就是标量。,1.4.2 矩阵运算,32,方法:1)直接输入法;2)利用函数建立矩阵;3)利用M文件建立矩阵。,直接输入法:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素
14、,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔(也可以用回车键代替分号)。,一、创建矩阵,33,a=1 2 3;4,5,6x=2 pi/2;sqrt(3)3+5i,注意:1)不必声明矩阵的维数和类型,Matlab会根据用户所输入的内容自动进行配置;2)矩阵元素可以是Matlab表达式,可以是实数,也可以是复数。,例:,34,2.利用函数建立矩阵,zeros(size(A)用来输出一个与矩阵A行、列数相同的全0矩阵。,1)zeros函数创建元素全为0的矩阵。,2)ones函数创建元素全为1的矩阵。3)eye函数创建单位矩阵。4)magic函数创建一种特殊的N阶方阵,其每行、每列
15、和对角线上的元素之和都相等,为(1+n2)/n。,35,5)diag函数从矩阵中提取某对角线构成一个向量;利用一个向量构成对角阵。,6)triu函数获取某一矩阵的上三角矩阵。,tril函数获取某一矩阵的下三角矩阵。,在Matlab中,还可以把小矩阵连接起来生成较大的矩阵。,36,3.利用M文件建立矩阵:对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。(M文件实际上是一种包含Matlab命令代码的文本文件)。,其步骤为:1)使用编辑程序输入文件内容;2)把输入的内容以纯文本方式存盘(设文件名为my matrix.m);3)在Matlab命令窗口中输入my matrix,就会自动建立一个矩
16、阵,可供以后显示和调用。,37,二、矩阵元素的标识、访问、赋值,1.一维矩阵,用矩阵名后圆括号内的元素在矩阵中位置的顺序号来标识。,X=1*pi 2*pi 3*pi 4*pi 5*pi X=3.1416 6.2832 9.4248 12.5664 15.7080%要查询X矩阵的第3个元素,输入指令:X(3)%指令回车后,得到结果为:ans=9.4248,例:,38,2.二维矩阵,采用用双下标格式:A(m,n),其中m为行号,n为列号。,39,1.加减运算(+,-),矩阵加减运算的条件是两矩阵必须有相同的行数和列数,其运算规则为两矩阵对应元素相加减。,三、矩阵运算,2.乘法运算(*),两矩阵相乘
17、必须服从数学中矩阵叉乘的条件与规则,A矩阵的列数必须等于B矩阵的行数,矩阵乘法不满足交换律。,40,3.除法运算(/,),矩阵右除A/B表示的是方程X*B=A的解:A/B=A*B-1;矩阵左除 AB表示的是方程A*X=B的解:AB=A-1*B;矩阵与标量间只能进行矩阵右除标量(即矩阵/标量)的运算。,41,若a为矩阵,b为标量,矩阵的乘方a b是矩阵a的b次方。,4.乘方运算(),5.转置运算(),把矩阵A的行换成同序数的列而生成的矩阵,称为A的转置矩阵;当矩阵是一个复数矩阵时,A表示它的共轭转置矩阵。,42,1.4.3 向量运算,1.加减运算(+,-),在Matlab中,标量与向量间可进行加
18、减运算,其规则是标量与向量的每个元素进行加减操作。,向量加减运算的条件与规则和矩阵加减运算相同。,2.乘法运算(.*),向量的乘法运算必须在具有相同维数的向量间进行,其结果是向量的对应元素间相乘的结果组成的新向量。,43,3.除法运算(./,.),标量与数组间可以进行除法运算,其规则是标量与数组的每一个元素进行除法操作;数组右除A./B是将A的每一元素除以B的每一个对应元素;数组左除A.B是将B的每一元素除以A的每一个对应元素。,44,4.乘方运算(.),向量与标量的乘方运算以向量为底而以标量为指数:以向量中的每个元素为底,分别与作为指数的标量进行乘方运算得到一个新的向量。,以标量为底而以向量
19、为指数:以该标量为底,用向量中的每个元素分别作为指数与该标量进行乘方运算后得到一个新的向量。,45,向量与向量的乘方运算:以前一个向量为底,后一个向量为指数,其对应元素分别进行乘方运算得到的结果。,5.转置运算(.),向量转置(A.)与实数矩阵转置相同。,46,在Matlab中,关系运算与逻辑运算只适用于向量,不适用于矩阵。其运算规则为:关系运算的优先级高于算术运算,低于逻辑运算。,a=1+2i;b=1+4i;a=b%运算结果为:ans=0 ab%运算结果为:ans=0,例:,1.4.4 关系与逻辑运算,运算符、=只比较二量的实部,而运算符=与=则同时比较实部与虚部。若两标量比较,其关系成立者
20、,运算结果为逻辑真(1),否则为逻辑假(0)。,一、向量的关系运算,47,若一标量与一向量比较,则将标量与向量的每一个元素逐个比较,其运算结果为一个与向量同维的新向量,其元素由1与0组成,即关系成立者,运算结果为逻辑真(1),否则为逻辑假(0)。,若两向量比较,向量的维数需相同,将两向量对应 的每一个元素逐个比较,其运算结果为一个与比较向量同维的新向量,其元素由1与0组成,即关系成立者,运算结果为逻辑真(1),否则为逻辑假(0)。,48,若两向量做逻辑运算,向量维数需相同,将两向量对应的每一个元素逐个运算,其运算结果为一个与原向量同维的新向量,其元素由1与0组成。,Matlab除了上述的各类运
21、算外,还提供了许多运算函数。,二、向量的逻辑运算,非0元素代表逻辑真“1”,0元素代表逻辑假“0”;,逻辑运算中,not的运算优先级最高,and和or有相同的优先级(xor只有函数形式);还可用括号改变运算优先权。,若一标量与一向量比较,则将标量与向量的每一个元素逐个比较,其运算结果为一个与向量同维的新向量,其元素由1与0组成。,49,表1-2 MATLAB常用运算函数,50,在Matlab中,采用行向量表示多项式,该向量中的元素是按降幂排列的多项式系数。多项式 P(x)=a0 x n+a1 x n-1+an-1 x+an的系数行向量为:P=a0 a1 an-1 an,1.4.5 多项式运算,
22、51,多项式求根,求解该多项式等于0时对应方程的根。,由根求多项式,由该多项式等于0时对应方程的根求其多项式的系数。,多项式乘法/除法,p=conv(p1,p2)p,r=deconv(p1,p2),例:求多项式 p(x)=(x2+2x+3)(4x2+5x+6)的系数。,r=1 2 3;g=4 5 6;p=conv(r,g)%运算结果为:p=4 13 28 27 18,即p(x)=4x4+13x3+28x2+27x+18,s,q=deconv(p,g),52,4.分式多项式的部分分式展开,将y(x)进行部分分式分解,即求留数计算,可以得到:,b为分子系数向量,a为分母系数向量;r为部分分式中留数
23、向量,p为部分分式中极点向量,k为直接相除项行向量。,r,p,k=residue(b,a),53,例:已知一传递函数,将其分解为部分分式。,a=1 2;b=1 4 3;z,p,k=residue(a,b)%运算结果为:z=0.5000 0.5000p=-3-1k=,即得传递函数分解的部分分式为:,54,反之,用residue函数也可将部分分式展开式返回到传递函数多项式之比的形式。,a,b=residue(z,p,k)%运算结果为:a=1 2b=1 4 3,即返回原传递函数,例:,55,5.多项式求导数(微分)polyder(p):求p的微分;polyder(a,b):求多项式a,b乘积的微分;
24、p,q=polyder(a,b):求多项式a,b商的微分,p为导函数的分子系数向量,q这导函数的分母系数向量。,p=1 2 3 4 5;b=polyder(p)%运算结果为:b=4 6 6 4,例:求多项式 p(x)=x4+2x3+3x2+4x+5的导数。,即b(x)=d p(x)/dx=4x3+6x2+6x+4,56,6.多项式求值polyval(p,x):p为多项式系数向量,x为输入。,p=1 2 3 4;x=2;y=polyval(p,x)%运算结果为:y=26,例:求多项式 y=x3+2x2+3x+4在x=2处的值。,57,1.4.6 数值分析,58,一、查找最大值,1.求矩阵/向量的
25、最大元素max(A),返回一个行向量,向量的第i个元素是矩阵第i列上的最大元素;y,u=max(A),返回两个行向量,y向量记录A的每列的最大元素,u向量记录每列最大元素的行号。max(A,dim),dim取1或2。dim取1时,该函数和max(A)完全相同。dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大元素。,59,u=max(A,B),A、B是两个同型的向量或矩阵。结果u是与A、B同型的向量或矩阵,并且u的每个元素等于A、B对应元素的最大者;u=max(A,n),n是一个标量。结果u是与A同型的向量或矩阵,u的每个元素等于A中对应元素和n相比的较大者。,2.两个向
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 仿真 软件
链接地址:https://www.31ppt.com/p-5438933.html