当前位置:
首页 > 计算机 > 辅助/工程设计 > MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

书名:MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

推荐语:

作者:贺超英,王少喻

出版社:电子工业出版社

出版时间:2013-06-01

书籍编号:30467280

ISBN:9787121198731

正文语种:中文

字数:68347

版次:2

所属分类:计算机-辅助/工程设计

全书内容:

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载






前言


MATLAB是MathWorks公司推出的一套高性能的数值计算和可视化软件,其强大的计算和图形功能使其在科学计算和工程领域赢得了众多的用户。经过许多专家、工程师在自己相关领域的扩充,MATLAB成为了一个多领域、多学科、多功能的优秀科技应用软件,从而被广泛地应用于各领域和学科的研究与仿真。MATLAB具有几十个工具箱,涉及信号处理、自动控制、图像处理、最优化方法、小波分析等许多学科,国内外许多高等院校各理工科专业都开设了MATLAB应用课程。该课程是电气、自动化和电子等电子信息类、机械类本科专业的专业基础课,它的任务主要是使学生掌握并利用MATLAB这一先进工具进行系统的设计、分析、仿真和计算,从而解决工程、科学计算和自动化、数字信号处理、通信、数学等学科中的许多问题。


全书共分9章,第1章介绍MATLAB的系统环境和软件的使用,使读者对MATLAB有一个感性认识;第2章介绍MATLAB数据的表示和基本运算,以及M函数的编写和程序控制流,使读者能够迅速地入门并能进行基本的编程运算;第3章介绍MATLAB的绘图功能;第4章介绍MATLAB强大的数值计算功能和符号运算功能,这是MATLAB重要的科学计算功能;第5章介绍Simulink仿真工具箱,使读者对MATLAB强大的仿真功能有一个基本了解,并能进行基本系统的仿真;第6~9章分别介绍控制系统工具箱、信号处理工具箱、通信工具箱和SimPowerSystems工具箱,将MATLAB和相关专业知识结合起来,使读者能够运用MATLAB进行系统的建模、分析、仿真、计算等。


软件的更新日新月异,本书原版以MATLAB7.5版为蓝本,在此次修订过程中每章内容都在原版的基础上更新到MATLAB7.11版,并重点扩充了第3章和第8章的内容,增加了绘图工具绘制图形和图形用户界面设计的内容,以及通信工具箱和Simulink仿真工具箱链接的各模块库和模块子集的介绍。


本书每章后面都配有实验指导,紧扣教学内容,使读者能够及时有效地上机操作掌握该章的主要内容。为了便于教师教学和读者自学,每章结尾还给出了相应的实验参考程序,这些程序都经过上机仿真验证。


本书第1章、第6章、第8章、第9章由贺超英编写,第2章由王少喻编写,第3章由禹柳飞编写,第4章由唐杰编写,第5章由沈细群编写,第7章由刘亮编写。全书由贺超英负责统稿,由贺超英、王少喻统一修订。本书在编写过程中,得到了唐勇奇教授和朱俊杰副教授的大力支持和帮助,在此表示衷心的感谢。


为了方便教师教学,本书配有电子教学课件、例题源程序等丰富的教学资源,读者可以登录华信教育资源网(www.hxedu.com.cn)免费下载。


由于作者水平有限,书中难免出现错误或不妥之处,欢迎广大读者批评指正。


作 者

本书变量符号说明


按国家规范,一般变量用斜体表示,矩阵、向量(矢量)用黑斜体表示,考虑到本书主要内容以MATLAB及其应用程序为主,为保持正文中符号的正斜体与程序中尽量一致,本书中凡涉及MATLAB语言调用格式或程序中的变量符号均使用程序字体。

第1章 MATLAB系统环境


1.1 什么是MATLAB


MATLAB名字由matrix和laboratory两词的前三个字母组合而成,意即矩阵实验室,是一门高级计算机编程语言,具有强大的数值计算功能和仿真功能。现在,在全球各高等院校,MATLAB已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等许多课程的基本教学工具,成为大学生和研究生必须掌握的基本编程语言。图1.1描述了MATLAB的主要结构和功能。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.1 MATLAB的主要结构和功能

MATLAB的内构函数提供了丰富的数值(矩阵)运算处理功能和广泛的符号运算功能,是基于矩阵运算的处理工具。即使是一个常数,如Y=5,MATLAB也将其视为一个1×1的矩阵。数值运算功能包括矩阵运算、多项式和有理分式运算、数据统计分析、数值积分、优化处理等。符号运算即用字符串进行数学分析,允许变量不赋值而参与运算,用于解代数方程、复合导数、积分、二重积分、有理函数、微分方程、泰列级数展开、寻优等,可求得解析符号解。


例如,用一个简单命令求解如下线性系统:

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

在MATLAB命令窗口输入

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

程序运行结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

MATLAB提供了两个层次的图形命令:一种是对图形句柄进行的低级图形命令,另一种是建立在低级图形命令之上的高级图形命令。利用MATLAB的高级图形命令可以轻而易举地绘制二维、三维乃至多维图形,并可进行图形和坐标的标识、视角和光照设计、色彩精细控制等。例如,用简短命令计算并绘制在0≤x≤6范围内的sin(2x),sin(x2)和(sin(x))2


在MATLAB命令窗口输入

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

运行命令语句得到的图形如图1.2所示。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.2 函数sin(2x),sin(x2)和(sin(x))2的图形

MATLAB除了命令行的交互式操作以外,还能以程序方式工作。使用MATLAB可以很容易地实现C或FORTRAN语言的几乎全部功能,包括Windows图形用户界面设计。


此外,MATLAB还有许多工具箱用以扩展其功能。工具箱分为两大类:基本工具箱和专业工具箱。基本工具箱主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。专业工具箱如控制系统工具箱、信号处理工具箱、神经网络工具箱、最优工具箱、金融工具箱等,主要用来进行相关专业领域的研究。


1.2 MATLAB操作界面


用户在购买到正版MATLAB 7.11后,可以按照相关的说明进行安装。安装完成后,启动MATLAB 7.11,进入MATLAB桌面集成环境,如图1.3所示。MATLAB 7.11桌面集成环境中包括括菜单栏、工具栏和4个主要窗口。菜单栏中包含File,Edit,Debug,Parallel,Desktop,Window和Help共7个菜单项。工具栏共提供12个命令按钮和一个当前路径列表框。4个主要窗口为:(1)命令窗口(Command Window);(2)工作空间管理窗口(Workspace);(3)命令历史窗口(Command History);(4)当前目录窗口(Current Folder)。


此外,还有编辑窗口、图形窗口和帮助窗口等其他种类的窗口,在MATLAB桌面集成环境左下角,还有一个“Start”按钮。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.3 MATLAB 7.11桌面集成环境

1.命令窗口


MATLAB 7.11桌面的中间窗口为命令窗口。命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。在默认设置下,命令窗口自动显示于MATLAB界面中,如果用户只想调出命令窗口,也可以选择Desktop→Desktop Layout→Command Window Only命令,如图1.4所示。MATLAB命令窗口中的“>>”为命令提示符,表示MATLAB正处于准备状态。在命令提示符后输入命令并按下回车键后,MATLAB就会执行所输入的命令,并在命令后面给出计算结果。


一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。3个小黑点为续行符,即把下面的物理行看成是该行的逻辑继续。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.4 MATLAB命令窗口

2.工作空间管理窗口


工作空间管理窗口用来显示当前计算机内存中MATLAB变量的名称、数学结构、该变量的字节数及其类型,可对变量进行观察、编辑、保存和删除。


在默认设置下,工作空间管理窗口自动显示于MATLAB界面中。工作空间管理窗口如图1.5所示。


3.命令历史窗口


命令历史窗口显示用户在命令窗口中所输入的每条命令的历史记录,并标明使用时间,这样可以方便用户查询。如果用户想再次执行某条已经执行过的命令,只需在命令历史窗口中双击该命令。如果要清除这些历史记录,可以选择Edit菜单中的Clear Command History命令。命令历史窗口如图1.6所示。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.5 工作空间管理窗口

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.6 命令历史窗口

4.当前目录窗口


在默认设置下,当前目录窗口自动显示于MATLAB桌面中,用户也可以选择Desktop→Current Folder命令调出或隐藏该命令窗口。当前目录窗口显示当前用户工作所在的路径。将用户目录设置成当前目录也可使用cd命令。例如,将用户目录c:\\mydir设置为当前目录,可在命令窗口输入命令cd c:\\mydir。当前目录窗口如图1.7所示。


5.Start菜单


MATLAB 7.11的桌面集成环境左下角有一个“Start”按钮,单击该按钮会弹出一个菜单,如图1.8所示。选择其中的命令可以执行MATLAB产品的各种工具,并且可以查阅MATLAB包含的各种资源。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.7 当前目录窗口

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.8 Start菜单

6.编辑窗口MATLAB编辑窗口


编辑窗口为用户提供了一个图形界面进行M文件的编写和调试,如图1.9所示。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.9 编辑窗口

为建立新的M文件,有以下3种方法启动MATLAB文件编辑器。


① 菜单操作。从MATLAB主窗口的File菜单中选择New菜单项,再选择M-file命令,屏幕上将出现MATLAB 文本编辑器窗口。


② 命令操作。在MATLAB命令窗口输入命令edit,启动MATLAB文本编辑器后,输入M文件的内容并存盘。


③ 命令按钮操作。单击MATLAB主窗口工具栏上的“New M-File”命令按钮,启动MATLAB文本编辑器后,输入M文件的内容并存盘。


1.3 MATLAB帮助系统


1.3.1 MATLAB的帮助命令


MATLAB的帮助命令包括help命令和lookfor命令。下面分别进行介绍。


1.help命令


在MATLAB命令窗口中直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。


例如,用户如果对积分函数quad和int不了解,可以在命令窗口输入如下命令:

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

MATLAB给出如下帮助信息。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

同理,输入help int,MATLAB给出如下帮助信息。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

2.lookfor命令


help命令只搜索出那些与关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。


lookfor命令只对M文件的第一行进行关键字搜索。若在lookfor命令后加上-all选项,则可对M文件进行全文搜索。


1.3.2 帮助窗口


帮助窗口如图1.10所示,进入帮助窗口可以通过以下3种方法。


① 单击MATLAB主窗口工具栏中的“Help”按钮。


② 在命令窗口中输入helpwin,helpdesk或doc。


③ 选择Help菜单中的MATLAB Help选项。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.10 帮助窗口

进入帮助窗口后,用户可以查询MATLAB的所有的产品帮助信息。例如,如果用户想了解通信工具箱,可以在帮助窗口的左边目录下单击Communication Toolbox前面的MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载,如图1.11所示,即可查询所有通信工具箱的内容。


在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入Demos,或者选择主窗口Help菜单中的Demos子菜单,可以打开演示系统。

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

图1.11 通信工具箱帮助文档

第2章 MATLAB应用基础


矩阵是MATLAB最基本、最重要的数据对象,MATLAB的大部分运算或命令都是在矩阵运算的意义下执行的,而且这种运算定义在复数域上。向量和单个数据都可以作为矩阵的特例来处理。MATLAB基本的数据类型是数值数据,它包括双精度数,用double函数实现转换;包括单精度数,用single函数实现转换;还包括有符号整数和无符号整数,其转换函数有int8,int16,int32,uint8,uint16,uint32。除数值数据外,还有字符数据(用char函数实现转换)和结构体(Structure),以及单元(Cell)数据类型、稀疏矩阵(Sparse)、逻辑型数据。在MATLAB中,以数值1(非零)表示“真”,以数值0表示“假”。


2.1 变量及其操作


1.变量命名


在MATLAB 7.11中,变量名是以字母开头,后接字母、数字或下画线的字符序列,最多63个字符。在MATLAB中,变量名区分字母的大小写。


2.赋值语句


MATLAB赋值语句有两种格式:


① 变量=表达式


② 表达式


表达式由变量、数值、操作符和函数所组成,结果是一个矩阵。在第一种语句形式下,MATLAB将右边表达式的值赋给左边的变量,而在第二种语句形式下,将表达式的值赋给MATLAB的预定义变量ans。如输入命令

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

则显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

3.一些特殊变量和常量


MATLAB中系统本身定义的变量见表2.1,这些特殊变量在启动MATLAB之后,自动赋值,用户要尽量避免定义相同名字的变量,否则将导致原始特殊取值丢失。

表2.1 MATLAB特殊变量表

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

(续表)

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

4.字符串


在MATLAB中,字符串是用单撇号括起来的字符序列。MATLAB将字符串当做一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。也可以建立多行字符串矩阵。


字符串是以ASCII码形式存储的。abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。相反,char函数可以把ASCII码矩阵转换为字符串矩阵。例如显示一个3行32列的ASCII 字符变量串,输入命令

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

与字符串有关的另一个重要函数是eval,其调用格式为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

其中t为字符串,它的作用是把字符串的内容作为对应的MATLAB语句来执行。


输入命令

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

若字符串中的字符含有单撇号,则该单撇号字符需用两个单撇号表示,对于较长的字符串可以用字符串向量表示,即用[]括起来。


例如输入命令

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

表2.2列出了几个常用的字符串处理函数。

表2.2 常用的字符串处理函数及其含义

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

5.结构矩阵和单元矩阵


(1)结构矩阵


结构矩阵的元素可以是不同的数据类型,它能将一组具有不同属性的数据纳入到一个统一的变量名下进行管理。建立一个结构矩阵可采用给结构成员赋值的办法。具体格式为


结构矩阵名.成员名=表达式


其中表达式应理解为矩阵表达式。此外可以使用创建或转换结构矩阵函数struct,其语法格式为


s=struct(\'field1\',{},\'field2\',{},…),创建一个具有域field1,field2,…的空结构体;


s=struct(\'field1\',values1,\'field2\',values2,…),创建一个具有特定域和值的结构矩阵。


例如命令语句s=struct(\'type\',{\'big\',\'little\'},\'color\',{\'red\'},\'x\',{3 4})创建一个结构矩阵

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

s中的元素为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

可以根据需要增加或删除结构的成员。例如要给结构矩阵a增加一个成员x4,可给a中任意一个元素增加成员x4:

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

但其他成员均为空矩阵,可以使用赋值语句给它赋确定的值。


要删除结构的成员,则可以使用rmfield函数来完成。例如,删除成员x4,输入a=rmfield(a,\'x4\');即可。


(2)单元矩阵


建立单元矩阵的方法和一般矩阵的建立方法相似,只是矩阵元素要用大括号括起来。创建单元矩阵的函数cell的格式如下:


c=cell(m,n)或c=cell([m,n]),创建一个m行n列的空矩阵;


c=cell(size(A)),创建一个维数和矩阵A相同的空矩阵。


例如输入如下命令:

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

可以用带有大括号下标的形式引用单元矩阵元素,例如b{3,3}。单元矩阵的元素可以是结构或单元矩阵。可以使用celldisp函数来显示整个单元矩阵,如celldisp(b)。还可以删除单元矩阵中的某个元素。表2.3列出了几个常用的结构及单元的函数。

表2.3 几个常用的结构及单元的函数

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

6.几个特殊的函数who,whos,exist,all,any,find,format


(1)who显示当前工作空间中所有变量的一个简单列表。


(2)whos列出变量的大小、数据格式等详细信息。


(3)a=exist(\'item\',…),查询当前的工作空间内是否存在某一条款item,返回的a值表示item为不同的类型,见表2.4。

表2.4 函数exist返回标号值

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

(4)B=any(A),测试数组矩阵A是否有非零元素,如果有,则返回1,否则返回0。例如A=[0.53 0.67 0.01 0.38 0.07 0.42 0.69],any(A)产生1。


(5)B=all(A),测试数组矩阵A是否所有的元素非零,如果是,则返回1,否则会返回0。例如A=[0.53 0 0.01 0.38 0.07 0.42 0.69],all(A)产生0。


(6)k=find(X),返回数组X含非零元素的指数(Index),如果没有,返回一个空矩阵。


[i,j]=find(X),返回数组X含非零元素的行列指数。


通常find(X)将X看成是X(:),即一个按X各列连接起来的列向量。例如输入如下命令:

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

输入如下命令:

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

(7)format


format(\'type\'),设置或改变数据输出格式,其中type决定数据的输出格式。各种type及其含义见表2.5。

表2.5 控制数据输出格式的类型及其含义

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

2.2 MATLAB数组与矩阵运算


2.2.1 冒号表达式


冒号用于表示向量、带有下标的数组,还可用来表示循环。


j:k,相当于向量[j,j+1,j+2,…,k]。


j:i:k,相当于向量[j,j+i,j+2*i,…,k]。


A(:,j),矩阵A的第j列。


A(i,:),矩阵A的第i行。


A(:,j:k),表示A(:,j),A(:,j+1),…,A(:,k)。


A(:,:),二维数组,相当于矩阵A。


A(:),将A看成是一列向量,表示A的所有的元素。


这里i,j,k必须为标量。


在MATLAB中,还可以用linspace函数产生行向量。其调用格式为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

其中a和b是生成向量的第一个和最后一个元素,n是元素总数。当n省略时,自动产生100个元素。显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。例如输入

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

输入

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

此外可以在对数空间建立向量,采用函数logspace,其调用格式为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

在对数空间上,行矢量的值从10n1 到10n2,数据个数为n,默认n为50。这个指令为建立对数频域轴坐标提供了方便。例如输入

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

2.2.2 矩阵的建立


1.直接输入法


最简单的建立矩阵的方法是直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。例如输入

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

这样在MATLAB的工作空间中就建立了一个矩阵x,以后可以调用x。


2.利用M文件建立矩阵


对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。


3.建立大矩阵


大矩阵可由方括号中的小矩阵或向量建立起来。


例如输入

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

2.2.3 矩阵的拆分


1.矩阵元素


通过下标引用矩阵的元素,例如

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依此类推。例如

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显然,序号(Index)与下标(Subscript)是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。


2.矩阵拆分


(1)利用冒号表达式获得子矩阵


① A(:,j)表示矩阵A的第j列的全部元素;A(i,:)表示矩阵A第i行的全部元素;A(i,j)表示矩阵A第i行、第j列的元素。


② A(i:i+m,:)表示矩阵A第i~i+m行的全部元素;A(:,k:k+m)表示矩阵A第k~k+m列的全部元素,A(i:i+m,k:k+m)表示矩阵A中第i~i+m行内、第k~k+m列中的所有元素。


③ A(:)将矩阵A每一列元素堆叠起来,成为一个列向量,这也是MATLAB变量的内部存储方式。


此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。


例如,输入矩阵

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

要将其右下角3×2子矩阵赋给D,可输入

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

(2)利用空矩阵删除矩阵的元素


在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clear X不同,clear是将X从工作空间中删除,而[]则存在于工作空间中,只是维数为0。


2.2.4 MATLAB数据的运算


1.基本算术运算


MATLAB的运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。基本数学运算符见表2.6。

表2.6 基本数学运算符

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

(1)矩阵加减运算


假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减;如果A与B的维数不相同,则给出错误信息,提示用户两个矩阵的维数不匹配。


(2)矩阵乘法


假定有两个矩阵A和B,若A为m×n矩阵,B为n×p矩阵,则C=A*B为m×p矩阵。


(3)矩阵除法


在MATLAB中,有两种矩阵除法运算:\\和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则A\\B和B/A运算可以实现。A\\B等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。


对于含有标量的运算,两种除法运算的结果相同,如3/4和4\\3有相同的值,都等于0.75。又如,设a=[10.5,25],则a/5=5\\a=[2.1000 5.0000]。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般A\\B(B/A。


(4)矩阵的乘方


一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。


2.点运算


点运算也称为数组运算,其运算符是在有关算术运算符前面加点。点运算符有.*,./,.\\和.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维数相同。一些特殊的矩阵函数,如sin函数是由点运算的形式进行的。


例如输入

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

3.关系运算和逻辑运算


MATLAB提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。


关系运算符的运算法则为:


① 当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。


② 当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行的,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。


③ 当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。


例如建立5阶方阵A,判断A的元素是否能被3整除。


在MATLAB命令窗口输入如下命令:

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

显示结果为

MATLAB应用与实验教材(第2版)pdf/doc/txt格式电子书下载

其中,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵,P是进行是否相等(==)比较的结果矩阵。


MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。


逻辑运算的运算法则为:


① 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。


② 设参与逻辑运算的是两个标量a和b,那么,


a&b操作对应a,b全为非零时,运算结果为1,否则为0。


a|b操作对应a,b中只要有一个非零,运算结果为1。


~a操作对应当a是零时,运算结果为1;当a非零时,运算结果为0。


③ 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。


④ 若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示