控制系统数字仿真与精.ppt

上传人:石*** 文档编号:72971292 上传时间:2023-02-14 格式:PPT 页数:66 大小:7.60MB
返回 下载 相关 举报
控制系统数字仿真与精.ppt_第1页
第1页 / 共66页
控制系统数字仿真与精.ppt_第2页
第2页 / 共66页
点击查看更多>>
资源描述

《控制系统数字仿真与精.ppt》由会员分享,可在线阅读,更多相关《控制系统数字仿真与精.ppt(66页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、控制系统数字仿真与控制系统数字仿真与控制系统数字仿真与控制系统数字仿真与第1页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系2第二章第二章 MATLAB MATLAB 程序设计程序设计第2页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系32.1 MATLAB简介简介一、简介一、简介MATLABMATLAB是是Matrix LaboratoryMatrix Laboratory的缩写。除具备卓越的数值计算能力外,它还提供了专业的缩写。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。水平的符号计算,文字处理

2、,可视化建模仿真和实时控制等功能。MATLABMATLAB的基本数据单位是矩阵,它的指令表达式与数学的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相工程中常用的形式十分相似似,故用故用MATLABMATLAB来解算问题要比用来解算问题要比用C,FORTRANC,FORTRAN等语言完相同的事情简捷得多等语言完相同的事情简捷得多当前流行的当前流行的MATLAB 7.0/Simulink 4.0MATLAB 7.0/Simulink 4.0包括拥有数百个内部函数的主包和三十几种包括拥有数百个内部函数的主包和三十几种工具包工具包(Toolbox).(Toolbox).工具包又可以分

3、为功能性工具包和学科工具包工具包又可以分为功能性工具包和学科工具包.功能工具包用来功能工具包用来扩充扩充MATLABMATLAB的符号计算的符号计算,可视化建模仿真可视化建模仿真,文字处理及实时控制等功能文字处理及实时控制等功能.学科工具包学科工具包是专业性比较强的工具包是专业性比较强的工具包,控制工具包控制工具包,信号处理工具包信号处理工具包,通信工具包等都属于此类通信工具包等都属于此类.开放性使开放性使MATLABMATLAB广受用户欢迎广受用户欢迎.除内部函数外除内部函数外,所有所有MATLABMATLAB主包文件和各种工具包都是可读可修改的主包文件和各种工具包都是可读可修改的文件文件,

4、用户通过对源程序的修改或加入自己编写程序构造新的专用工具包用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.第3页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系42.1 MATLAB简介简介二、语言特点二、语言特点语言简洁紧凑,使用方便灵活。语言简洁紧凑,使用方便灵活。例如:例如:A=1 2 3;4 5 6;7 8 9一条语句实现了对一条语句实现了对3x3矩阵的输入。矩阵的输入。数值算法稳定可靠,库函数十分丰富。数值算法稳定可靠,库函数十分丰富。例如:例如:polyder(b)%求多项式求多项式b的微分的微分运算符丰富。运算符丰富。例如:例如:C=A*B%矩阵的乘

5、法,矩阵的乘法,x=Ab%求求Axb的最小二乘解的最小二乘解Matlab既具有结构化的控制语句既具有结构化的控制语句(if、for、while)又支持面向对象的程序设又支持面向对象的程序设计。计。第4页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系52.1 MATLAB简介简介语法限制不严格,程序设计自由度大。语法限制不严格,程序设计自由度大。例如:在例如:在MATLAB里可以不用先定义或声明变量就可以使用它们里可以不用先定义或声明变量就可以使用它们程序的可移植性好。程序的可移植性好。Matlab的图形功能强大,支持数据的可视化操作,方便的显示程序的运行结果。的图形功能强大

6、,支持数据的可视化操作,方便的显示程序的运行结果。强大的工具箱。强大的工具箱。例如:控制领域可以使用的工具箱就有例如:控制领域可以使用的工具箱就有Control System(控制工具箱控制工具箱)源程序的开发性,系统的可扩充能力强。源程序的开发性,系统的可扩充能力强。Matlab是解释执行语言。是解释执行语言。Matlab程序不用编译生成可执行文件就可以运行程序不用编译生成可执行文件就可以运行 第5页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系62.1 MATLAB简介简介三、三、Matlab集成环境的组成集成环境的组成Matlab语言语言Matlab工作环境工作环境包

7、括程序编辑器、变量查看器、系统仿真器。包括程序编辑器、变量查看器、系统仿真器。Matlab图形系统图形系统用用Matlab的句柄图形,可以实现二维、三维数据的可视化、图象处的句柄图形,可以实现二维、三维数据的可视化、图象处理,可以完全或局部修改图形窗口,还可以方便的设计图形界面。理,可以完全或局部修改图形窗口,还可以方便的设计图形界面。Matlab数学函数库数学函数库Matlab API(Application Program Interface)第6页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系72.1 MATLAB简介简介四、四、Matlab软件的基本使用方法软件的基

8、本使用方法命令窗口 工作空间 历史命令 当前路径 第7页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系82.1 MATLAB简介简介(1)命令窗口命令窗口Matlab的命令窗口可以执行任何的命令窗口可以执行任何Matlab命令和函数。命令和函数。主要功能主要功能操作操作M文件文件(打开、新建、运行、保存打开、新建、运行、保存)操作操作MDL文件文件运行运行Matlab程序程序运行外部应用程序运行外部应用程序(2)程序编辑程序编辑/调试器调试器Matlab内置了一个程序的编辑内置了一个程序的编辑/调试器调试器第8页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工

9、程系92.1 MATLAB简介简介主要功能主要功能建立、编辑、存储建立、编辑、存储M M文件文件可以运行程序可以运行程序调试调试(断点、单步、跟踪、查看断点、单步、跟踪、查看)程序程序设置断点取消断点单步运行进入函数跳出函数退出调试继续运行第9页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系102.1 MATLAB简介简介(3)变量查看器变量查看器在在MATLAB中,工作空间中,工作空间(Workspace)是一个重要的、比较是一个重要的、比较抽象的概念。抽象的概念。工作空间指运行工作空间指运行MATLAB的程序或命令所生成的所有变量的程序或命令所生成的所有变量和和MATL

10、AB提供的常量构成的空间。提供的常量构成的空间。工作空间的特点工作空间的特点工作空间在工作空间在MATLAB运行期间一直存在运行期间一直存在 关闭关闭MATLAB后工作空间自动消失后工作空间自动消失第10页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系112.1 MATLAB简介简介查看变量删除变量第11页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系122.1 MATLAB简介简介MATLABMATLAB的工作空间包含了一组可以在命令窗口中调整(调的工作空间包含了一组可以在命令窗口中调整(调用)的参数用)的参数who:显示当前工作空间中所有变量的一个简

11、单列表:显示当前工作空间中所有变量的一个简单列表whos:列出变量的大小、数据格式等详细信息列出变量的大小、数据格式等详细信息clear:清除工作空间中所有的变量:清除工作空间中所有的变量clear 变量名:清除指定的变量变量名:清除指定的变量保存和载入保存和载入workspaceworkspace(1 1)save filename variables将变量列表将变量列表variables所列出的变量保存到磁盘文件所列出的变量保存到磁盘文件filename中中第12页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系132.1 MATLAB简介简介Variables所表示的变

12、量列表中,不能用逗号,各个不同的变量之间所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。只能用空格来分隔。未列出未列出variables时,表示将当前工作空间中所有变量都保持到磁盘时,表示将当前工作空间中所有变量都保持到磁盘文件中。文件中。缺省的磁盘文件扩展名为缺省的磁盘文件扩展名为“.mat”,可以使用,可以使用“-”定义不同的存定义不同的存储格式(储格式(ASCII、V4等)等)(2 2)load filename variables将以前用将以前用savesave命令保存的变量命令保存的变量variablesvariables从磁盘文件中调入从磁盘文件中调入MATLA

13、BMATLAB工作空间。工作空间。用用load load 命令调入的变量,其名称为用命令调入的变量,其名称为用savesave命令保存时的名称,取命令保存时的名称,取值也一样。值也一样。第13页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系142.1 MATLAB简介简介Variables所表示的变量列表中,不能用逗号,各个不同的变量之间所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。只能用空格来分隔。未列出未列出variables时,表示将磁盘文件中所有变量都调入工作空间。时,表示将磁盘文件中所有变量都调入工作空间。退出工作空间退出工作空间quit 或

14、或 exit(4)图形窗口图形窗口在图形窗口上可以进行绘制曲线、显示文本、填充颜色等在图形窗口上可以进行绘制曲线、显示文本、填充颜色等操作。操作。用用figure命令建立新的图形窗口。命令建立新的图形窗口。第14页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系152.1 MATLAB简介简介可以用绘图语句自动创建图形窗口并在上面绘图,如可以用绘图语句自动创建图形窗口并在上面绘图,如plot命命令。令。编辑模态添加文本添加箭头添加线段旋转三维图形第15页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系162.1 MATLAB简介简介(5)文件管理文件管理文件

15、管理的命令,包括列文件名、显示或删除文件、显示文件管理的命令,包括列文件名、显示或删除文件、显示或改变当前目录等。或改变当前目录等。what:显示当前目录下所有与:显示当前目录下所有与matlab相关的文件及它们的路径。相关的文件及它们的路径。dir:显示当前目录下所有的文件:显示当前目录下所有的文件which:显示某个文件的路径:显示某个文件的路径cd path:由当前目录进入:由当前目录进入path目录目录cd:显示当前目录:显示当前目录type filename:在命令窗口中显示文件:在命令窗口中显示文件filenamedelete filename:删除文件:删除文件filename第

16、16页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系172.1 MATLAB简介简介(6)帮助系统帮助系统help命令,在命令窗口中显示命令,在命令窗口中显示MATLBAMATLBA的所有函数都是以逻辑群组方式进行组织的,而的所有函数都是以逻辑群组方式进行组织的,而MATLABMATLAB的目的目录结构就是以这些群组方式来编排的。录结构就是以这些群组方式来编排的。help 函数名函数名/文件名文件名%显示相关函数显示相关函数/文件的帮助体文件的帮助体help matfun:矩阵函数数值:矩阵函数数值线性代数线性代数help general:通用命令:通用命令help gra

17、phics:通用图形函数:通用图形函数help elfun:基本的数学函数:基本的数学函数help elmat:基本矩阵和矩阵操作:基本矩阵和矩阵操作第17页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系182.1 MATLAB简介简介help datafun:数据分析和傅立叶变换函数:数据分析和傅立叶变换函数help ops:操作符和特殊字符操作符和特殊字符help polyfun:多项式和内插函数:多项式和内插函数help lang:语言结构和调试:语言结构和调试help strfun:字符串函数:字符串函数help control:控制系统工具箱函数:控制系统工具箱函

18、数helpwin:帮助窗口:帮助窗口helpdesk:帮助桌面,浏览器模式:帮助桌面,浏览器模式lookfor 函数名函数名/文件名文件名%显示相关函数显示相关函数/文件的文件的H1行行demo:打开示例窗口:打开示例窗口第18页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系192.1 MATLAB简介简介五、五、Matlab编程基础编程基础(1)Matlab初学者常用的编程知识、规则初学者常用的编程知识、规则可以在可以在MATLAB命令窗口键入一个命令,也可以由命令窗口键入一个命令,也可以由Matlab定义的语言编写一个或多个应用程序,然后在定义的语言编写一个或多个应用程

19、序,然后在MATLAB环境下返回运算结果。环境下返回运算结果。MATLAB以复数矩阵为基本的运算单元,既可以对它整以复数矩阵为基本的运算单元,既可以对它整体进行处理,也可以对它的某个或某些元素进行单独处理体进行处理,也可以对它的某个或某些元素进行单独处理操作起来比较方便。操作起来比较方便。第19页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系202.1 MATLAB简介简介(2)MATLAB最基本的语句是赋值语句,其结构为:最基本的语句是赋值语句,其结构为:变量名列表变量名列表=表达式表达式其中等号左边的变量名列表为其中等号左边的变量名列表为MATLAB语句的返回值,若语句

20、的返回值,若一次返回多个结果,则变量列表用一次返回多个结果,则变量列表用 括起来,各变量间用括起来,各变量间用逗号分隔逗号分隔;等号右边为表达式,可以是矩阵运算或函数调;等号右边为表达式,可以是矩阵运算或函数调用,可以由用,可以由分号分号(;)、逗号逗号(,)或或回车回车结束。结束。如果希望结果不被显示,只要在语句之后加上一个如果希望结果不被显示,只要在语句之后加上一个分号分号(;)(;)即可。此时尽管结果没有显示,但它依然被赋值并在即可。此时尽管结果没有显示,但它依然被赋值并在MATLABMATLAB工作空间中分配了内存。工作空间中分配了内存。第20页,本讲稿共66页2023/2/14控制科

21、学与工程系控制科学与工程系212.1 MATLAB简介简介(3)变量不需要定义就可以直接使用和赋值。变量不需要定义就可以直接使用和赋值。例如:例如:A=1,2;3,4%定义并输入一个定义并输入一个2x2的矩阵的矩阵 str=Hello%定义并输入一个字符串定义并输入一个字符串(字符数组字符数组)矩阵的每行中的各个元素用逗号或者空格分隔,行于行之矩阵的每行中的各个元素用逗号或者空格分隔,行于行之间用分号分隔;字符串用单引号定义。间用分号分隔;字符串用单引号定义。(4)输入、输出函数输入、输出函数 Ainput(提示信息,选项提示信息,选项)例如:例如:Ainput(Enter matrix A=

22、)第21页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系222.1 MATLAB简介简介 disp(A)例如:例如:Ahello;disp(A)A=1,2,3;4,5,6;7,8,9;disp(A)(5)(5)命令行编辑器命令行编辑器方向键和控制键可以编辑修改已输入的命令方向键和控制键可以编辑修改已输入的命令 :回调上一行命令:回调上一行命令 :回调下一行命令:回调下一行命令第22页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系232.1 MATLAB简介简介多行命令(多行命令()如果命令语句超过一行或者太长希望分行输入,则可以使用多行命如果命令语句超过

23、一行或者太长希望分行输入,则可以使用多行命令继续输入。令继续输入。S=1-12+13+4+S=1-12+13+4+9-4-18;9-4-18;第23页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系242.2 数据类型和运算符一、变量一、变量(1)(1)变量命名规则变量命名规则必须以字母开头;必须以字母开头;可以由字母、数字和下划线混合组成;可以由字母、数字和下划线混合组成;变量长度应不大于变量长度应不大于3131个;个;字母区分大小写。字母区分大小写。(2)特殊变量特殊变量第24页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系252.2 数据类型和运算符

24、(3)变量操作变量操作在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。如要察看变量可以在任何需要的时候被调用。如要察看变量a的值,只需要在命的值,只需要在命令窗口中输入变量的名称即可:令窗口中输入变量的名称即可:a二、数值显示格式二、数值显示格式任何任何MATLAB的语句的执行结果都可以在屏幕上显示,同的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量的变量ans,数据的显示格式由,数据的显示格式由form

25、at命令控制。命令控制。format只是影响结果的显示,不影响其计算与存储;只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)执行所有运算。总是以双字长浮点数(双精度)执行所有运算。第25页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系262.2 数据类型和运算符如果结果为整数,则显示没有小数;如果结果不是整数,如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有:则输出形式有:format(short):短格式(:短格式(5位定点数)位定点数)99.1253format long:长格式(:长格式(15位定点数位定点数 99.123

26、45678900000format short e:短格式:短格式e方式方式 9.9123e+001format long e:长格式:长格式e方式方式 9.912345678900000e+001format bank:2位十进制位十进制 99.12format hex:十六进制格式:十六进制格式第26页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系272.2 数据类型和运算符三、数据类型三、数据类型在在MATLABMATLAB里共有六种数据类型,每一种类型可以是一维、里共有六种数据类型,每一种类型可以是一维、二维和多维的。二维和多维的。双精度型(双精度型(doubled

27、ouble)字符型(字符型(charchar)稀疏型(稀疏型(sparsesparse)存储型(存储型(storagestorage)细胞型(细胞型(cellcell)结构型(结构型(structstruct)第27页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系282.2 数据类型和运算符(1)字符型字符型基本规则:基本规则:所有字符串都用单引号括起来;所有字符串都用单引号括起来;字符串中的每一个字符都是该字符串变量中的一个元素;字符串中的每一个字符都是该字符串变量中的一个元素;字符串中的字符以字符串中的字符以ASC码形式存储,因而区分大小写。码形式存储,因而区分大小写。

28、常用操作方法:常用操作方法:建立:常用函数有建立:常用函数有char、int2str、num2str等。等。连接:水平连接通过函数连接:水平连接通过函数strcat或在中括号内用逗号连接;垂直连接或在中括号内用逗号连接;垂直连接通过函数通过函数strvcat或在中括号内用分号连接。或在中括号内用分号连接。比较:常用函数比较:常用函数strcmp,相同则返回相同则返回1,否则为,否则为0。查找:常用函数查找:常用函数findstr。第28页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系292.2 数据类型和运算符a=hello b=goodbyestrcat(a,b)ans=

29、hellogoodbyea,bans=hellogoodbyet1=first;t2=string;t3=matrix;t4=second;S1=strvcat(t1,t2,t3)S2=t4;t2;t3S1=S2=first secondstring stringmatrix matrixstrcmp(Yes,Yes)ans=1strcmp(Yes,No)ans=0第29页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系302.2 数据类型和运算符四、运算符四、运算符(1)(1)算术运算符算术运算符按照运算符的优先级可把算术运算符分为五级,在每一级按照运算符的优先级可把算术运

30、算符分为五级,在每一级里运算符有同样的优先级,在运算时自左向右结合里运算符有同样的优先级,在运算时自左向右结合+加加.数组幂数组幂-减减左除或反斜杠左除或反斜杠*矩阵乘法矩阵乘法/右除或斜杠右除或斜杠.*数组乘法数组乘法./数组除数组除矩阵幂矩阵幂:冒号冒号第30页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系312.2 数据类型和运算符(2)(2)关系运算符关系运算符在在MATLABMATLAB里共有六个关系运算符里共有六个关系运算符 大于大于 =大于等于大于等于 =等于等于 -=-=不等于不等于关系运算符将生成一个关系运算符将生成一个0-10-1矩阵,当运算数相应元素为

31、真时矩阵,当运算数相应元素为真时对应位置上生成对应位置上生成1 1,否则为,否则为0 0。第31页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系322.2 数据类型和运算符例:例:假设有:假设有:A=1 2-1-5 B=0 2 3 1 小于小于 AB ans=0 0 1 1 A 大于大于 AB ans=1 0 0 0 A1 ans=0 1 0 0=小于等于小于等于 A=大于等于大于等于 A=B ans=1 1 0 0 =等于等于 A=B ans=0 1 0 0 ;A=1 ans=1 0 0 0=不等于不等于 A=B ans=1 0 1 1;A=1 ans=0 1 1 1第3

32、2页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系332.3 程序控制语句一、循环语句一、循环语句MATLAB中的循环语句包括中的循环语句包括for和和while两种类型。两种类型。(1)for循环循环for循环的基本格式为:循环的基本格式为:for 循环变量循环变量=起始值:步长:终止值起始值:步长:终止值循环体循环体end步步长长的的缺缺省省值值是是1。步步长长可可以以在在正正实实数数或或负负实实数数范范围围内内任任意意指指定定,对对于于正正数数,循循环环变变量量的的值值大大于于终终止止值值时时,循循环环结结束束;对对于于负负数数,循循环变量的值小于终止值时,循环结束循

33、环结构可以嵌套使用。环变量的值小于终止值时,循环结束循环结构可以嵌套使用。书写格式不必太过于拘泥,在书写格式不必太过于拘泥,在Editor编辑器中会自动进行处理。编辑器中会自动进行处理。example第33页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系342.3 程序控制语句(2)while循环循环while循环的基本格式为:循环的基本格式为:while 表达式表达式循环体循环体end若若表表达达式式为为真真,则则执执行行循循环环体体的的内内容容,执执行行后后再再判判断断表表达达式式是是否否为为真,若为假则跳出循环体,向下继续执行,否则继续执行循环体。真,若为假则跳出循环

34、体,向下继续执行,否则继续执行循环体。例:例:exp2_12.mexp2_12.mWhileWhile循循环环和和forfor循循环环的的区区别别在在于于,whilewhile循循环环结结构构的的循循环环体体被被执执行行的次数不是确定的,而的次数不是确定的,而forfor结构中循环体的执行次数是确定的。结构中循环体的执行次数是确定的。(3)Break:从循环体中跳出,并使循环结束。从循环体中跳出,并使循环结束。第34页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系352.3 程序控制语句二、选择语句二、选择语句(1)ifelseelseif 语句语句if 格式格式if 逻辑

35、表达式逻辑表达式执行语句执行语句end当逻辑表达式的值为真,则执行该结构中的执行语句内容,执行完当逻辑表达式的值为真,则执行该结构中的执行语句内容,执行完后向下继续执行,若逻辑表达式的值为假,跳过结构中的执行语句后向下继续执行,若逻辑表达式的值为假,跳过结构中的执行语句继续向下执行。继续向下执行。第35页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系362.3 程序控制语句if-else 格式格式if 逻辑表达式逻辑表达式执行语句执行语句1else执行语句执行语句2end如果逻辑表达式的值为真,则执行语句如果逻辑表达式的值为真,则执行语句1,然后跳过语句,然后跳过语句2向下

36、执行向下执行若逻辑表达式的值为假,则跳过执行语句若逻辑表达式的值为假,则跳过执行语句1而执行语句而执行语句2,然后向下,然后向下执行。执行。第36页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系372.3 程序控制语句if-elseif 格式格式if 逻辑表达式逻辑表达式1执行语句执行语句1elseif 逻辑表达式逻辑表达式2执行语句执行语句2elseif 逻辑表达式逻辑表达式n执行语句执行语句n else执行语句执行语句el end如如果果逻逻辑辑表表达达式式的的值值为为真真,则则执执行行语语句句1,若若逻逻辑辑表表达达式式的的值值为为假假则则判判断断逻逻辑辑表表达达式式

37、2的的值值,若若为为真真,则则执执行行语语句句2,否否则则向向下下执执行行,若所有表达式均为假,执行语句若所有表达式均为假,执行语句el。例例exp2_13.m exp2_13_.m第37页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系382.3 程序控制语句(2)switch 语句语句switch语句的格式为:语句的格式为:switch 表达式(标量或字符串)表达式(标量或字符串)case 值值1语句语句1case 值值2语句语句2 case 值值n语句语句notherwise语句语句owend 表表达达式式的的值值和和哪哪种种情情况况(case)的的值值相相同同,就就执

38、执行行哪哪种种情情况况中中的的语语句句,如如果果都都不不同同,则则执执行行otherwise中的语句。中的语句。格格式式中中也也可可以以不不包包括括otherwiseotherwise,这这时时如如果果表表达达式式的的值值与与列列出出的的各各种种情情况况都都不不相相同同,则则继继续续向向下执行。下执行。第38页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系392.4 矩阵运算一、矩阵输入一、矩阵输入(1)(1)在命令窗口中输入在命令窗口中输入在在MATLABMATLAB中不必描述矩阵的维数和类型,而由输入的格式中不必描述矩阵的维数和类型,而由输入的格式和内容来决定。和内容来

39、决定。输入小矩阵最简单的方法:把矩阵的元素直接排列到输入小矩阵最简单的方法:把矩阵的元素直接排列到方括方括号号()()中。每行内的元素间用中。每行内的元素间用空格空格(space)(space)或或逗号逗号(,)分开,分开,行与行的内容间用行与行的内容间用分号分号(;)隔开。隔开。矩阵生成不但可以使用纯数字(含复数),也可以使用变矩阵生成不但可以使用纯数字(含复数),也可以使用变量(或者说采用一个表达式)。量(或者说采用一个表达式)。大的矩阵可以用分行输入,回车键代表分号。大的矩阵可以用分行输入,回车键代表分号。第39页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系402.

40、4 矩阵运算例:例:(2)语句生成语句生成用线性等间距生成向量矩阵(用线性等间距生成向量矩阵(start:step:end)start为起始值为起始值step为步长,步长为为步长,步长为1时可省略时可省略step参数;另外参数;另外step也可以取负数也可以取负数end为终止值为终止值y=2,4,53 6 8y=2 4 5 3 6 8a=1;b=2;c=3;x=5 b c;a*b a+c c/bx=5.000 2.000 3.000 2.000 4.000 1.500第40页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系412.4 矩阵运算例:例:a=1:2:10a=1 3

41、 5 7 9a=linspace(n1,n2,n)在线性空间上,行矢量的值从在线性空间上,行矢量的值从n1到到n2,数据个数为,数据个数为n,缺省,缺省n为为100例:例:a=linspace(1,10,10)a=1 2 3 4 5 6 7 8 9 10第41页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系422.4 矩阵运算a=logspace(n1,n2,n)在对数空间上,行矢量的值从在对数空间上,行矢量的值从10n1到到10n2,数据个数为,数据个数为n,缺省,缺省n为为50。这个指令为建立对数频域轴坐标提供了方便。这个指令为建立对数频域轴坐标提供了方便。例:例:a=

42、logspace(1,3,3)a=10 100 1000特殊矩阵的生成特殊矩阵的生成单位矩阵单位矩阵 eye(n)%生成生成n维单位阵维单位阵 eye(m,n)%生成生成mn的单位阵的单位阵第42页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系432.4 矩阵运算eye(m,n)%生成生成mn的单位阵的单位阵eye(size(A)%生成与生成与A矩阵同样大小的单位阵矩阵同样大小的单位阵全全1矩阵矩阵ones(n)ones(m,n)ones(m,n)ones(size(A)全全0矩阵矩阵zeros(n)zeros(m,n)zeros(m,n)zeros(size(A)随机矩阵

43、随机矩阵rand(n)rand(m,n)rand(m,n)rand(size(A)生成的随机矩阵的各个元素值在生成的随机矩阵的各个元素值在0 0和和1 1之间。之间。第43页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系442.4 矩阵运算eye(2,3)ans=1 0 0 0 1 0zeros(2,3)ans=0 0 0 0 0 0ones(2,3)ans=1 1 1 1 1 1eye(2)ans=1 0 0 1zeros(2)ans=0 0 0 0ones(2)ans=1 1 1 1第44页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系452.4 矩

44、阵运算二、下标引用二、下标引用(1)(1)矩阵下标矩阵下标用两个下标来表示。第用两个下标来表示。第i i行行j j列的元素用列的元素用A(i,j)A(i,j)来表示来表示在下标的表达式中使用冒号表示矩阵的一部分。在下标的表达式中使用冒号表示矩阵的一部分。下标引用从序号下标引用从序号1 1开始。开始。例:例:A(:,n):A(m,:):A(m1:m2,n1:n2):提取第提取第n列元素列元素提取第提取第m行元素行元素提取第提取第m1行到第行到第m2行和第行和第n1列到列到 第第n2列的所有元素(提取子块)。列的所有元素(提取子块)。第45页,本讲稿共66页2023/2/14控制科学与工程系控制科

45、学与工程系462.4 矩阵运算A(:):(2)矩阵的组合矩阵的组合即把小矩阵组合成大矩阵,组合符号为中括号即把小矩阵组合成大矩阵,组合符号为中括号。例:例:A=1 2;3 4;B=5 6;7 8;C=A B C=A;BC=A B C=A;B C=C=C=C=1 2 5 6 1 2 1 2 5 6 1 2 3 4 7 8 3 4 3 4 7 8 3 4 5 6 5 6 7 8 7 8得到一个长列矢量,该矢量的元素按矩阵的列进行得到一个长列矢量,该矢量的元素按矩阵的列进行 排列。排列。第46页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系472.4 矩阵运算(3)矩阵的抽取矩阵

46、的抽取用下标可以从大矩阵里面抽取某些元素组成小的矩阵。用下标可以从大矩阵里面抽取某些元素组成小的矩阵。例:例:A=1 2 3;4 5 6;7 8 9;B=A(1,1),A(2,3)B=1 6(4)删除矩阵的行和列删除矩阵的行和列把空的把空的 称为空矩阵,即矩阵大小为称为空矩阵,即矩阵大小为00。可以通过把矩阵。可以通过把矩阵的行或列赋值为空矩阵来删除某行或某列。的行或列赋值为空矩阵来删除某行或某列。第47页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系482.4 矩阵运算例:例:X%将一个将一个00的矩阵赋给的矩阵赋给X A(:(:,2 4)=%将将A的第二列和第四列删除的

47、第二列和第四列删除 A(:,2)=%删除矩阵删除矩阵A的第二列的第二列(5)矩阵扩展矩阵扩展如果在原矩阵中一个不存在的地址位置上设定一个数(赋如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。个数,而且在其他没有指定的位置补零。第48页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系492.4 矩阵运算三、矩阵运算三、矩阵运算 +;-;*;和和/;.*.*;.;././;.(1)(1)矩阵的加减矩阵的加减使用、运算符,并满足以下两个条件之一:

48、使用、运算符,并满足以下两个条件之一:类型相同,即行数相等,且列数相等。类型相同,即行数相等,且列数相等。其中一个为标量,则矩阵中每一个元素都和标量做加减运算。其中一个为标量,则矩阵中每一个元素都和标量做加减运算。(2)(2)矩阵的乘积矩阵的乘积使用使用*运算符,必须满足维数条件。只有当两个矩阵中前一运算符,必须满足维数条件。只有当两个矩阵中前一个矩阵的列数和后一个矩阵的行数相同时,才可以进行乘个矩阵的列数和后一个矩阵的行数相同时,才可以进行乘法运算。法运算。第49页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系502.4 矩阵运算(3)(3)矩阵的除法矩阵的除法除法运算的

49、意义相当于矩阵的求逆运算。除法运算的意义相当于矩阵的求逆运算。定义了矩阵的左除及右除。定义了矩阵的左除及右除。矩阵的左除:矩阵的左除:“”,AB 即求线性方程即求线性方程AX=B的解的解,X=A-1B矩阵的右除:矩阵的右除:“/”,A/B是方程是方程XB=A的解的解,X=AB-1(4)(4)矩阵的幂矩阵的幂只有方阵才可以求幂只有方阵才可以求幂第50页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系512.4 矩阵运算(5)矩阵的点运算矩阵的点运算两个矩阵之间的点运算是对该矩阵对应元素的直接运算。两个矩阵之间的点运算是对该矩阵对应元素的直接运算。点乘积运算要求矩阵的维数相同。点

50、乘积运算要求矩阵的维数相同。例:例:a=1 2;3 4;b=3 5;5 9c=a+b d=a-bc=d=4 7 -2 -3 8 13 -2 -5第51页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系522.4 矩阵运算a*b=13 23;29 51 a/b=-0.50 0.50;3.50 1.50ab=-1-1;2 3 a3=37 54;81 118a.*b=3 10;15 36 a./b=0.33 0.40;0.60 0.44a.b=3.00 2.50;1.67 2.25 a.3=1 8;27 64第52页,本讲稿共66页2023/2/14控制科学与工程系控制科学与工程系

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com