MATLAB实用教程PPT学习课程.pptx

上传人:一*** 文档编号:27520589 上传时间:2022-07-25 格式:PPTX 页数:1146 大小:19.33MB
返回 下载 相关 举报
MATLAB实用教程PPT学习课程.pptx_第1页
第1页 / 共1146页
MATLAB实用教程PPT学习课程.pptx_第2页
第2页 / 共1146页
点击查看更多>>
资源描述

《MATLAB实用教程PPT学习课程.pptx》由会员分享,可在线阅读,更多相关《MATLAB实用教程PPT学习课程.pptx(1146页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、科学计算与仿真推荐参考书推荐参考书第1页/共1146页第一页,编辑于星期六:六点 五十三分。科学计算与仿真推荐参考书推荐参考书第2页/共1146页第二页,编辑于星期六:六点 五十三分。matlabmatlab是什么一个可视化的计算程序, 广泛使用于从个人计算机到超级计算机范围内的各种计算机上包括命令控制、可编程,上百个预先定义命令和函数有许多强有力的命令, 能完成大量的高级矩阵处理强有力的二维、三维图形工具能与其他程序一起使用25个(不断增加中)不同的工具箱应用于特殊的应用领域工业研究与开发的有力工具数学教学, 尤其线代, 数值分析, 科学计算方面的教研工具电子学, 控制理论, 物理学等工程科

2、学方面的教研工具经济学, 化学和生物学等有计算问题的所有领域中的教学与研究名字取自矩阵实验室(matrix laboratory)第3页/共1146页第三页,编辑于星期六:六点 五十三分。matlabmatlab不是什么不是万能的解决工具不是最高性能的编程语言受计算条件限制, 不能解决超大型实际问题不能解决工具箱之外的问题种类- 需要编写接口、算法甚至工具箱第4页/共1146页第四页,编辑于星期六:六点 五十三分。MATLAB 的名称源自 Matrix Laboratory ,它是一种科学计算软件,专门以矩阵的形式处理数据。 第5页/共1146页第五页,编辑于星期六:六点 五十三分。MATLA

3、B 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算丶控制系统丶信息处理等领域的分析丶仿真和设计工作,而且利用 MATLAB 产品的开放式结构,可以非常容易地对 MATLAB 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善 MATLAB 产品以提高产品自身的竞争能力。 第6页/共1146页第六页,编辑于星期六:六点 五十三分。MATLAB Compiler 是一种编译工具,它能够将那些利用 MATLAB 提供的编程语言 M 语言编写的函数文件编译生成为函数库丶可执行文件 COM 组件等等。这样就可以扩展 MATLAB 功能,使 MATLAB 能

4、够同其他高级编程语言例如 C/C+ 语言进行混合应用,取长补短,以提高程序的运行效率,丰富程序开发的手段。第7页/共1146页第七页,编辑于星期六:六点 五十三分。目前 MATLAB 产品族可以用来进行: 数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与方针 数字图像处理 数字信号处理 通讯系统设计与仿真 财务与金融工程第8页/共1146页第八页,编辑于星期六:六点 五十三分。MATLAB 是 MATLAB 产品家族的基础,它提供了基本的数学算法,例如矩阵运算丶数值分析算法,MATLAB 集成了 2D 和 3D 图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言

5、 M 语言,利用 M 语言可以通过编写脚本或者函数文件实现用户自己的算法。第9页/共1146页第九页,编辑于星期六:六点 五十三分。利用 M 语言还开发了相应的 MATLAB 专业工具箱函数供用户直接使用。这些工具箱应用的算法是开放的可扩展的,用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法扩充工具箱的功能。目前 MATLAB 产品的工具箱有四十多个,分别涵盖了数据获取丶科学计算丶控制系统设计与分析丶数字信号处理丶数字图像处理丶金融财务分析以及生物遗传工程等专业领域。第10页/共1146页第十页,编辑于星期六:六点 五十三分。Simulink 是基于 MATLAB

6、 的框图设计环境,可以用来对各种动态系统进行建模丶分析和仿真,它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统丶卫星控制制导系统丶通讯系统丶船舶及汽车等等,其中了包括连续丶离散,条件执行,事件驱动,单速率丶多速率和混杂系统等等。 Simulink 提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且 Simulink 还提供了丰富的功能块以及不同的专业模块集合,利用 Simulink 几乎可以做到不书写一行代码完成整个动态系统的建模工作。第11页/共1146页第十一页,编辑于星期六:六点 五十三分。Stateflow 是一个交互式的设计工具,它基于有限状

7、态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。 Stateflow 与 Simulink 和 MATLAB 紧密集成,可以将 Stateflow 创建的复杂控制逻辑有效地结合到 Simulink 的模型中。第12页/共1146页第十二页,编辑于星期六:六点 五十三分。在 MATLAB 产品族中,自动化的代码生成工具主要有 Real-Time Workshop ( RTW )和 Stateflow Coder ,这两种代码生成工具可以直接将 Simulink 的模型框图和 Stateflow 的状态图转换成高效优化的程序代码。利用 RTW 生成的代码简洁丶可靠丶易读。目前 RTW 支持

8、生成标准的 C 语言代码,并且具备了生成其他语言代码的能力。整个代码的生成丶编译以及相应的目标下载过程都是自动完成的,用户需要做得仅仅使用鼠标点击几个按钮即可。 MathWorks 公司针对不同的实时或非实时操作系统平台,开发了相应的目标选项,配合不同的软硬件系统,可以完成快速控制原型( Rapid Control Prototype )开发丶硬件在回路的实时仿真( Hardware-in-Loop )丶产品代码生成等工作。第13页/共1146页第十三页,编辑于星期六:六点 五十三分。另外, MATLAB 开放性的可扩充体系允许用户开发自定义的系统目标,利用Real-Time Workshop

9、 Embedded Coder 能够直接将 Simulink 的模型转变成效率优化的产品级代码。代码不仅可以是浮点的,还可以是定点的。 MATLAB 开放的产品体系使 MATLAB 成为了诸多领域的开发首选软件,并且, MATLAB 还具有 300 余家第三方合作伙伴,分布在科学计算丶机械动力丶化工丶计算机通讯丶汽车丶金融等领域。接口方式包括了联合建模丶数据共享丶开发流程衔接等等。第14页/共1146页第十四页,编辑于星期六:六点 五十三分。MATLAB 结合第三方软硬件产品组成了在不同领域内的完整解决方案,实现了从算法开发到实时仿真再到代码生成与最终产品实现的完整过程。主要的典型应用包括:

10、控制系统的应用与开发快速控制原型与硬件在回路仿真的统一平台 dSPACE 信号处理系统的设计与开发全系统仿真与快速原型验证, TI DSP 丶 Lyrtech 等信号处理产品软硬件平台 通信系统设计与开发结合 RadioLab 3G 和 Candence 等产品 机电一体化设计与开发全系统的联合仿真,结合 Easy 5 丶 Adams 等第15页/共1146页第十五页,编辑于星期六:六点 五十三分。Matlab课程的组织结构绪论基础知识数学运算基本编程数据显示 及存取符号计算数值计算图形用户界面GUI Simulink仿真外部接口第16页/共1146页第十六页,编辑于星期六:六点 五十三分。第

11、一章第一章 概述概述 第17页/共1146页第十七页,编辑于星期六:六点 五十三分。 MATLAB将计算、可视化和编程等功能集于一个易于使用的环境,并遇有如下特点: 功能强大; 简单易学; 编程效率高。第18页/共1146页第十八页,编辑于星期六:六点 五十三分。1MATLAB的发展历程 2MATLAB的特点 3MATLAB的安装第19页/共1146页第十九页,编辑于星期六:六点 五十三分。1MATLAB的发展历程 1980年,美国新墨西哥大学计算机科学 系主任Cleve 着手编写供学生使用的子程 序接口程序,取名为MATLAB; 1984年,推出了MATLAB第一个商业版 本; 1992年,

12、推出MATLAB 4.0版;第20页/共1146页第二十页,编辑于星期六:六点 五十三分。 1997年,推出MATLAB 5.0版; 2000年,推出MATLAB 6.0版; 2004年,推出MATLAB 7.0版; 2008年,推出MATLAB 7.6版; 2012年,推出MATLAB R2012A版第21页/共1146页第二十一页,编辑于星期六:六点 五十三分。2MATLAB的特点 开发环境 编程 数值处理 图形化 图形用户界面 文件I/O和外部应用程序接口第22页/共1146页第二十二页,编辑于星期六:六点 五十三分。3MATLAB的安装MATLAB对PC系统的要求 第23页/共1146

13、页第二十三页,编辑于星期六:六点 五十三分。1.2 MATLAB的目录结构的目录结构 第24页/共1146页第二十四页,编辑于星期六:六点 五十三分。 安装MATLAB后,在安装目录下将包含如下文件夹。第25页/共1146页第二十五页,编辑于星期六:六点 五十三分。 续表第26页/共1146页第二十六页,编辑于星期六:六点 五十三分。1.3 MATLAB的工作环境的工作环境1菜单和工具栏 2命令窗口 3历史命令窗口 4当前工作目录窗口 5工作空间窗口第27页/共1146页第二十七页,编辑于星期六:六点 五十三分。 本节介绍MATLAB的工作界面和基本的操作方法。 MATLAB的工作界面主要包括

14、: 菜单; 工具栏; 命令窗口; 历史命令窗口; 当前工作目录窗口; 工作空间窗口。 第28页/共1146页第二十八页,编辑于星期六:六点 五十三分。MATLAB工作环境 第29页/共1146页第二十九页,编辑于星期六:六点 五十三分。1菜单和工具栏 这里只简单介绍默认情况下的菜单和工具栏。 【File】菜单主要用于对文件的处理。 【Edit】菜单主要用于复制、粘贴等操 作,与一般Windows程序的类似,在此 不作详细介绍。 第30页/共1146页第三十页,编辑于星期六:六点 五十三分。 【Debug】菜单用于调试程序。 【Desktop】菜单用于设置主窗口中需要 打开的窗口。 【Windo

15、w】菜单列出当前所有打开的窗 口。 【Help】菜单用于选择打开不同的帮助系 统。 第31页/共1146页第三十一页,编辑于星期六:六点 五十三分。 当用户单击“Current Directory”窗口时,使得该窗口成为活动窗口,同时增加一个如下图所示的菜单【View】,用于设置如何显示当前目录下的文件。第32页/共1146页第三十二页,编辑于星期六:六点 五十三分。 当用户单击“Workspace”窗口时,使得该窗口成为活动窗口,同时增加如下图所示的菜单【View】和【Graphics】。第33页/共1146页第三十三页,编辑于星期六:六点 五十三分。2命令窗口 命令窗口是MATLAB的主要

16、交互窗口,用于输入命令并显示除图形以外的所有执行结果。 MATLAB命令窗口中的“”为运算提示 符,表MATLAB处于准备状态。第34页/共1146页第三十四页,编辑于星期六:六点 五十三分。 当在提示符后输入一段程序或一段运算式 后【Enter】键,MATLAB会给出计算结 果,并再次进入准备状态(所得结果将被 保存在工作空间窗口中)。 单击命令窗口右上角的“ ”按钮,可以使 命令窗口脱离主窗口而成为一个独立的窗 口。 第35页/共1146页第三十五页,编辑于星期六:六点 五十三分。3历史命令窗口 主要用于记录所有执行过的命令; 保留自安装后所有使用过命令的历史记 录,并标明使用时间; 可以

17、通过用鼠标双击某一历史命令来重新 执行该命令; 可以成为一个独立的窗口。第36页/共1146页第三十六页,编辑于星期六:六点 五十三分。 通过上下文菜单,可删除或粘贴历史记录; 可为选中的表达式或命令创建一个M文件; 可为表达式或命令创建快捷按钮。 第37页/共1146页第三十七页,编辑于星期六:六点 五十三分。4当前工作目录窗口 当前工作目录是指MATLAB运行文件时的目录。只有在当前工作目录或搜索路径下的文件、函数可以被运行或调用。如下图所示。第38页/共1146页第三十八页,编辑于星期六:六点 五十三分。5工作空间窗口 工作空间窗口将显示目前内存中所有的MATLAB变量的变量名、数据结构

18、、字节数以及类型等信息,如下图所示。第39页/共1146页第三十九页,编辑于星期六:六点 五十三分。1.4 MATLAB的通用命令的通用命令 1常用命令 2输入内容的编辑 3标点 4搜索路径与扩展第40页/共1146页第四十页,编辑于星期六:六点 五十三分。 通用命令是MATLAB中经常使用的一组命令,这些命令可以用来管理目录、函数、变量、工作空间、文件和窗口等。下面对这些命令进行介绍。第41页/共1146页第四十一页,编辑于星期六:六点 五十三分。1常用命令 常用命令的功能第42页/共1146页第四十二页,编辑于星期六:六点 五十三分。2输入内容的编辑 在命令窗口中,MATLAB提供了控制光

19、标位置和进行简单编辑的键盘按键,部分常用的键盘按键及其功能如下表所示。第43页/共1146页第四十三页,编辑于星期六:六点 五十三分。3标点 在MATLAB中,一些标点符号被赋予了特殊的功能,如下表所示。第44页/共1146页第四十四页,编辑于星期六:六点 五十三分。4搜索路径与扩展 用户自己书写的函数有可能并没有保存在搜索路径下。要解决这个问题,只需把程序所在的目录扩展成MATLAB的搜索路径即可。 第45页/共1146页第四十五页,编辑于星期六:六点 五十三分。(1)查看MATLAB的搜索路径 选择MATLAB主窗口中的【File】|【Set Path】菜单,进入【设置搜索路径】对话框。通

20、过该对话框可为MATLAB添加或删除搜索路径。 第46页/共1146页第四十六页,编辑于星期六:六点 五十三分。 在命令窗口中输入path或genpath可得到MATLAB的所有搜索路径,具体代码如下:第47页/共1146页第四十七页,编辑于星期六:六点 五十三分。(2)设置MATLAB的搜索路径 方法一:在MATLAB命令窗口中输入 editpath或pathtool命令或通过【File】 |【Set Path】菜单,进入 “设置搜索路 径”对话框,通过该对话框编辑搜索路 径。第48页/共1146页第四十八页,编辑于星期六:六点 五十三分。 方法二:在命令窗口执行“path(path, D:

21、Study )”,然后通过 “设置搜索路 径”对话框查看“D:Study”是否在搜索路 径中。 方法三:在命令窗口执行“addpath D:Study- end”,将新的目录加到整个 搜索路径的末尾。如果将end改为 begin,可以将新的目录加到整个搜索路 径的开始。第49页/共1146页第四十九页,编辑于星期六:六点 五十三分。1.5 MATLAB的帮助系的帮助系统统 1命令窗口查询帮助系统 2联机帮助系统 3联机演示系统第50页/共1146页第五十页,编辑于星期六:六点 五十三分。 MATLAB为用户提供了非常完善的帮助系统。下面分别介绍MATLAB的三类帮助系统。 第51页/共1146

22、页第五十一页,编辑于星期六:六点 五十三分。1命令窗口查询帮助系统常见的帮助命令第52页/共1146页第五十二页,编辑于星期六:六点 五十三分。第53页/共1146页第五十三页,编辑于星期六:六点 五十三分。第54页/共1146页第五十四页,编辑于星期六:六点 五十三分。2联机帮助系统 用户可以通过下述方法进入MATLAB的联机帮助系统。 直接单击MATLAB主窗口中的“ ”按钮; 选中Help菜单的前4项中的任意一项; 在命令窗口中执行helpwin、helpdesk 或doc。第55页/共1146页第五十五页,编辑于星期六:六点 五十三分。3联机演示系统 可以通过以下方式打开联机演示统。

23、选择MATLAB主窗口菜单的【Help】| 【Demos】选项; 在命令窗口输入demos; 直接在帮助页面上选择Demos页。第56页/共1146页第五十六页,编辑于星期六:六点 五十三分。第57页/共1146页第五十七页,编辑于星期六:六点 五十三分。第58页/共1146页第五十八页,编辑于星期六:六点 五十三分。第59页/共1146页第五十九页,编辑于星期六:六点 五十三分。1.6 MATLAB示例示例 下面以一个简单的例子展示如何使用MATLAB进行简单的数值计算。 第60页/共1146页第六十页,编辑于星期六:六点 五十三分。 第61页/共1146页第六十一页,编辑于星期六:六点 五

24、十三分。第62页/共1146页第六十二页,编辑于星期六:六点 五十三分。习习 题题1简述MATLAB的主要功能。2在命令窗口输入“w=3+2”,然后依次使用clear和clc命 令,分别观察命令窗口、工作空间窗口和历史命令窗口 的变化。3将硬盘上一已有目录,加入到搜索路径,并将其设置为 当前工作目录。4通过命令窗口,查询函数sin()的用法。5通过联机帮助系统,查询函数inv()的用法。第63页/共1146页第六十三页,编辑于星期六:六点 五十三分。6通过联机演示系统,查询并运行“Control Systems Toolboxes”下的“Case Studies”中的“Yaw Damper f

25、or a 747 Aircraft”演示程序。7 在 命 令 窗 口 依 次 执 行 “w = 5 ; ”、 “p = 2 * w ”和“q=p+w”。8在命令窗口同时执行下述代码: w=5; p=2*w q=p+w第64页/共1146页第六十四页,编辑于星期六:六点 五十三分。第二章第二章 基础知识基础知识第65页/共1146页第六十五页,编辑于星期六:六点 五十三分。 本章着重介绍的MATLAB基础知识包括: 数据类型; 基本矩阵操作; 运算符; 字符串处理函数。第66页/共1146页第六十六页,编辑于星期六:六点 五十三分。目录目录 第67页/共1146页第六十七页,编辑于星期六:六点

26、五十三分。2.1 数数 据据 类类 型型 1数值类型 2逻辑类型 3字符和字符串类型 4结构体类型第68页/共1146页第六十八页,编辑于星期六:六点 五十三分。 MATLAB中定义了很多种数据类型。本节讨论MATLAB中主要的数据类型及其使用方法。 在MATLAB中有15种基本数据类型,每种基本数据类型均以数组/矩阵的形式出现。 第69页/共1146页第六十九页,编辑于星期六:六点 五十三分。1数值类型 数值类型包含 整数; 浮点数; 复数; Inf; NaN第70页/共1146页第七十页,编辑于星期六:六点 五十三分。(1)整数类型 MATLAB支持1、2、4和8字节的有符号整数和无符号整

27、数。数据类型的名称、表示范围和转换函数如下表所示。第71页/共1146页第七十一页,编辑于星期六:六点 五十三分。(2)浮点数类型 MATLAB有单精度和双精度两种浮点数。其名称、存储空间、表示范围和转换函数如下表所示。 第72页/共1146页第七十二页,编辑于星期六:六点 五十三分。(3)复数类型 复数包含实部和虚部。在MATLAB中可以用i或者j来表示虚部。第73页/共1146页第七十三页,编辑于星期六:六点 五十三分。(4)Inf和NaN Inf和-Inf分别表示正无穷大和负无穷 大。除法运算中除数为0或者运算结果溢 出都会导致inf或-inf的运行结果。 在MATLAB中用NaN(No

28、t a Number) 来表示一个既不是实数也不是复数的数 值。第74页/共1146页第七十四页,编辑于星期六:六点 五十三分。2逻辑类型 在 M AT L A B 中 逻 辑 类 型 包 含 t r u e 和 f a l s e , 分 别 由 1 和 0 表 示 。 在MATLAB中用函数logical()将任何非零的数值转换为true(即1),将数值0转换为false(即0)。第75页/共1146页第七十五页,编辑于星期六:六点 五十三分。3字符和字符串类型 在MATLAB中,数据类型(char)表示一个字符。一个char类型的1n数组称为字符串string。 第76页/共1146页第

29、七十六页,编辑于星期六:六点 五十三分。4结构体类型 结构体类型是一种由若干属性(field)组成的MATLAB数组,其中的每个属性可以是任意数据类型。第77页/共1146页第七十七页,编辑于星期六:六点 五十三分。 下图表示了一个结构体(Personel),它包括3个属性(Name、Score和Salary),其中Name是一个字符串,Score是一个数值,Salary是一个15的向量。 第78页/共1146页第七十八页,编辑于星期六:六点 五十三分。(1)结构体数组的构造 构造一个结构体(数组)有两种方法。 利用赋值语句 通过赋值语句为结构体中的每个指定属性赋值,从而构造结构体。 第79页

30、/共1146页第七十九页,编辑于星期六:六点 五十三分。 利用函数struct() 在MATLAB中,函数struct()的具体用法如下: 其中,strArray、field和val分别表示结构体名、属性名和相应的属性值。 第80页/共1146页第八十页,编辑于星期六:六点 五十三分。(2)结构体数组的访问 通过结构体数组的下标引用,可以访问任意元素的所有属性,同时可以对属性进行赋值。 第81页/共1146页第八十一页,编辑于星期六:六点 五十三分。2.2 基本矩阵操作基本矩阵操作 2.2.1 矩阵的构造 2.2.2 矩阵大小的改变 2.2.3 矩阵下标引用 2.2.4 矩阵信息的获取 2.2

31、.5 矩阵结构的改变 2.2.6 稀疏矩阵第82页/共1146页第八十二页,编辑于星期六:六点 五十三分。 在MATLAB中,所有的数据均以二维、三维或高维矩阵的形式存储,每个矩阵的单元可以是数值类型、逻辑类型、字符类型或者其他任何数据类型。 对于标量,可以用11矩阵来表示; 对于一组n个数据,可以用1n矩阵来表 示; 对于多维数组,可以用多维矩阵来表示。 在MATLAB中,用命令whos来显示数据的类型、存储空间等信息。 第83页/共1146页第八十三页,编辑于星期六:六点 五十三分。2.2.1 矩阵的构造 1简单矩阵构造 2特殊矩阵构造 3向量构造第84页/共1146页第八十四页,编辑于星

32、期六:六点 五十三分。1简单矩阵构造 最简单的方法是采用矩阵构造符“”。构造1n矩阵(行向量)时,可以将各元素依次放入矩阵构造符内,并且以空格或者逗号分隔;构造mn矩阵时,每行如上处理,并且行与行之间用分号分隔。第85页/共1146页第八十五页,编辑于星期六:六点 五十三分。第86页/共1146页第八十六页,编辑于星期六:六点 五十三分。2特殊矩阵构造 在MATLAB中还提供一些函数用来构造特殊矩阵,这些函数如下表所示。 第87页/共1146页第八十七页,编辑于星期六:六点 五十三分。续表第88页/共1146页第八十八页,编辑于星期六:六点 五十三分。第89页/共1146页第八十九页,编辑于星

33、期六:六点 五十三分。3向量构造 最简单的方法是采用向量构造符“:”,其常用的用法如下。(1)a:b返回以a为起点,以1为步长,且所有取值在a与b之间的向量。 第90页/共1146页第九十页,编辑于星期六:六点 五十三分。(2)a:s:b 返回以a为起点,以s为步长,且所有取值在a与b之间的向量。 第91页/共1146页第九十一页,编辑于星期六:六点 五十三分。2.2.2 矩阵大小的改变 1矩阵的合并 2矩阵行列的删除第92页/共1146页第九十二页,编辑于星期六:六点 五十三分。1矩阵的合并 矩阵的合并就是把两个或者两个以上的矩阵连接成一个新矩阵。矩阵构造符 可用于构造矩阵,并可以作为一个矩

34、阵合并操作符。 表达式C=A B在水平方向合并矩阵A和B; 表达式C=A;B在竖直方向合并矩阵A和B。第93页/共1146页第九十三页,编辑于星期六:六点 五十三分。 具有相同行数的两个矩阵,合并为一个新矩阵 不具有相同行数的两个矩阵,不允许合并为一个新矩阵 第94页/共1146页第九十四页,编辑于星期六:六点 五十三分。 除了矩阵合并符“”外,还可以使用矩阵合并函数。矩阵合并函数的描述和基本调用格式如下表所示。 第95页/共1146页第九十五页,编辑于星期六:六点 五十三分。第96页/共1146页第九十六页,编辑于星期六:六点 五十三分。2矩阵行列的删除 要删除矩阵的某一行或者是某一列,只需

35、将该行或者该列赋予一个空矩阵即可。 第97页/共1146页第九十七页,编辑于星期六:六点 五十三分。2.2.3 矩阵下标引用1访问单个元素2线性引用元素3访问多个元素第98页/共1146页第九十八页,编辑于星期六:六点 五十三分。 本小节将介绍通过矩阵下标来存取元素值的方法,包括访问单个元素、线性引用元素和访问多个元素等。 第99页/共1146页第九十九页,编辑于星期六:六点 五十三分。1访问单个元素第100页/共1146页第一百页,编辑于星期六:六点 五十三分。第101页/共1146页第一百零一页,编辑于星期六:六点 五十三分。2线性引用元素 对于矩阵A,线性引用元素的格式为 A(k)。通常

36、这样的引用用于行向量或列 向量,但也可用于二维矩阵。 MATLAB按列优先排列的一个长列向量格 式(线性引用元素)来存储矩阵元素。第102页/共1146页第一百零二页,编辑于星期六:六点 五十三分。第103页/共1146页第一百零三页,编辑于星期六:六点 五十三分。3访问多个元素 操作符“:”可以用来表示矩阵的多个元素。若A是二维矩阵,其主要用法如下: A(:,:) 返回矩阵A的所有元素。 A(i,:) 返回矩阵A第i行的所有元素。第104页/共1146页第一百零四页,编辑于星期六:六点 五十三分。 A(i,k1:k2) 返回矩阵A第i行的自k1到k2 列的所有元素。 A(:,j) 返回矩阵A

37、第j列的所有元素。 A(k1:k2,j) 返回矩阵A第j列的自k1到k2 行的 所有元素。 若A是多维矩阵,也可以通过类似的方法实现对其访问。 第105页/共1146页第一百零五页,编辑于星期六:六点 五十三分。第106页/共1146页第一百零六页,编辑于星期六:六点 五十三分。第107页/共1146页第一百零七页,编辑于星期六:六点 五十三分。2.2.4 矩阵信息的获取 1矩阵尺寸信息 2元素的数据类型 3矩阵的数据结构第108页/共1146页第一百零八页,编辑于星期六:六点 五十三分。 本小节介绍如何获取矩阵的信息,包括矩阵的尺寸、元素的数据类型和矩阵的数据结构等。 第109页/共1146

38、页第一百零九页,编辑于星期六:六点 五十三分。1矩阵尺寸信息 矩阵尺寸函数可以得到矩阵的形状和大小信息,这些函数如下表所示。 第110页/共1146页第一百一十页,编辑于星期六:六点 五十三分。第111页/共1146页第一百一十一页,编辑于星期六:六点 五十三分。2元素的数据类型 查询元素数据类型信息的部分函数如下表所示。第112页/共1146页第一百一十二页,编辑于星期六:六点 五十三分。第113页/共1146页第一百一十三页,编辑于星期六:六点 五十三分。3矩阵的数据结构 判断矩阵是否为某种指定数据结构的函数如下表所示。第114页/共1146页第一百一十四页,编辑于星期六:六点 五十三分。

39、2.2.5 矩阵结构的改变改变矩阵结构的函数表 第115页/共1146页第一百一十五页,编辑于星期六:六点 五十三分。第116页/共1146页第一百一十六页,编辑于星期六:六点 五十三分。第117页/共1146页第一百一十七页,编辑于星期六:六点 五十三分。2.2.6 稀疏矩阵 1稀疏矩阵的创建 2查看稀疏矩阵 3稀疏矩阵的运算规则第118页/共1146页第一百一十八页,编辑于星期六:六点 五十三分。 在MATLAB中,可以用满矩阵存储方 式和稀疏矩阵存储方式来存储矩阵。 若一个矩阵只有少数的元素非零,称为稀 疏矩阵。稀疏矩阵非零元素及其对应的下 标来表示。 用户可以创建双精度、复数和逻辑等类

40、型 的稀疏矩阵。 第119页/共1146页第一百一十九页,编辑于星期六:六点 五十三分。1稀疏矩阵的创建 在MATLAB中,用函数sparse()实现满矩阵到稀疏矩阵的转换。第120页/共1146页第一百二十页,编辑于星期六:六点 五十三分。 在MATLAB中用函数full()实现稀疏矩阵 到满矩阵的转换。 在MATLAB中,还可以用函数sparse() 直接创建稀疏矩阵,其具体用法如下。 S = sparse(i,j,s,m,n),其中,i和j分别是稀疏矩阵非零元素的行和列下标,s为相应的非零元素的值,m和n分别是矩阵的行数和列数。 第121页/共1146页第一百二十一页,编辑于星期六:六点

41、 五十三分。 MATLAB还提供一些函数用于创建特殊稀疏矩阵,这些函数如下表所示。 第122页/共1146页第一百二十二页,编辑于星期六:六点 五十三分。2查看稀疏矩阵 MATLAB提供一些函数用于查看稀疏矩阵的信息,如下表所示。 第123页/共1146页第一百二十三页,编辑于星期六:六点 五十三分。 下面的例子都是基于MATLAB自带的稀疏矩阵west0479。 第124页/共1146页第一百二十四页,编辑于星期六:六点 五十三分。第125页/共1146页第一百二十五页,编辑于星期六:六点 五十三分。第126页/共1146页第一百二十六页,编辑于星期六:六点 五十三分。3稀疏矩阵的运算规则

42、在MATLAB中的各种命令和函数都可以用于稀疏矩阵的运算,并且遵循如下的一些约定。(1)把矩阵变为标量或者定长向量的函数总 是给出满矩阵;(2)对于标量或者定长向量变换到矩阵的函 数,如函数zeros()、ones()、 eye()、rand()等总是给出满矩阵;第127页/共1146页第一百二十七页,编辑于星期六:六点 五十三分。(3)从矩阵到矩阵的变换函数将以原矩阵的 形式出现;(4)在参与矩阵扩展的子矩阵(如 A B;C D)中,只要有一个是稀疏矩阵,那 么所得的结果也是稀疏矩阵;(5)在矩阵引用中,将仍以原矩阵形式给出 结果。 第128页/共1146页第一百二十八页,编辑于星期六:六点

43、 五十三分。2.3 运算符和特殊符号运算符和特殊符号2.3.1 算数运算符2.3.2 关系运算符2.3.3 逻辑运算符2.3.4 运算优先级第129页/共1146页第一百二十九页,编辑于星期六:六点 五十三分。 在MATLAB中提供了丰富的运算符,包括算数、关系和逻辑等3种运算符。 第130页/共1146页第一百三十页,编辑于星期六:六点 五十三分。2.3.1 算数运算符 在MATLAB中,算数运算符的用法和功能如下表所示。 第131页/共1146页第一百三十一页,编辑于星期六:六点 五十三分。续表第132页/共1146页第一百三十二页,编辑于星期六:六点 五十三分。补充说明AB的用法如下:

44、当A和B都为矩阵时,此运算无定义; 当A和B都是标量时,表示标量A的B次 幂; 当A是标量且B为矩阵时,表示标量A的 B中各元素次幂; 当A为方阵且B为正整数时,表示矩阵A 的B次乘积;第133页/共1146页第一百三十三页,编辑于星期六:六点 五十三分。 当A为方阵且B为负整数时,表示矩阵A逆 的负B次乘积; 当A为可对角化的方阵且B为非整数时,有 如下表达式:第134页/共1146页第一百三十四页,编辑于星期六:六点 五十三分。第135页/共1146页第一百三十五页,编辑于星期六:六点 五十三分。第136页/共1146页第一百三十六页,编辑于星期六:六点 五十三分。2.3.2 关系运算符

45、MATLAB中关系运算符的用法和功能如下表所示。 第137页/共1146页第一百三十七页,编辑于星期六:六点 五十三分。 值得注意的是,关系运算符只针对两个相同长度的矩阵,或其中之一是标量的情况进行运算。 对于前者,是指两个矩阵的对应元素进行比 较,返回具有相同长度的矩阵; 对于后者,是指这个标量与另一个矩阵的每元 素进行运算。 关系运算C=f(A,B)的运算结果只有0和1两种情况,其中,函数f()表示关系运算符,0表示不满足条件,1表示满足条件。 第138页/共1146页第一百三十八页,编辑于星期六:六点 五十三分。第139页/共1146页第一百三十九页,编辑于星期六:六点 五十三分。2.3

46、.3 逻辑运算符 MATLAB提供元素方式和比特方式等逻辑运算符。元素方式逻辑运算符的用法和功能如下表所示,其中例子采用如下矩阵: 第140页/共1146页第一百四十页,编辑于星期六:六点 五十三分。 元素方式逻辑运算符& 、 | 和 与函数and()、or()和not()是等价的。 比特方式逻辑运算符只接受逻辑和非负整数类型的输入变量,它是针对输入变量的二进制进行逻辑运算。第141页/共1146页第一百四十一页,编辑于星期六:六点 五十三分。 比特方式逻辑运算符的用法和功能如下表所示,表中例子采用A = 28和B = 200,其对应的二进制分别为11100和11001000。第142页/共1

47、146页第一百四十二页,编辑于星期六:六点 五十三分。2.3.4 运算优先级 运算符的优先级决定表达式求值顺序; 具有相同优先级的运算符从左到右依次进 行运算; 不同优先级的运算符采用先进行优先高的 运算。 第143页/共1146页第一百四十三页,编辑于星期六:六点 五十三分。运算符的优先等级表 由表中可以看到,括号的优先级别最高,因此可以用括号来改变默认的优先等级。 第144页/共1146页第一百四十四页,编辑于星期六:六点 五十三分。第145页/共1146页第一百四十五页,编辑于星期六:六点 五十三分。2.4 字符串处理函数字符串处理函数 2.4.1 字符串的构造 2.4.2 字符串的比较

48、 2.4.3 字符串的查找和替换 2.4.4 字符串与数值间的转换第146页/共1146页第一百四十六页,编辑于星期六:六点 五十三分。 MATLAB提供了丰富的字符串操作,包括字符串的创建、合并、比较、查找以及与数值之间的转换。第147页/共1146页第一百四十七页,编辑于星期六:六点 五十三分。2.4.1 字符串的构造 在MATLAB中,可以用一对单引号来表示字符串。 第148页/共1146页第一百四十八页,编辑于星期六:六点 五十三分。第149页/共1146页第一百四十九页,编辑于星期六:六点 五十三分。第150页/共1146页第一百五十页,编辑于星期六:六点 五十三分。第151页/共1

49、146页第一百五十一页,编辑于星期六:六点 五十三分。第152页/共1146页第一百五十二页,编辑于星期六:六点 五十三分。2.4.2 字符串的比较 1字符串比较函数 2用关系运算符比较字符串第153页/共1146页第一百五十三页,编辑于星期六:六点 五十三分。 在MATLAB中提供了对字符串、字符串数组和字符子串的比较功能。 第154页/共1146页第一百五十四页,编辑于星期六:六点 五十三分。1字符串比较函数 在MATLAB中,字符串比较函数如下表所示。 第155页/共1146页第一百五十五页,编辑于星期六:六点 五十三分。第156页/共1146页第一百五十六页,编辑于星期六:六点 五十三

50、分。2用关系运算符比较字符串 在MATLAB中,可以对字符串运用关系运算符,但要求两个字符串具有相同的长度,或者其中一个是标量。 第157页/共1146页第一百五十七页,编辑于星期六:六点 五十三分。第158页/共1146页第一百五十八页,编辑于星期六:六点 五十三分。2.4.3 字符串的查找和替换 MATLAB提供的一些字符串查找和替换函数如下表所示。 第159页/共1146页第一百五十九页,编辑于星期六:六点 五十三分。第160页/共1146页第一百六十页,编辑于星期六:六点 五十三分。2.4.4 字符串与数值间的转换 MATLAB提供的一些数值转换为字符串函数如下表所示。 第161页/共

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

当前位置:首页 > 应用文书 > PPT文档

本站为文档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