3MATLAB数值矩阵数组运算和数据图形处理及数据可视化ppt课件_第1页
3MATLAB数值矩阵数组运算和数据图形处理及数据可视化ppt课件_第2页
3MATLAB数值矩阵数组运算和数据图形处理及数据可视化ppt课件_第3页
3MATLAB数值矩阵数组运算和数据图形处理及数据可视化ppt课件_第4页
3MATLAB数值矩阵数组运算和数据图形处理及数据可视化ppt课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB数值矩阵运算数值矩阵运算MATLAB的核心与基础的核心与基础MATLAB数值矩阵、数组及其运算数值矩阵、数组及其运算 v MATLAB最为出色之处在于其强大的计算能力,这也是MATLAB成为世界流行的工具软件的关键所在。vMATLAB的计算功能基本上可以分为数值计算和符号计算两种,这两种计算都可以通过在MATLAB的主窗口(命令窗口)中键入命令来完成。v由于MATLAB是以矩阵作为基本的运算单元,所以了解和掌握MATLAB的最佳方式就是学习如何处理矩阵。一个标量是11的矩阵,一个n维列向量是n1的矩阵,一个长度为n的数组是1 n的矩阵。MATLAB矩阵运算基础 矩阵的创建 矩阵运算

2、 矩阵性质分析 如何设计?MATLAB矩阵运算基础 矩阵的创建 在MATLAB中输入矩阵有三条基本原则:1)矩阵元素必须在方括号中;2)每行内的元素问用逗号或空格分开;3)行与行之间用分号分隔。例如我们在MATLAB命令窗口中直接输入: X1 2 3;4 5 6;7 8 9或1,2,3;4,5,6;7,8,9回车后会得到输出结果: X= 1 2 3 4 5 6 7 8 9 MATLAB矩阵运算基础 矩阵的创建 这种通过直接输入来定义矩阵的方式是建立矩阵最简单的方式,一般只适用于简单的矩阵。MATLAB提供了很多定义和建立矩阵的方法。除手动直接输入以外主要还有三种,首先看一下利用MATLAB提供

3、的生成和操作矩阵的函数来创建和生成一些特殊矩阵。MATLAB矩阵运算基础 矩阵的创建 MATLAB提供的创建特殊矩阵的函数有: zeros:生成一个元素全部为0的矩阵。 ones:生成一个元素全部为1的矩阵。 eye:生成一个单位矩阵。 rand:生成一个元素在0和1之间均匀分布的随机矩阵。 在命令窗口中输入: Azeros(3,4) %生成一个34的全零矩阵 c=eye(4,4) %生成一个44的单位阵MATLAB矩阵运算基础 矩阵的创建 通过M文件创建矩阵 实质和手动直接形成矩阵没差别,但可以存储,以便多次应用,另外在输入是可以方便修改。 通过数据文件创建矩阵 很多数据是以其他数据文件形式

4、存在的。例如文本文件,Excel的数据表格文件等,MatLab提供了功能强大的数据导入向导Import Wizard调入数据,同时也可以利用编程读取文件中的数据。MATLAB矩阵运算基础 矩阵的运算 矩阵的加减运算 矩阵的加法和减法运算指令为: AB,AB 需要说明的是A、B必须具有相同的维数,除非其中一个是标量。例如: a=1 2 3 b=4 5 6 a+b a-b涉及哪些?MATLAB矩阵运算基础 矩阵的运算 矩阵的乘法运算 矩阵的乘法及乘方命令如为: A*B,AP 矮阵相乘时要求A的列数等于B的行数,即必须满足矩阵相乘的条件。当然和矩阵的加减运算一样,MATLAB允许标量(或常数)和任意

5、矩阵相乘,即该标量与矩阵的每一个元素相乘。如果A是一个np的矩阵,B是pm的矩阵,则它们的乘积结果c是一个nm的矩阵。例如: a=1 2 3;4 5 6; b=1 1 1;2 2 2;3 3 3 a*b 矩阵的乘方实际上相当于矩阵的自乘,需要注意的是只有方阵才能进行乘方运算,而且在命令Ap中,p只能是标量(或常数)。当p是正整数时,Ap表示矩阵A自乘p次;当p是负整数时,Ap表示先求出矩阵A的逆矩阵,然后将A的逆矩阵自乘p次。MATLAB矩阵运算基础 矩阵的运算 矩阵的除法运算 如果A是非奇异方阵,则矩阵的除法命令如下: A B (左除), B A右除) 其中, A B (左除等效于矩阵A的逆

6、左乘矩阵B,而B A右除等效于矩阵A的逆右乘矩阵B。在通常情况下,xab是方程组a*x=b的解,x=b/a是方程组x*a=b的解。MATLAB矩阵运算基础 矩阵性质分析 矩阵元素的引用与操作 如同许多计算机高级语言一样,MATLAB直接采用下标引用矩阵元索,例如:A是一个33的矩阵,则A(1,2)表示矩阵A中的第一行第二列的元素。除此之外,为了方便用户对矩阵进行修改,MATLAB允许用户对矩阵中的整行整列操作,例如A(:,3)表示短阵第三列的元素,其中冒号表示所有的行。 MATLAB提供了一些对矩阵中的元素进行操作的命令和函数,用来对矩阵进行变形和分析 MATLAB矩阵运算基础 矩阵性质分析

7、矩阵元素的引用与操作举例说明: A=1 2 3;4 5 6;7 8 9 定义矩阵A A(2,:) 显示A的第二行 A(2,:)= 删除A的第二行第二行赋空值) A(2,3)=35 将A中第二行第三列的元素改为35MATLAB矩阵运算基础 矩阵性质分析 矩阵的行列式、秩、逆和转置 det(A)求矩阵的行列式(要求A是方阵) rank(A)求矩阵的秩 inv(A)求矩阵的逆(要求A是方阵,且行列式不为零) A求矩阵的转置 例如: A=1 0 0;0 2 0;0 0 3; det(A); rank(A); inv(A); A;MATLAB矩阵运算基础 矩阵性质分析 特征向量 方阵A的特征值和特征向量

8、表征了该矩阵的本质特性,因此具有特殊的意义。在MATLAB中,用命令V,D=eig(A)来计算A的特征值和特征向量,其中V表示由A的特征向量构成的矩阵,D表示由A的特征值构成的对角阵,而且AVDV1。 A的p次方的计算过程为:由于AVDV1,我们就将矩阵D中的每一个元素即特征值p次方,再代回去就可以计算出A的p次方。MATLAB数组运算基础 数组的定义即创建) 数组的计算 数学计算、关系运算和逻辑运算 MATLAB数组运算基础 数组的定义创建) 数组也是MATLAB中的一种重要的数据类型,虽然它的创建方法和矩阵一样,但在计算上,它与矩阵有很大的不同,也就是说,数组和矩阵有着不同的使用方法。 M

9、ATLAB数组运算基础 数组的数学计算 数组的加减运算和矩阵运算没有区别,主要在乘法和除法上。 我们看下面的例子: A1 2 3;7 8 9 B=4 5 6;8 9 0 如果输入: A*B则会出现如下错误: ? Error using = * Inner matrix dimensions must agree. 系统告诉我们这两个矩阵的维数不匹配。显然,我们如果把A、B均看成矩阵它们是不能相乘的;但作为数组,A和B却可以相乘。结果应该还是一个23的数组,其中每一个元素是A、B中对应元素的乘积。MATLAB数组运算基础 数组数学运算MATLAB为了区别这种运算和矩阵运算,专门定义了数组乘法“.

10、*”。如:A.*B同样的,数组的乘方运算符号为“”,数组的乘方就是把每个元素都乘方。 A.3类似于矩阵,数组也有左除和右除之分:“.”和“./”,运算时也是把对应元素相除,例如: A.B 用B中的元素除以A中的对应元素 A./B 用A中的元素除以B中的对应元素 从上我们可以看出,虽然数组的存储方式和矩阵没有区别,但是基于数组的数学计算都是对应元素间的计算,而不像矩阵有一个整体的概念。在计算符号方面,都是在矩阵计算符号前面加上一个点。 MATLAB矩阵和数组的关系运算 矩阵和数组的关系运算 MATLAB提供了下列关系运算符来实现两个量之间的比较: 大于 = 大于等于 = = 等于 = 不等于 在

11、关系运算中,当关系成立时结果为1(真),不成立时结果为0(假)。 MATLAB矩阵和数组的逻辑运算逻辑运算 MATLAB提供的逻辑运算符有: &与 |或 非在逻辑运算中,只有非零(1)和0两种元素。 MATLAB除了提供上面这些逻辑关系运算符之外,还提供了一些逻辑关系函数,常用函数参见教材P36表22。 MATLAB图形处理和数据可视化 MATLAB绘图绘图的重要性 在科学计算中,我们往往要处理大量的数据。如果我们把这些数据用图形表现出来,就能很容易地发现这些数据的内在联系,大大提高工作的效率。MATLAB正是基于这种考虑,提供了强大的绘图能力。我们将学习如何利用MATLAB使数据可视

12、化,以及如何处理图形以便达到最好的表达效果。 参考一个数据文件 文件中的数据为电流电压采样值 如果绘制为图形规律何在?MATLAB图形功能 MATLAB的图形功能包括二维绘图和三维绘图两大部分:其中二维绘图用来实现科学曲线的绘制,图标的绘制以及各种专业数据的可视化显示等;三维绘图用来实现二元函数的图形表达,向量场数据的表达和超过三维的场数据的显示,例如:等高线、落差图等。 图形窗口 在MATLAB中,可以用figure命令从命令窗口新建一个图形窗口,每执行一次该命令就产生一个图形窗口,可以同时产生多个图形窗口,MATLAB为每个窗口都分配一个句柄来进行标志 通过工具栏上的图形按钮,我们可以对图

13、形进行操作。具体地说,我们可以在图形窗口添加文本;可以在图形窗口添加箭头;可以添加直线;可以对图形进行缩放操作;可以将图形旋转三维图形等。具体的可以参看在线帮助。 基本二维图形绘制 plot函数 坐标的设定 图形的标注 其他命令介绍 特殊图形 基本二维图形绘制plot函数plot函数是最基本的二维图形绘制函数,也是最重要的函数之一。该函数有不同的输入参数以实现不同的功能,具体用法如下:plot(y) 其中,y是一个向量。plot以该参数的值为纵坐标,横坐标从一开始自动赋值为向量1 2 3 ,向量的方向和长度与参数y相同。plot(x,y) 这是最常见的形式。x为横坐标向量,y为纵坐标向量。 基

14、本二维图形绘制plot函数2) plot(x1,y1,x2,y2) 用这种形式,我们可以在同一个窗口中绘制多条不同的曲线,而且每条曲线可以有不同的横坐标。这种方式用于对不同的曲线进行比较。 plot(x,y,选项) 这里的选项包括线型、颜色、数据点标记符号等特性的设置。利用这些选项可以把同一窗口的不同曲线设置为不同的格式,便于区别。这些选项还可以组合使用。选项由三个字符组成,第一个字符表示用于连线的字符,第二个字符表示曲线的颜色,第三个字符表示用于标出数据点的字符。 基本二维图形绘制plot函数3) 例: t=0:0.1:2*pi; k=0:0.2:3*pi; x=sin(t); y=cos(

15、k); plot(t,x,:ro,k,y,-b+) 基本二维图形绘制坐标的设定 MATLAB的绘图具有很强的灵活性,它可以根据所要绘制曲线的数据范围来自动选择合适的坐标系的显示范围,使得图形尽可能清晰完整地显示出来。所以,用户一般不用费心去手动地调整坐标系。但在某些情况下,用户可能觉得自动选择的坐标系不符合自己的要求,则可以使用函数axis来加以修改。axis的调用格式为: axis(xmin,xmax,ymin,ymax,zmin,zmax) 其中,各坐标的最小值xmin,ymin,zmin必须小于对应的最大值xmax,ymax,zmax),对于绘制二维图形,省去zmin和zmax参数。 基

16、本二维图形绘制图形的标注 一个图形不仅要美观而且要让人容易理解它所要表达的意思。因此,对图形作适当的标注是一个成功的图形所不可缺少的。MatLab提供了丰富的函数来对图形进行全方位的标注。基本的标注函数如下: Title,xlabel,ylabel,zlabel,legend,text,Gtext这些用于标注的函数可以设置一系列的属性,比如字体的粗细(FontWeight),字体名(FontName),字体的大小(FontSize)等等。另外,为了将数学公式或工程问题中所用到的一些特殊符号标注在图形上,可以使用由“”引导的特殊字符串。例如,pi表示圆周率等。具体的,可以参阅MATLAB的帮助功

17、能。 基本二维图形绘制图形的标注2) (1 1最基本的标注最基本的标注 函数函数xlabelxlabel、ylabelylabel、zlabelzlabel分别用来对分别用来对x x轴、轴、y y轴、轴、z z轴进行标注。其格式为:轴进行标注。其格式为: (以(以xlabelxlabel为例)为例) xlabelxlabel(texttext,property1property1,propertyValue1propertyValue1,property2property2,propertyValue2propertyValue2,) 其中,其中,texttext为要加注的文本,为要加注的文本

18、,“propertyproperty为文为文本的属性,本的属性,property Valueproperty Value为相应的文本属性的取为相应的文本属性的取值。该命令将文本以一定的格式加到坐标轴的下面。值。该命令将文本以一定的格式加到坐标轴的下面。 基本二维图形绘制图形的标注3)(2给图形窗口添加文本 MATLAB中提供text函数用来在图形任意窗口的任意位置添加文本。该函数的调用格式为: Textxposition,yposition,text) 其中,(xposition,yposition表示加入字符串的位置;text是要加入的文本字符串,其中可以包含一些特殊字符。这种标注的字符串有

19、很大的灵活性。基本二维图形绘制图形的标注4)举例如下:v=-1;+1;t=0:0.05:2*pi;plot(t,sin(t);xlabel(time(0-2*pi);ylabel(value);text(pi/2,0.9,uparrowsin(pi*1/2)=,v(2,:);text(pi*3/2,-0.9,downarrowsin(pi*3/2)=,num2str(sin(pi/2);%num2str将数值转化为字符串text(0,-0.6,Date:,date);%date返回表示当前时间字符串基本二维图形绘制图形的标注5)除了text函数外,MATLAB还提供了gtext函数用来利用鼠标

20、交互式地绘图形添加文本。gtext函数的使用格式与xlabel函数相同,为: gtext(text,propertyName,property Value) 在命令窗口键入这个命令后,图形窗口的鼠标指针会变为十字型光标,移动光标到某一个位置后单击鼠标键或按下键盘上任意键,就可以将所要标注的文本定位在该位置。 基本二维图形绘制图形的标注6)(3使用图例给图形加上图例,便于区分不同的图形,便于对图形的观察和分析。添加图例的功能用函数legend来完成。legend的调用格式为: legendstr1,str2,str3,) 只要指定字符串,legend就可以自动的按顺序将字符串添加到相应的曲线线型

21、之后。缺省情况下,MATLAB将图例置于图形的右上角。也可以在legend函数中加入一个参数以控制图例的位置。具体格式如下: legendstr1,str2,str3,position)其中,“position参数可以取如下值:0 自动把图例置于与图中曲线重叠最少的位置。1 置于图形的右上角,这是缺省情况。2 置于图形的左上角。 3 置于图形的右下角。4 置于图形的左下角。 1 置于图形外部的右侧。 基本二维图形绘制图形的标注7)例:t=0:0.05*pi:2*pi;plot(t,cos(t),:g,t,sin(t),b) legend(cos,sin) 基本二维绘图其他命令介绍 (1极坐标曲

22、线 某些情况下,使用极坐标绘制曲线更加方便,更能体现图形的本质特征。在MATLAB中,绘制极坐标曲线的函数为: polarangle,r,选项) 其中,“angle和“r分别为角度向量和幅度向量,该函数所使用的选项的格式与plot函数一致。基本二维绘图其他命令介绍(2双y轴图形 使用函数plotyy可以绘制一个左右各有一个y轴的图形。这种方式使得在同一个窗口绘制不同曲线更加方便,效果更好。该函数有以下几种常用的形式: plotyyx1,y1,x2,y2):在一个图形窗口同时绘制x1,y1和x2,y2两条曲线,曲线x1,y1用左边的y轴,曲线x2,y2用右边的y轴。 plotyyx1,y1,x2

23、,y2,function):function是字符串格式,用来指定进行绘图的函数名,如用plot。 plotyyx1,y1,x2,y2,function1,function2):分别指定用不同的绘图函数绘制x1,y1和x2,y2曲线。 基本二维绘图其他命令介绍 图形的缩放 函数zoom用来指定对图形进行缩放的操作。这个命令在分析大量的数据点时很有用。有以下几个用法: 基本二维绘图其他命令介绍(4图形窗口的分割 有时候我们需要在同一个绘图窗口绘制不同坐标系下的曲线,用来方便地比较这些曲线之间的差别。这可以通过调用函数subplot,把整个图型窗口分割成若干个窗口来实现。 函数subplot的调用格式为: subplot(m,n,i) 其功能是将图形窗口分成m行n列子窗口,然后选择第i个窗口为当前窗口进行绘制。特殊图形 在工程应用中,常常需要用到一些特殊形式,具有特殊功能的图。譬如说,直方图经常用来比较某个量随着

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论