控制系统仿真2012第二章.ppt_第1页
控制系统仿真2012第二章.ppt_第2页
控制系统仿真2012第二章.ppt_第3页
控制系统仿真2012第二章.ppt_第4页
控制系统仿真2012第二章.ppt_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、控制系统仿真,张丽浙江科技学院电气学院,全面介绍MATLAB语言的编程方法和技巧。,2 MATLAB语言基础,MATLAB的变量类型与基本表达式 变量名由字母引导,后接字母、数字、 下 划线等 变量名区分大小写 有效字符数为63个字符,例:myvarible12,Myvarible12,my_varible12, you12,2 MATLAB语言基础,MATLAB的赋值语句格式: 直接赋值法 增量赋值法,例:,赋值变量赋值表达式,name_1=4 A=3*16+10-27/3.4 A=3*16+10-27/3.4;,2 MATLAB语言基础,MATLAB的赋值语句格式: 直接赋值法 增量赋值法

2、,例:,赋值变量赋值表达式,r =1:99; A=1:0.5:2;,2 MATLAB语言基础,MATLAB的函数调用语句格式: 函数调用语句,例:,返回变量列表函数名(输入变量列表),r =1:99; answer1mean(r);,answer1=50,2 MATLAB语言基础,MATLAB的赋值语句格式: 函数调用语句,例:,返回变量列表函数名(输入变量列表),Function y=avg(x) %This is a M function file m=length(x); y=sum(x)/m; 存盘:avg.m,2 MATLAB语言基础,内部常数与变量,MATLAB中的矩阵 基本变量单

3、元矩阵 矩阵的建立方法,直接输入法 A=1 2 3;4 5 6;7 8 9;,B=1,2,3,4;,C=1;2;3;4;,2 MATLAB语言基础,MATLAB中的矩阵 基本变量单元矩阵 矩阵的建立方法,由MATLAB函数构建,zeros, ones, rand, eye,函数,zeros(3,2) eye(4),2 MATLAB语言基础,例:A=1 2 3;2 3 4;3 4 5; A=A;1 3 5 B=1:0.5:3 C=2:5,Answer :A=1 2 3 2 3 4 3 4 5 1 3 5 B=1 1.5 2 2.5 3 C=2 3 4 5,2 MATLAB语言基础,MATLAB中

4、的矩阵 复数矩阵的建立 ,2 MATLAB语言基础,矩阵函数与矩阵运算,矩阵的代数运算 实数矩阵转置 ,矩阵函数与矩阵运算,矩阵的代数运算 复数矩阵转置,B=transpose(A),常规转置:,Hermit转置:,B=ctranspose(A) 或者,矩阵函数与矩阵运算,矩阵的代数运算 加减法运算,加法运算:A+B 或者 plus(A,B) 减法运算:A-B 或者minus(A,B),C=plus(A,B) D=minus(A,B),矩阵函数与矩阵运算,矩阵的代数运算 矩阵乘法 数组乘法,矩阵乘法:A*B 或者mtimes(A,B) 数组乘法:A.*B 或者times(A,B),E=mtim

5、es(A,B) F=times(A,B),矩阵函数与矩阵运算,矩阵的代数运算 矩阵左除 矩阵右除,矩阵左除:AB 或者mldivide(A,B) 矩阵右除:B/A 或者mrdivide(A,B),G=mldivide(A,B) H=mrdivide(B,A),矩阵函数与矩阵运算,矩阵的代数运算 矩阵翻转,左右翻转 : fliplr(A) 上下翻转 : flipud(A) 逆时针转90度: rot90(A),B=fliplr(A) C=flipud(A) D=rot90(A),矩阵函数与矩阵运算,矩阵的代数运算 乘方运算,C=mpower(A,k) D=power(A,B),矩阵乘方 : 或者m

6、power(A,k) 数组乘方 : 或者 power(A,B),矩阵函数与矩阵运算,矩阵的代数运算 求逆运算,B=inv(A),矩阵求逆 : inv(A),矩阵函数与矩阵运算,矩阵的逻辑运算 与运算 或运算 非运算 异或运算,C=and(A,B) D=or(A,B) E=not(A) F=xor(A,B),and(A,B) 或者 A All函数, Any函数,矩阵函数与矩阵运算,MATLAB提供的特殊函数 find函数, 查询满足某种关系的数组下标,D=find(C= =1),矩阵函数与矩阵运算,MATLAB提供的特殊函数 find函数, 查询满足某种关系的数组下标,I,J=find(C= =

7、1),矩阵函数与矩阵运算,MATLAB提供的特殊函数 all函数, 某列中,所有元素均非零时,返回1,E=all(C= =1),矩阵函数与矩阵运算,MATLAB提供的特殊函数 any函数, 某列中,有非零元素时,返回1,F=any(C= =1),矩阵函数与矩阵运算,矩阵元素的数据变换 floor(A), 将A中元素按一方向取整,即取不足整数; ceil(A),将A中元素按+方向取整,即取过剩整数; round(A),将A中元素按最近的整数取整,即四舍五入; fix(A),将A中元素按离零近的方向取整.,A=-2.5+5*rand(3),矩阵函数与矩阵运算,矩阵元素的数据变换,B=floor(A

8、) C=ceil(A) D=round(A) E=fix(A),数组函数与数组运算,Matrix和Array两种类型的数据 数组运算称为“ 点运算”,矩阵和数组的差别 外观和数据结构上看,二者没有区别,但有概念上的区别. 从运算角度看,二者有显著不同.矩阵运算是从矩阵的整体出发,按照线性代数的运算规则进行;而数组运算是从数组的单个元素出发,针对每个元素进行的运算. MATLAB中,针对矩阵和数组运算的算术运算符也不同.,数组函数与数组运算,数组的加,减,乘,除和乘方,矩阵运算和数组运算对照表,数组函数 MATLAB基本的运算函数,数组函数 MATLAB基本的运算函数,数组函数 MATLAB基本

9、的运算函数,数组函数 MATLAB基本的运算函数,MATLAB程序结构,循环语句 forend结构 whileend结构,for循环语句调用格式:,for 变量表达式 循环体语句段 end,用于循环次数可以确定的情况, 根据循环的次数确定程序的执行走向。,多用于循环次数不能确定的情况,MATLAB程序结构, mysum=0; for i=1:1:100 mysum=mysum+i; end mysum,例3-11:如果用户想由MATLAB求出 的值,可做下列循环:, sum (1:100),MATLAB程序结构, mysum=0; i=1; while mysum=10000 mysum=my

10、sum+i; i=i+1; end i , mysum,例3-13:如果用户想由MATLAB求出 的最小m值., ans=142 10011,MATLAB程序结构,条件转移结构 if 结构 ifelse结构或者ifelseifelse结构,if 条件转移语句调用格式:,if 逻辑变量 条件块语句组 end,MATLAB程序结构,例3-14:如果用户想由MATLAB求出 的最小m值., mysum=0; for m=1:1000 if (mysum10000) break; end mysum=mysum+m ; end,MATLAB程序结构,条件转移结构 if 结构 ifelse结构或者ife

11、lseifelse结构,if 条件转移语句调用格式:,if 条件式 条件式语句组1 else 条件式语句组2 end,MATLAB程序结构,if 条件转移语句调用格式:,if 条件式1 条件式语句组1 elseif 条件式2 条件式语句组2 else 条件块语句组n+1 end,条件2,条件n,MATLAB程序结构,练习: 求取面积小于100,半径为整数的圆面积,放到S中,并将半径小于10中的面积大于100的一个最小圆面积存入Q数组中。, for r =1:10 area=pi*r*r; if area100 Q(r ) =area; break; end S(r )=area; end,MA

12、TLAB程序结构,开关结构 switch 语句,switch语句调用格式:,switch 开关表达式 case 表达式1 语句段1 case 表达式2,表达式3,表达式m) 语句段2 otherwise 语句段n end,MATLAB程序结构,开关结构,开关表达式,MATLAB程序结构,试探性语句结构,调用格式:,try 语句段1 catch 语句段2 end,MATLAB提供两种源程序文件 M脚本文件 -适用于用户所需要立即得到结果的小规模运算 M函数文件,MATLAB语言的M文件,M脚本文件,脚本文件是一系列的MATLAB语句组成,它类似 于DOS下的批处理文件,在MATLAB的提示符下

13、直接键入文本文件名,便可自动执行文件中的一 系列命令,直至给出最终结果。 文本文件在工作空间中运算的变量为全局变量。,MATLAB语言的M文件,例1-1 求函数 在 x= -4 时的值。,%myfile.m %This is an M-file for calculates sqrtx+x.3 x1=abs(x) x2=sqrt(x1)+x.3 y=x2 其中右边为说明语句,不被MATLAB所执行,它可以在命令窗口中用help myfile命令来查看了解该m文件的功能。,例1-1 求函数 在 x= -4 时的值。,当以上文本文件myfile.m建立后,在MATLAB 命令窗口中输入命令 x=-

14、4;myfile,x1=4 x2=-62 y=-62 这里执行的中间变量x1,x2都被保存下来,这与下面的函数文件是不同的。,M函数文件,MATLAB语言的M文件,函数文件的功能是建立一个函数, 且这个函数可以同MATLAB的库 函数一样使用,它与脚本文件不同, 在一般情况下不能单独键入函数文 件的文件名来运行一个函数文件, 它必须由其它语句来调用,M函数文件的基本结构,function 引导,function 返回变量列表=函数名(输入变量列表) 注释说明语句段,由%引导 输入和返回变量格式的检测 函数体语句,MATLAB语言的M文件,例1-2 求函数在x1= -2, x2= 3, x3=

15、1时的值,函数文件func.m的内容为: function y1, y2=func(x1,x2,x3) %This is an example function. z1=3* x1.2; z2=(x2+ x3); y1=z1+z2; y2=z1-z2;,当以上函数文件myfunc.m建立后,在MATLAB命令窗口中输入以下命令 a1=-2;a2=3;a3=1; b1,b2=func(a1,a2,a3) 则显示结果为,b1=16 b2=8,例1-2 求函数在x1= -2, x2= 3, x3= 1时的值,例3-16:MATLAB函数是可以递归调用的,亦即在函数的内部可以调用函数自身。考虑求阶乘

16、的例子: 由阶乘定义可见 ,这样, 的阶乘可以由 的阶乘求出,而 的阶乘可以由 的阶乘求出,依次类推,直到计算到已知的 从而能建立起递归调用的关系。,MATLAB语言的M文件,二维图形绘制方法 基本二维图形绘制语句plot()函数,MATLAB语言下多维图形绘制方法,调用格式 Plot(x,y),例:如果用户想绘制出一个周期内的正弦曲线,则首先应该产生自变量t向量,然后由给出的自变量向量求取其正弦函数,最后调用plot()函数把曲线绘制出来。这个过程的MATLAB语言命令如下:,二维图形绘制方法 基本二维图形绘制语句plot()函数,MATLAB语言下多维图形绘制方法,调用格式 Plot(x,

17、y), ,二维图形绘制方法 基本二维图形绘制语句plot()函数,MATLAB语言下多维图形绘制方法,调用格式 Plot(x,y),在一个绘制窗口同时绘制多条曲线, ,MATLAB语言下多维图形绘制方法,该函数绘制出来的曲线坐标轴两边均有标注,调用格式,二维图形绘制方法 基本二维图形绘制语句 函数, ,MATLAB绘图命令的各种选项,MATLAB语言下多维图形绘制方法,二维图形绘制方法 带有其他选项的绘制函数,调用格式,MATLAB语言下多维图形绘制方法,二维图形绘制方法 带有其他选项的绘制函数,调用格式,MATLAB图形的标注与编辑,二维曲线的标注方法 图形修饰函数,调用格式,MATLAB图

18、形的标注与编辑,例:,MATLAB图形的标注与编辑,在MATLAB图形上添加文字标注 用TEX格式描述文字显示,例:,MATLAB图形的标注与编辑,在MATLAB图形上添加文字标注 用TEX格式描述文字显示,例:用户可以用gtext()函数在图形窗口上加入下面的字符串,并观 察修饰效果,从而进一步体会TEX格式的数学描述方法。,MATLAB图形的标注与编辑,在MATLAB图形上添加文字标注 用TEX格式描述文字显示,例:用户可以用gtext()函数在图形窗口上加入下面的字符串,并观 察修饰效果,从而进一步体会TEX格式的数学描述方法。,特殊曲线及图形的绘制方法,特殊图形绘制函数及举例,特殊曲线

19、及图形的绘制方法,特殊图形绘制函数及举例,可以用subplot( )函数将整个图形窗口分割成22个子图形部分,然后每个部分用不同的语句绘制出不同曲线。如果给出下面的命令,则可以得出如图所示的曲线。,特殊曲线及图形的绘制方法,特殊曲线及图形的绘制方法,例:绘制隐函数 的图形。,给定函数的曲线绘制 隐函数绘制函数,特殊曲线及图形的绘制方法,给定函数的曲线绘制 隐函数绘制函数,例:绘制隐函数 在 的部分图形。,三维图形的绘制方法,三维曲线的绘制方法 三维曲线绘制函数,调用格式:,此函数可以定义曲线的线型、颜色等信息。,三维图形的绘制方法,三维曲线的绘制方法 三维曲线绘制函数,例:假设有一个时间向量 t ,对该向量进行下列运算则可以构成三个坐标的值向量 用绿色的粗实线绘制此图形。,三维图形的绘制方法,三维曲线的绘制方法 三维曲线绘制函数,三维图形的绘制方法,三维曲面的绘制方法 三维曲面绘制函数,调用格式:,x 和 y 分别为构成该曲面的x 和 y 向量或矩阵;z 为高度矩阵; c为颜色矩阵,表示在不同的高度下的颜色范围。如果省略c 选 项,则 MATLAB会自动假定cz。,三维图形的绘制方法,三维曲面的绘制方法 三维曲面绘制函数,例:考

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论