MATLAB实用教程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《MATLAB实用教程课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实用教程 课件
- 资源描述:
-
1、推荐参考书推荐参考书推荐参考书推荐参考书 一个可视化的计算程序,广泛使用于从个人计算机到超级计算机范围内的各种计算机上 包括命令控制、可编程,上百个预先定义命令和函数 有许多强有力的命令,能完成大量的高级矩阵处理 强有力的二维、三维图形工具 能与其他程序一起使用 25个(不断增加中)不同的工具箱应用于特殊的应用领域 工业研究与开发的有力工具 数学教学,尤其线代,数值分析,科学计算方面的教研工具 电子学,控制理论,物理学等工程科学方面的教研工具 经济学,化学和生物学等有计算问题的所有领域中的教学与研究 名字取自矩阵实验室(matrix laboratory)不是万能的解决工具不是最高性能的编程语
2、言受计算条件限制,不能解决超大型实际问题不能解决工具箱之外的问题种类-需要编写接口、算法甚至工具箱 数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与方针 数字图像处理 数字信号处理 通讯系统设计与仿真 财务与金融工程绪论基础知识数学运算基本编程数据显示 及存取符号计算数值计算图形用户界面GUI Simulink仿真外部接口第一章第一章 概述概述 MATLAB将计算、可视化和编程等功能集于一个易于使用的环境,并遇有如下特点:功能强大;简单易学;编程效率高。1.1 MATLAB简介及安装1MATLAB的发展历程 2MATLAB的特点 3MATLAB的安装 1980年,美国新墨西哥大学计算
3、机科学 系主任Cleve 着手编写供学生使用的子程 序接口程序,取名为MATLAB;1984年,推出了MATLAB第一个商业版 本;1992年,推出MATLAB 4.0版;1997年,推出MATLAB 5.0版;2000年,推出MATLAB 6.0版;2004年,推出MATLAB 7.0版;2008年,推出MATLAB 7.6版;2012年,推出MATLAB R2012A版 开发环境 编程 数值处理 图形化 图形用户界面 文件I/O和外部应用程序接口MATLAB对PC系统的要求 1.2 MATLAB的目录结构 续表1.3 MATLAB的工作环境1菜单和工具栏 2命令窗口 3历史命令窗口 4当前
4、工作目录窗口 5工作空间窗口 本节介绍MATLAB的工作界面和基本的操作方法。MATLAB的工作界面主要包括:菜单;工具栏;命令窗口;历史命令窗口;当前工作目录窗口;工作空间窗口。这里只简单介绍默认情况下的菜单和工具栏。【File】菜单主要用于对文件的处理。【Edit】菜单主要用于复制、粘贴等操 作,与一般Windows程序的类似,在此 不作详细介绍。【Debug】菜单用于调试程序。【Desktop】菜单用于设置主窗口中需要 打开的窗口。【Window】菜单列出当前所有打开的窗 口。【Help】菜单用于选择打开不同的帮助系 统。当用户单击“Current Directory”窗口时,使得该窗口
5、成为活动窗口,同时增加一个如下图所示的菜单【View】,用于设置如何显示当前目录下的文件。当用户单击“Workspace”窗口时,使得该窗口成为活动窗口,同时增加如下图所示的菜单【View】和【Graphics】。命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。MATLAB命令窗口中的“”为运算提示 符,表MATLAB处于准备状态。当在提示符后输入一段程序或一段运算式 后【Enter】键,MATLAB会给出计算结 果,并再次进入准备状态(所得结果将被 保存在工作空间窗口中)。单击命令窗口右上角的“”按钮,可以使 命令窗口脱离主窗口而成为一个独立的窗 口。主要用
6、于记录所有执行过的命令;保留自安装后所有使用过命令的历史记 录,并标明使用时间;可以通过用鼠标双击某一历史命令来重新 执行该命令;可以成为一个独立的窗口。通过上下文菜单,可删除或粘贴历史记录;可为选中的表达式或命令创建一个M文件;可为表达式或命令创建快捷按钮。当前工作目录是指MATLAB运行文件时的目录。只有在当前工作目录或搜索路径下的文件、函数可以被运行或调用。如下图所示。工作空间窗口将显示目前内存中所有的MATLAB变量的变量名、数据结构、字节数以及类型等信息,如下图所示。1.4 MATLAB的通用命令 1常用命令 2输入内容的编辑 3标点 4搜索路径与扩展 通用命令是MATLAB中经常使
7、用的一组命令,这些命令可以用来管理目录、函数、变量、工作空间、文件和窗口等。下面对这些命令进行介绍。常用命令的功能 在命令窗口中,MATLAB提供了控制光标位置和进行简单编辑的键盘按键,部分常用的键盘按键及其功能如下表所示。在MATLAB中,一些标点符号被赋予了特殊的功能,如下表所示。用户自己书写的函数有可能并没有保存在搜索路径下。要解决这个问题,只需把程序所在的目录扩展成MATLAB的搜索路径即可。(1)查看MATLAB的搜索路径 选择MATLAB主窗口中的【File】|【Set Path】菜单,进入【设置搜索路径】对话框。通过该对话框可为MATLAB添加或删除搜索路径。在命令窗口中输入pa
8、th或genpath可得到MATLAB的所有搜索路径,具体代码如下:(2)设置MATLAB的搜索路径 方法一:在MATLAB命令窗口中输入 editpath或pathtool命令或通过【File】|【Set Path】菜单,进入“设置搜索路 径”对话框,通过该对话框编辑搜索路 径。方法二:在命令窗口执行“path(path,D:Study)”,然后通过“设置搜索路 径”对话框查看“D:Study”是否在搜索路 径中。方法三:在命令窗口执行“addpath D:Study-end”,将新的目录加到整个 搜索路径的末尾。如果将end改为 begin,可以将新的目录加到整个搜索路 径的开始。1.5
9、MATLAB的帮助系统 1命令窗口查询帮助系统 2联机帮助系统 3联机演示系统 MATLAB为用户提供了非常完善的帮助系统。下面分别介绍MATLAB的三类帮助系统。常见的帮助命令 用户可以通过下述方法进入MATLAB的联机帮助系统。直接单击MATLAB主窗口中的“”按钮;选中Help菜单的前4项中的任意一项;在命令窗口中执行helpwin、helpdesk 或doc。可以通过以下方式打开联机演示统。选择MATLAB主窗口菜单的【Help】|【Demos】选项;在命令窗口输入demos;直接在帮助页面上选择Demos页。020406080100-40-2002040Magnitude(dB)Fr
10、equency(Hertz)00.20.40.60.81-1-0.500.51WaveformTime(Seconds)Click and drag waveform to changefundamental frequency and amplitude1.6 MATLAB示例 下面以一个简单的例子展示如何使用MATLAB进行简单的数值计算。习 题1简述MATLAB的主要功能。2在命令窗口输入“w=3+2”,然后依次使用clear和clc命 令,分别观察命令窗口、工作空间窗口和历史命令窗口 的变化。3将硬盘上一已有目录,加入到搜索路径,并将其设置为 当前工作目录。4通过命令窗口,查询函数si
11、n()的用法。5通过联机帮助系统,查询函数inv()的用法。6通过联机演示系统,查询并运行“Control Systems Toolboxes”下的“Case Studies”中的“Yaw Damper for a 747 Aircraft”演示程序。7在命令窗口依次执行“w=5;”、“p=2*w”和“q=p+w”。8在命令窗口同时执行下述代码:w=5;p=2*w q=p+w第二章第二章 基础知识基础知识 本章着重介绍的MATLAB基础知识包括:数据类型;基本矩阵操作;运算符;字符串处理函数。目录 2.1 数 据 类 型 1数值类型 2逻辑类型 3字符和字符串类型 4结构体类型 MATLAB中
12、定义了很多种数据类型。本节讨论MATLAB中主要的数据类型及其使用方法。在MATLAB中有15种基本数据类型,每种基本数据类型均以数组/矩阵的形式出现。数值类型包含 整数;浮点数;复数;Inf;NaN MATLAB支持1、2、4和8字节的有符号整数和无符号整数。数据类型的名称、表示范围和转换函数如下表所示。MATLAB有单精度和双精度两种浮点数。其名称、存储空间、表示范围和转换函数如下表所示。复数包含实部和虚部。在MATLAB中可以用i或者j来表示虚部。Inf和-Inf分别表示正无穷大和负无穷 大。除法运算中除数为0或者运算结果溢 出都会导致inf或-inf的运行结果。在MATLAB中用NaN
13、(Not a Number)来表示一个既不是实数也不是复数的数 值。在MATLAB中逻辑类型包含true和false,分别由1和0表示。在MATLAB中用函数logical()将任何非零的数值转换为true(即1),将数值0转换为false(即0)。在MATLAB中,数据类型(char)表示一个字符。一个char类型的1n数组称为字符串string。结构体类型是一种由若干属性(field)组成的MATLAB数组,其中的每个属性可以是任意数据类型。下图表示了一个结构体(Personel),它包括3个属性(Name、Score和Salary),其中Name是一个字符串,Score是一个数值,Sal
14、ary是一个15的向量。构造一个结构体(数组)有两种方法。利用赋值语句 通过赋值语句为结构体中的每个指定属性赋值,从而构造结构体。利用函数struct()在MATLAB中,函数struct()的具体用法如下:其中,strArray、field和val分别表示结构体名、属性名和相应的属性值。通过结构体数组的下标引用,可以访问任意元素的所有属性,同时可以对属性进行赋值。2.2 基本矩阵操作 2.2.1 矩阵的构造 2.2.2 矩阵大小的改变 2.2.3 矩阵下标引用 2.2.4 矩阵信息的获取 2.2.5 矩阵结构的改变 2.2.6 稀疏矩阵 在MATLAB中,所有的数据均以二维、三维或高维矩阵的
15、形式存储,每个矩阵的单元可以是数值类型、逻辑类型、字符类型或者其他任何数据类型。对于标量,可以用11矩阵来表示;对于一组n个数据,可以用1n矩阵来表 示;对于多维数组,可以用多维矩阵来表示。在MATLAB中,用命令whos来显示数据的类型、存储空间等信息。1简单矩阵构造 2特殊矩阵构造 3向量构造 最简单的方法是采用矩阵构造符“”。构造1n矩阵(行向量)时,可以将各元素依次放入矩阵构造符内,并且以空格或者逗号分隔;构造mn矩阵时,每行如上处理,并且行与行之间用分号分隔。在MATLAB中还提供一些函数用来构造特殊矩阵,这些函数如下表所示。续表 最 简 单 的 方 法 是 采 用 向 量 构 造
16、符“:”,其常用的用法如下。(1)a:b返回以a为起点,以1为步长,且所有取值在a与b之间的向量。(2)a:s:b 返回以a为起点,以s为步长,且所有取值在a与b之间的向量。1矩阵的合并 2矩阵行列的删除 矩阵的合并就是把两个或者两个以上的矩阵连接成一个新矩阵。矩阵构造符 可用于构造矩阵,并可以作为一个矩阵合并操作符。表达式C=A B在水平方向合并矩阵A和B;表达式C=A;B在竖直方向合并矩阵A和B。具有相同行数的两个矩阵,合并为一个新矩阵 不具有相同行数的两个矩阵,不允许合并为一个新矩阵 除了矩阵合并符“”外,还可以使用矩阵合并函数。矩阵合并函数的描述和基本调用格式如下表所示。要删除矩阵的某
17、一行或者是某一列,只需将该行或者该列赋予一个空矩阵即可。1访问单个元素2线性引用元素3访问多个元素 本小节将介绍通过矩阵下标来存取元素值的方法,包括访问单个元素、线性引用元素和访问多个元素等。对于矩阵A,线性引用元素的格式为 A(k)。通常这样的引用用于行向量或列 向量,但也可用于二维矩阵。MATLAB按列优先排列的一个长列向量格 式(线性引用元素)来存储矩阵元素。操作符“:”可以用来表示矩阵的多个元素。若A是二维矩阵,其主要用法如下:A(:,:)返回矩阵A的所有元素。A(i,:)返回矩阵A第i行的所有元素。A(i,k1:k2)返回矩阵A第i行的自k1到k2 列的所有元素。A(:,j)返回矩阵
18、A第j列的所有元素。A(k1:k2,j)返回矩阵A第j列的自k1到k2 行的 所有元素。若A是多维矩阵,也可以通过类似的方法实现对其访问。1矩阵尺寸信息 2元素的数据类型 3矩阵的数据结构 本小节介绍如何获取矩阵的信息,包括矩阵的尺寸、元素的数据类型和矩阵的数据结构等。矩阵尺寸函数可以得到矩阵的形状和大小信息,这些函数如下表所示。查询元素数据类型信息的部分函数如下表所示。判断矩阵是否为某种指定数据结构的函数如下表所示。改变矩阵结构的函数表 1稀疏矩阵的创建 2查看稀疏矩阵 3稀疏矩阵的运算规则 在MATLAB中,可以用满矩阵存储方 式和稀疏矩阵存储方式来存储矩阵。若一个矩阵只有少数的元素非零,
19、称为稀 疏矩阵。稀疏矩阵非零元素及其对应的下 标来表示。用户可以创建双精度、复数和逻辑等类型 的稀疏矩阵。在MATLAB中,用函数sparse()实现满矩阵到稀疏矩阵的转换。在MATLAB中用函数full()实现稀疏矩阵 到满矩阵的转换。在MATLAB中,还可以用函数sparse()直接创建稀疏矩阵,其具体用法如下。S=sparse(i,j,s,m,n),其中,i和j分别是稀疏矩阵非零元素的行和列下标,s为相应的非零元素的值,m和n分别是矩阵的行数和列数。MATLAB还提供一些函数用于创建特殊稀疏矩阵,这些函数如下表所示。MATLAB提供一些函数用于查看稀疏矩阵的信息,如下表所示。下面的例子都
20、是基于MATLAB自带的稀疏矩阵west0479。在MATLAB中的各种命令和函数都可以用于稀疏矩阵的运算,并且遵循如下的一些约定。(1)把矩阵变为标量或者定长向量的函数总 是给出满矩阵;(2)对于标量或者定长向量变换到矩阵的函 数,如函数zeros()、ones()、eye()、rand()等总是给出满矩阵;(3)从矩阵到矩阵的变换函数将以原矩阵的 形式出现;(4)在参与矩阵扩展的子矩阵(如 A B;C D)中,只要有一个是稀疏矩阵,那 么所得的结果也是稀疏矩阵;(5)在矩阵引用中,将仍以原矩阵形式给出 结果。2.3 运算符和特殊符号2.3.1 算数运算符2.3.2 关系运算符2.3.3 逻
21、辑运算符2.3.4 运算优先级 在MATLAB中提供了丰富的运算符,包括算数、关系和逻辑等3种运算符。在MATLAB中,算数运算符的用法和功能如下表所示。续表补充说明AB的用法如下:当A和B都为矩阵时,此运算无定义;当A和B都是标量时,表示标量A的B次 幂;当A是标量且B为矩阵时,表示标量A的 B中各元素次幂;当A为方阵且B为正整数时,表示矩阵A 的B次乘积;当A为方阵且B为负整数时,表示矩阵A逆 的负B次乘积;当A为可对角化的方阵且B为非整数时,有 如下表达式:MATLAB中关系运算符的用法和功能如下表所示。值得注意的是,关系运算符只针对两个相同长度的矩阵,或其中之一是标量的情况进行运算。对
22、于前者,是指两个矩阵的对应元素进行比 较,返回具有相同长度的矩阵;对于后者,是指这个标量与另一个矩阵的每元 素进行运算。关系运算C=f(A,B)的运算结果只有0和1两种情况,其中,函数f()表示关系运算符,0表示不满足条件,1表示满足条件。MATLAB提供元素方式和比特方式等逻辑运算符。元素方式逻辑运算符的用法和功能如下表所示,其中例子采用如下矩阵:元素方式逻辑运算符&、|和 与函数and()、or()和not()是等价的。比特方式逻辑运算符只接受逻辑和非负整数类型的输入变量,它是针对输入变量的二进制进行逻辑运算。比特方式逻辑运算符的用法和功能如下表所示,表中例子采用A=28和B=200,其对
23、应的二进制分别为11100和11001000。运算符的优先级决定表达式求值顺序;具有相同优先级的运算符从左到右依次进 行运算;不同优先级的运算符采用先进行优先高的 运算。由表中可以看到,括号的优先级别最高,因此可以用括号来改变默认的优先等级。2.4 字符串处理函数 2.4.1 字符串的构造 2.4.2 字符串的比较 2.4.3 字符串的查找和替换 2.4.4 字符串与数值间的转换 MATLAB提供了丰富的字符串操作,包括字符串的创建、合并、比较、查找以及与数值之间的转换。在MATLAB中,可以用一对单引号来表示字符串。1字符串比较函数 2用关系运算符比较字符串 在MATLAB中提供了对字符串、
24、字符串数组和字符子串的比较功能。在MATLAB中,字符串比较函数如下表所示。在MATLAB中,可以对字符串运用关系运算符,但要求两个字符串具有相同的长度,或者其中一个是标量。MATLAB提供的一些字符串查找和替换函数如下表所示。MATLAB提供的一些数值转换为字符串函数如下表所示。续表 MATLAB提供的一些字符串转换为数值函数如下表所示。习 题1计算复数3+4i与56i的乘积。2构建结构体Students,属性包含Name、Age 和Email,数据包括Zhang,18,、Wang,21,和Li,,构建后读取 所有Name属性值,并且修改Zhang的Age属 性值为19。3用满矩阵和稀疏矩阵
展开阅读全文