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

下载本文档

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

文档简介

2019/11/25,1,MATLAB数值矩阵运算,MATLAB的核心与基础,2019/11/25,2,MATLAB数值矩阵、数组及其运算,MATLAB最为出色之处在于其强大的计算能力,这也是MATLAB成为世界流行的工具软件的关键所在。MATLAB的计算功能基本上可以分为数值计算和符号计算两种,这两种计算都可以通过在MATLAB的主窗口(命令窗口)中键入命令来完成。由于MATLAB是以矩阵作为基本的运算单元,所以了解和掌握MATLAB的最佳方式就是学习如何处理矩阵。一个标量是11的矩阵,一个n维列向量是n1的矩阵,一个长度为n的数组是1n的矩阵。,2019/11/25,3,MATLAB矩阵运算基础,矩阵的创建矩阵运算矩阵性质分析,2019/11/25,4,MATLAB矩阵运算基础矩阵的创建,在MATLAB中输入矩阵有三条基本原则:1)矩阵元素必须在方括号中;2)每行内的元素问用逗号或空格分开;3)行与行之间用分号分隔。例如我们在MATLAB命令窗口中直接输入:X123;456;789或1,2,3;4,5,6;7,8,9回车后会得到输出结果:X=123456789,2019/11/25,5,MATLAB矩阵运算基础矩阵的创建,这种通过直接输入来定义矩阵的方式是建立矩阵最简单的方式,一般只适用于简单的矩阵。MATLAB提供了很多定义和建立矩阵的方法。除手动直接输入以外主要还有三种,首先看一下利用MATLAB提供的生成和操作矩阵的函数来创建和生成一些特殊矩阵。,6,MATLAB矩阵运算基础矩阵的创建,MATLAB提供的创建特殊矩阵的函数有:zeros:生成一个元素全部为0的矩阵。ones:生成一个元素全部为1的矩阵。eye:生成一个单位矩阵。rand:生成一个元素在0和1之间均匀分布的随机矩阵。在命令窗口中输入:Azeros(3,4)%生成一个34的全零矩阵c=eye(4,4)%生成一个44的单位阵,2019/11/25,7,MATLAB矩阵运算基础矩阵的创建,通过M文件创建矩阵实质和手动直接形成矩阵没差别,但可以存储,以便多次应用,另外在输入是可以方便修改。通过数据文件创建矩阵很多数据是以其他数据文件形式存在的。例如文本文件,Excel的数据表格文件等,MatLab提供了功能强大的数据导入向导(ImportWizard)调入数据,同时也可以利用编程读取文件中的数据。,2019/11/25,8,MATLAB矩阵运算基础矩阵的运算,矩阵的加减运算矩阵的加法和减法运算指令为:AB,AB需要说明的是A、B必须具有相同的维数,除非其中一个是标量。例如:a=123b=456a+ba-b,2019/11/25,9,MATLAB矩阵运算基础矩阵的运算,矩阵的乘法运算矩阵的乘法及乘方命令如为:A*B,AP矮阵相乘时要求A的列数等于B的行数,即必须满足矩阵相乘的条件。当然和矩阵的加减运算一样,MATLAB允许标量(或常数)和任意矩阵相乘,即该标量与矩阵的每一个元素相乘。如果A是一个np的矩阵,B是pm的矩阵,则它们的乘积结果c是一个nm的矩阵。例如:a=123;456;b=111;222;333a*b矩阵的乘方实际上相当于矩阵的自乘,需要注意的是只有方阵才能进行乘方运算,而且在命令Ap中,p只能是标量(或常数)。当p是正整数时,Ap表示矩阵A自乘p次;当p是负整数时,Ap表示先求出矩阵A的逆矩阵,然后将A的逆矩阵自乘p次。,2019/11/25,10,MATLAB矩阵运算基础矩阵的运算,矩阵的除法运算如果A是非奇异方阵,则矩阵的除法命令如下:AB(左除),BA(右除)其中,AB(左除)等效于矩阵A的逆左乘矩阵B,而BA(右除)等效于矩阵A的逆右乘矩阵B。在通常情况下,xab是方程组a*x=b的解,x=b/a是方程组x*a=b的解。,2019/11/25,11,MATLAB矩阵运算基础矩阵性质分析,矩阵元素的引用与操作如同许多计算机高级语言一样,MATLAB直接采用下标引用矩阵元索,例如:A是一个33的矩阵,则A(1,2)表示矩阵A中的第一行第二列的元素。除此之外,为了方便用户对矩阵进行修改,MATLAB允许用户对矩阵中的整行整列操作,例如A(:,3)表示短阵第三列的元素,其中冒号表示所有的行。MATLAB提供了一些对矩阵中的元素进行操作的命令和函数,用来对矩阵进行变形和分析,2019/11/25,12,MATLAB矩阵运算基础矩阵性质分析,矩阵元素的引用与操作举例说明:A=123;456;789定义矩阵AA(2,:)显示A的第二行A(2,:)=删除A的第二行(第二行赋空值)A(2,3)=35将A中第二行第三列的元素改为35,2019/11/25,13,MATLAB矩阵运算基础矩阵性质分析,矩阵的行列式、秩、逆和转置det(A)求矩阵的行列式(要求A是方阵)rank(A)求矩阵的秩inv(A)求矩阵的逆(要求A是方阵,且行列式不为零)A求矩阵的转置例如:A=100;020;003;det(A);rank(A);inv(A);A;,2019/11/25,14,MATLAB矩阵运算基础矩阵性质分析,特征向量方阵A的特征值和特征向量表征了该矩阵的本质特性,因此具有特殊的意义。在MATLAB中,用命令V,D=eig(A)来计算A的特征值和特征向量,其中V表示由A的特征向量构成的矩阵,D表示由A的特征值构成的对角阵,而且AVDV1。A的p次方的计算过程为:由于AVDV1,我们就将矩阵D中的每一个元素(即特征值)p次方,再代回去就可以计算出A的p次方。,2019/11/25,15,MATLAB数组运算基础,数组的定义(即创建)数组的计算数学计算、关系运算和逻辑运算,2019/11/25,16,MATLAB数组运算基础,数组的定义(创建)数组也是MATLAB中的一种重要的数据类型,虽然它的创建方法和矩阵一样,但在计算上,它与矩阵有很大的不同,也就是说,数组和矩阵有着不同的使用方法。,2019/11/25,17,MATLAB数组运算基础,数组的数学计算数组的加减运算和矩阵运算没有区别,主要在乘法和除法上。我们看下面的例子:A123;789B=456;890如果输入:A*B则会出现如下错误:?Errorusing=*Innermatrixdimensionsmustagree.系统告诉我们这两个矩阵的维数不匹配。显然,我们如果把A、B均看成矩阵它们是不能相乘的;但作为数组,A和B却可以相乘。结果应该还是一个23的数组,其中每一个元素是A、B中对应元素的乘积。,2019/11/25,18,MATLAB数组运算基础数组数学运算,MATLAB为了区别这种运算和矩阵运算,专门定义了数组乘法“.*”。如:A.*B同样的,数组的乘方运算符号为“”,数组的乘方就是把每个元素都乘方。A.3类似于矩阵,数组也有左除和右除之分:“.”和“./”,运算时也是把对应元素相除,例如:A.B用B中的元素除以A中的对应元素A./B用A中的元素除以B中的对应元素从上我们可以看出,虽然数组的存储方式和矩阵没有区别,但是基于数组的数学计算都是对应元素间的计算,而不像矩阵有一个整体的概念。在计算符号方面,都是在矩阵计算符号前面加上一个点。,2019/11/25,19,MATLAB矩阵和数组的关系运算,矩阵和数组的关系运算MATLAB提供了下列关系运算符来实现两个量之间的比较:大于=大于等于=等于=不等于在关系运算中,当关系成立时结果为1(真),不成立时结果为0(假)。,2019/11/25,20,MATLAB矩阵和数组的逻辑运算,逻辑运算MATLAB提供的逻辑运算符有:k=0:0.2:3*pi;x=sin(t);y=cos(k);plot(t,x,:ro,k,y,-b+),2019/11/25,31,基本二维图形绘制坐标的设定,MATLAB的绘图具有很强的灵活性,它可以根据所要绘制曲线的数据范围来自动选择合适的坐标系的显示范围,使得图形尽可能清晰完整地显示出来。所以,用户一般不用费心去手动地调整坐标系。但在某些情况下,用户可能觉得自动选择的坐标系不符合自己的要求,则可以使用函数axis来加以修改。axis的调用格式为:axis(xmin,xmax,ymin,ymax,zmin,zmax)其中,各坐标的最小值(xmin,ymin,zmin)必须小于对应的最大值(xmax,ymax,zmax),对于绘制二维图形,省去zmin和zmax参数。,2019/11/25,32,基本二维图形绘制图形的标注,一个图形不仅要美观而且要让人容易理解它所要表达的意思。因此,对图形作适当的标注是一个成功的图形所不可缺少的。MatLab提供了丰富的函数来对图形进行全方位的标注。基本的标注函数如下:Title,xlabel,ylabel,zlabel,legend,text,Gtext这些用于标注的函数可以设置一系列的属性,比如字体的粗细(FontWeight),字体名(FontName),字体的大小(FontSize)等等。另外,为了将数学公式或工程问题中所用到的一些特殊符号标注在图形上,可以使用由“”引导的特殊字符串。例如,pi表示圆周率等。具体的,可以参阅MATLAB的帮助功能。,2019/11/25,33,基本二维图形绘制图形的标注(2),(1)最基本的标注函数xlabel、ylabel、zlabel分别用来对x轴、y轴、z轴进行标注。其格式为:(以xlabel为例)xlabel(text,property1,propertyValue1,property2,propertyValue2,)其中,text为要加注的文本,“property”为文本的属性,propertyValue为相应的文本属性的取值。该命令将文本以一定的格式加到坐标轴的下面。,2019/11/25,34,基本二维图形绘制图形的标注(3),(2)给图形窗口添加文本MATLAB中提供text函数用来在图形任意窗口的任意位置添加文本。该函数的调用格式为:Text(xposition,yposition,text)其中,(xposition,yposition)表示加入字符串的位置;text是要加入的文本字符串,其中可以包含一些特殊字符。这种标注的字符串有很大的灵活性。,2019/11/25,35,基本二维图形绘制图形的标注(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返回表示当前时间字符串,2019/11/25,36,基本二维图形绘制图形的标注(5),除了text函数外,MATLAB还提供了gtext函数用来利用鼠标交互式地绘图形添加文本。gtext函数的使用格式与xlabel函数相同,为:gtext(text,propertyName,propertyValue)在命令窗口键入这个命令后,图形窗口的鼠标指针会变为十字型光标,移动光标到某一个位置后单击鼠标键或按下键盘上任意键,就可以将所要标注的文本定位在该位置。,2019/11/25,37,基本二维图形绘制图形的标注(6),(3)使用图例给图形加上图例,便于区分不同的图形,便于对图形的观察和分析。添加图例的功能用函数legend来完成。legend的调用格式为:legend(str1,str2,str3,)只要指定字符串,legend就可以自动的按顺序将字符串添加到相应的曲线线型之后。缺省情况下,MATLAB将图例置于图形的右上角。也可以在legend函数中加入一个参数以控制图例的位置。具体格式如下:legend(str1,str2,str3,position)其中,“position”参数可以取如下值:0自动把图例置于与图中曲线重叠最少的位置。1置于图形的右上角,这是缺省情况。2置于图形的左上角。3置于图形的右下角。4置于图形的左下角。1置于图形外部的右侧。,2019/11/25,38,基本二维图形绘制图形的标注(7),例:t=0:0.05*pi:2*pi;plot(t,cos(t),:g,t,sin(t),b)legend(cos,sin),2019/11/25,39,基本二维绘图其他命令介绍,(1)极坐标曲线某些情况下,使用极坐标绘制曲线更加方便,更能体现图形的本质特征。在MATLAB中,绘制极坐标曲线的函数为:polar(angle,r,选项)其中,“angle”和“r”分别为角度向量和幅度向量,该函数所使用的选项的格式与plot函数一致。,2019/11/25,40,基本二维绘图其他命令介绍,(2)双y轴图形使用函数plotyy可以绘制一个左右各有一个y轴的图形。这种方式使得在同一个窗口绘制不同曲线更加方便,效果更好。该函数有以下几种常用的形式:plotyy(x1,y1,x2,y2):在一个图形窗口同时绘制(x1,y1)和(x2,y2)两条曲线,曲线(x1,y1)用左边的y轴,曲线(x2,y2)用右边的y轴。plotyy(x1,y1,x2,y2,function):function是字符串格式,用来指定进行绘图的函数名,如用plot。plotyy(x1,y1,x2,y2,function1,function2):分别指定用不同的绘图函数绘制(x1,y1)和(x2,y2)曲线。,2019/11/25,41,基本二维绘图其他命令介绍,图形的缩放函数zoom用来指定对图形进行缩放的操作。这个命令在分析大量的数据点时很有用。有以下几个用法:,2019/11/25,42,基本二维绘图其他命令介绍,(4)图形窗口的分割有时候我们需要在同一个绘图窗口绘制不同坐标系下的曲线,用来方便地比较这些曲线之间的差别。这可以通过调用函数subplot,把整个图型窗口分割成若干个窗口来实现。函数subplot的调用格式为:subplot(m,n,i)其功能是将图形窗口分成m行n列子窗口,然后选择第i个窗口为当前窗口进行绘制。,2019/11/25,43,特殊图形,在工程应用中,常常需要用到一些特殊形式,具有特殊功能的图。譬如说,直方图经常用来比较某个量随着另一个量的变化趋势;等高线图经常用来分析具有相同取值的量的分布趋势,矢量图常常用来分析某种矢量场的分布情况,等等。下面我们将介绍一些可能会遇到的特殊图形,并给出用MATLAB绘制这些特殊图案的方法。,2019/11/25,44,特殊图形直方图和面积图,直方图和面积图直方

温馨提示

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

评论

0/150

提交评论