控制系统仿真 教学课件 ppt 作者 张袅娜 第2章 控制系统分析

上传人:E**** 文档编号:89497209 上传时间:2019-05-25 格式:PPT 页数:107 大小:1.86MB
返回 下载 相关 举报
控制系统仿真 教学课件 ppt 作者 张袅娜 第2章 控制系统分析_第1页
第1页 / 共107页
控制系统仿真 教学课件 ppt 作者 张袅娜 第2章 控制系统分析_第2页
第2页 / 共107页
控制系统仿真 教学课件 ppt 作者 张袅娜 第2章 控制系统分析_第3页
第3页 / 共107页
控制系统仿真 教学课件 ppt 作者 张袅娜 第2章 控制系统分析_第4页
第4页 / 共107页
控制系统仿真 教学课件 ppt 作者 张袅娜 第2章 控制系统分析_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《控制系统仿真 教学课件 ppt 作者 张袅娜 第2章 控制系统分析》由会员分享,可在线阅读,更多相关《控制系统仿真 教学课件 ppt 作者 张袅娜 第2章 控制系统分析(107页珍藏版)》请在金锄头文库上搜索。

1、1,第2章 matlab语言基础,本章主要内容,2.1 MATLAB的编程环境 2.2 MATLAB基础知识 2.3 矩阵运算 2.4 数组运算 2.5 符号运算 2.6 矩阵函数 2.7 MATLAB常用绘图命令 2.8 MATLAB程序设计 2.9 本章小结 习题,MATLAB简介,MATLAB是MATrix LABoratory(矩阵实验室)的缩写,是由美国Math Works公司于20世纪80年代推出的高性能数值计算软件。MATLAB语言源于线性代数中的数学运算,它不同于其它的计算机高级语言,是国际公认的优秀数学应用软件之一。 整个MATLAB系统由两部分组成,即MATLAB内核及辅助

2、工具箱,两者的调用构成了MATLAB的强大功能。,MATLAB主要特点,1.语言简洁紧凑,运算符和库函数极其丰富,使 用方便灵活,编程效率高。 2.具有结构化的控制语句 3.图形功能强大 4.功能强大的工具箱 5.源程序的开放性 6.Matlab有强大的自带的帮助手册,2.1 MATLAB的编程环境,2.当前路径,1.命令窗口,3.工作空间,2.1.1 MATLAB启动和退出,Matlab 系统的启动 使用 Windows “开始” 菜单 运行 Matlab 系统启动程序 matlab 双击 Matlab 快捷图标 Matlab 系统的退出 利用MATLAB菜单退出 使用quite语句退出 使

3、用热键退出 直接退出,2.1.2 MATLAB的命令窗口,MATLAB命令窗口是用来接受MATLAB命令的窗口。 MATLAB命令窗口中的符号“”为运算提示符,表示MATLAB处于准备状态。 其设置可通过【File】【Preferences】命令进行,在一个命令内容全部键入后,必须按下【Enter】键才可运行; 此时MATLAB会给出计算结果并将其保存在工作空间管理窗口中,然后再次进入准备状态。,2.1.3 MATLAB的工作空间,工作空间是指MATLAB程序或命令在运行时所生成的所有变量和MATLAB提供的常量构成的空间。 在命令窗口中,实现变量的显示、清除、储存和调出的命令如下:,2.1.

4、4 当前目录窗口,当前目录是指MATLAB运行文件时的工作目录,只有在当前目录或搜索路径下的文件及函数可以被运行或调用,如果没有特殊指明,数据文件也将存储在当前目录下。 图2-2 当前目录窗口,2.1.5 命令历史窗口,命令历史窗口显示所有执行过的命令 图2-3 命令历史窗口,2.1.6 MATLAB文件管理,在命令窗口中实现管理功能的常用命令有:,为了便于对输入的内容进行编辑,MATLAB提供了一些控制光标位置和进行简单编辑的一些常用编辑键。 在以上按键中,反复使用“”,可以调出以前键入的所有命令,进行修改、计算。,2.1.7 MATLAB帮助使用,MATLAB提供了相当丰富的帮助信息,同时

5、也提供了获得帮助的方法。 1.通过桌面菜单栏的【Help】菜单来获得帮助,或通过常用工具栏区的 打开帮助窗口。 2.通过点击开始导航区的 按钮,在下拉菜单中选择 项,打开MATLAB的联机帮助窗口界面以获得帮助 ,如图2-4所示。 3.MATLAB也提供了在命令窗口中的获得帮助的多种方法,在命令窗口中获得MATLAB帮助的命令及说明列于表2-4中。其调用格式为:命令+指定参数,2.1.8 数据交换系统,MATLAB提供了多种方法将数据从磁盘或剪贴板中读入MATLAB工作空间。这里主要介绍文本数据的读入。另外也可以利用load函数,其调用方法为:Load+文件名参数。 【例2-1】事先在记事本中

6、建立文件(并以data1.txt保存) 1 2 3 4 5 6 7 8 9 在MATLAB命令窗口中输入: load data1.txt data1 data1= 1 2 3 4 5 6 7 8 9,2.2 知识,2.2.1 变量与常量 变量的命名遵循如下规则: 1.变量名区分大小写。 2.变量名长度不超31位,超过部分将被MATLAB语言所忽略。 3.变量名以字母开头,第一字母后可以使用字母、数字、下划线,但不能使用空格和标点符号。 4.一些常量也可作为变量使用,例如,i和j在MATLAB中表示虚数的单位,但也可作为变量使用,比如循环语句中常使用i和j作为循环变量。,常量是MATLAB语言预

7、先定义其数值的变量,表2-5给出了MATLAB语言中经常使用的一些常量值。,2.2.2 数字变量的运算及显示格式,MALAB是以矩阵为基本运算单元的,而构成数值矩阵的基本单元是数字。 对于简单的数字运算,可以直接在命令窗口的提示符后直接输入,例如: 5+4*3 ans= 17 用户也可以输入: a=5+4*3 a= 17 此时系统就会将计算结果赋给指定的变量a了。,2.2.3 字符串,字符是MATLAB中符号运算的基本构成单元,也是文字等表达方式的基本元素。 【例2-2】 a=This is my book; a= This is my book size(a) % size查看数组的维数 a

8、ns= 1 15 在MATLAB中,字符串和字符数组基本上是等价的,2.3 矩阵运算,2.3.1 矩阵生成 矩阵的输入必须以方括号“ ”作为其开始与结束标志,矩阵的行与行之间要用分号“;”或按回车键分开,矩阵的元素之间要用逗号“,”或用空格分隔。 1.直接输入矩阵元素:尤其适合较小的简单矩阵。 【例2-3】矩阵的直接赋值 a=1 2 1;4 2 6;7 8 5 a= 1 2 1 4 2 6 7 8 5,2.语句生成 (1)用线性等间距生成向量矩阵(start:step:end) 其中start为起始值,step为步长,end为终止值。当 步长为1时可省略step参数;另外step也可以取负数。

9、 (2)a=linspace(n1,n2,n) 在线性空间上,行矢量的值从n1到n2,数据个数为n,缺省n为100。 (3)a=logspace(n1,n2,n) 在对数空间上,行矢量的值从10n1到10n2,数据个数为n,缺省n为50。这个指令为建立对数频域轴坐标提供了方便。,【例2-4】语句生成矩阵 a=1:2:10 a= 1 3 5 7 9 b=linspace(1,10,10) b= 1 2 3 4 5 6 7 8 9 10 c=logspace(1,3,3) c= 10 100 1000 3.外部文件读入法 4.特殊矩阵的生成,2.3.2 矩阵基本操作,矩阵中的元素可以用下标(行列索

10、引)来标识,如一个mn的矩阵Matrix的第i行第j列的元素表示为Matrix(i,j)。 【例2-5】用全下标标识给矩阵元素赋值。 A=1 6 5;2 4 3 A = 1 6 5 2 4 3 A(3,3)=9 % 给A(3,3)赋值 A = 1 3 5 2 4 6 0 0 9,2.矩阵子块 MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提取子块和重排子块的操作。 (1)A(m,n):提取第m行,第n列元素 (2)A(:,n):提取第n列元素 (3)A(m,:):提取第m行元素 (4)A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到第n2列的所有元素(提取子块)。 (5

11、)A(:):得到一个长列矢量,该矢量的元素按矩阵的列进行排列。 (6)矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。 (7)消除子块:如果将矩阵的子块赋值为空矩阵 ,则相当于消除了相应的矩阵子块。,【例2-6】 A=1 6 5;2 4 3;0 0 9 A= 1 6 5 2 4 3 0 0 9 A(end,1:3) % 取行数为3,列数为13的元素构成子矩阵, 用end表示某一维阶数中的最大值。 ans = 0 0 9 A(3,:)= A = 1 6 5 2 4 3,在MATLAB中,用size函

12、数可以求矩阵维数,用reshape可以改变数据维数。用length可求得数组长度,即行数或列数中的较大值。语句格式为: m,n=size(A,x):返回矩阵的行列数m与n,当x=1,则只返回行数m,当x=2,则只返回列数n。 B=length(A)=max(size(A):返回行数或列数的最大值。 B=reshape(A,m,n):按列优先提取A中的m*n个元素。 【例2-7】 a=1 2 3;4 5 6;7 8 9; size(a) ans = 3 3 %说明矩阵a是3行3列的。 reshape(a,1,9) ans = 1 4 7 2 5 8 3 6 9 %可以讲数组a变成1行9列的。,4

13、.矩阵合并 在MATLAB中,cat(k,a,b) 矩阵合并, k=1,合并后形如 a;b,行添加矩阵(要求a,b的列数相等才能合并),n维的矩阵合并,要求n-1维维数相等才可以。 【例2-8】 a = magic(3) ; b = pascal(3); c = cat(2,a,b) c = 8 1 6 1 1 1 3 5 7 1 2 3 4 9 2 1 3 6,5.矩阵翻转 在MATLAB中,fliplr(a):矩阵左右翻转;flipud(a):矩阵上下翻转;rot90(a): 矩阵逆时针旋转90度;rot90(a,k):逆时针旋转90*k度,其中k为定义的参数;flipdim(a,k):矩

14、阵对应维数数值翻转,如k=1时,行(上下)翻转,k=2时,列(左右)翻转。 【例2-9】 a=8 1 6;3 5 7;4 9 2; fliplr(a) ans = 6 1 8 7 5 3 2 9 4, flipud(a) ans = 4 9 2 3 5 7 8 1 6 rot90(a,2) ans = 2 9 4 7 5 3 6 1 8,2.3.3 矩阵运算,1.矩阵的加、减运算 矩阵的加、减运算符分别为“+,”,只有维数相同的矩阵才可以进行加、减运算。、 【例2-10】 A=1 3;4 2;B=2 5;6,9; ans = 3 8 10 11 A+8 ans = 9 11 12 10,2.矩

15、阵的乘法运算 矩阵的乘法运算符为“*”,只有当两个矩阵中前一个矩阵的列数和后一个矩阵的行数相同时,才可以进行乘法运算。标量与矩阵的乘法运算是标量与矩阵中的每一个元素进行相乘的运算。 【例2-11】 A=1 2;5 9;2 7;B=2 3 6;6,4 1; ans = 14 11 8 64 51 39 46 34 19 B*2 ans = 4 6 12 12 8 2,3.矩阵的除法运算 矩阵的除法有两种形式:左除“”和右除“/”。对于矩阵A和B,如果A矩阵是非奇异方阵,AB是A的逆矩阵乘B,即inv(A)*B;而B/A是B乘A的逆矩阵,即B*inv(A) 【例2-12】C=1 2;3 4;D= 3 5; 5 9 C/D ans = -0.5000 0.5000 3.5000 -1.5000 CD ans = -1.0000 -1.0000 2.0000 3.0000,【例2-13】 A2=1+2*i % 由运算符构成的直角坐标表示。 A2= 1.0000 + 2.0000i A3=2*exp(i*pi/6) % 由运算符构成的极坐标表示。 A3= 1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号