第2章MATLAB数据.ppt_第1页
第2章MATLAB数据.ppt_第2页
第2章MATLAB数据.ppt_第3页
第2章MATLAB数据.ppt_第4页
第2章MATLAB数据.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

第2章MATLAB数据及其运算,2.1MATLAB数据的特点2.2变量和赋值2.3MATLAB矩阵2.4MATLAB运算2.5字符串2.6结构和单元,2.1MATLAB数据的特点,1矩阵是MATLAB最基本、最重要的数据对象。向量、单个数据(标量)可以看成是矩阵的特例。2MATLAB数据类型数值数据:双精度数(double)、单精度数(single)、带符号整数(int)和无符号整数(uint)。字符数据(用函数char实现)。结构(Structure)和单元(Cell)。多维矩阵和稀疏矩阵(Sparse)。,2.2变量和赋值,2.2.1变量的命名在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列。在MATLAB中,变量名区分字母的大小写。MATLAB提供的标准函数名以及命令名必须用小写字母。,2.2.2赋值语句MATLAB赋值语句有两种格式:(1)变量=表达式(2)表达式一般地,运算结果在命令窗口中显示出来。如果在语句的最后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运算的结果。在MATLAB语句后面可以加上注释,注释以%开头,后面是注释的内容。,例2.1计算表达式的值,并将结果赋给变量x,然后显示出结果。在MATLAB命令窗口输入命令:x=(5+cos(47*pi/180)/(1+sqrt(7)-2*i)%计算表达式的值执行结果:x=1.1980+0.6572i,2.2.3数据的输出格式MATLAB用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法如:3.14152+4i1.7809e2数据输出时用户可以用format命令设置或改变数据输出格式。format命令的格式为:format格式符注意,format命令只影响数据输出格式,而不影响数据的计算和存储。,数值计算结果的显示格式,在MATLAB指令窗中,直接输入相应的指令,或在菜单弹出框中进行选择,都可获得所需的数值计算结果显示格式。,2.2.4预定义变量在MATLAB工作空间中,还驻留几个由系统本身定义的变量。它们有特定的含义,在使用时,应尽量避免对这些变量重新赋值。比如:ans(缺省赋值变量);pi(圆周率);inf(无穷大);nan(非数),非数NaN,按IEEE规定,0/0,/,0等运算都会产生非数(NotaNumber)。该非数在MATLAB中用NaN或nan记述。根据IEEE数学规范,NaN具有以下性质:NaN参与运算所得的结果也是NaN,即具有传递性;非数没有大小概念,因此不能比较两个非数的大小。非数的功用:真实记述0/0,/,0运算的后果;避免可能因0/0,/,0运算而造成程序执行的中断;在数据可视化中,用来裁剪图形。,2.2.5内存变量的管理,1.内存变量的显示与删除who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。(who只列变量名;whos还列变量维数、字节、类型)clear命令用于删除MATLAB工作空间中的变量。注意,预定义变量不能被删除。2.工作空间浏览器专门用于内存变量的管理。可以通过双击工作空间的变量进行变量的编辑(包括改变输出格式和变量中的具体元素),3.内存变量文件利用MAT文件(.mat)可以把当前MATLAB工作空间中的一些有用变量长久地保留下来。MAT文件的生成和装入由save和load命令来完成。常用格式为:save文件名变量名表-append-asciiload文件名变量名表-ascii,2.3MATLAB矩阵,2.3.1矩阵的建立1.直接输入法将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。例如:A=123;456;789执行结果:A=123456789,2.利用M文件建立矩阵,对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。例2.2利用M文件建立MYMAT矩阵。(1)单击命令窗口FileNewMfile,在编辑区内输入待建矩阵;mydat=235;567;891;(2)在文本编辑器窗口,单击FileSave保存(设文件名为mymatrix.m)。3)运行该M文件,就会自动建立一个名为mydat的矩阵,可供以后使用。,3.利用MATLAB函数建立矩阵几个产生特殊矩阵的函数:zeros、ones、eye、rand、randn。这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:zeros(m)产生mm零矩阵zeros(m,n)产生mn零矩阵。zeros(size(A)产生与矩阵A同样大小的零矩阵相关的函数有:length(A)给出行数和列数中的较大者,即length(A)=max(size(A);ndims(A)给出A的维数。,例2.3分别建立33、32和与矩阵A同样大小的零矩阵。(1)建立一个33零矩阵:zeros(3)(2)建立一个32零矩阵:zeros(3,2)(3)建立与矩阵A同样大小零矩阵:zeros(size(A)此外,常用的函数还有reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成mn的二维矩阵。,4.建立大矩阵大矩阵可由方括号中的小矩阵建立起来。例如:A=123;456;789;C=A,eye(size(A);ones(size(A),A执行结果:C=123100456010789001111123111456111789,2.3.2冒号表达式冒号表达式的一般格式:e1:e2:e3例:t=0:2:10执行结果:t=0246810还可以用linspace函数产生行向量:linspace(a,b,n)linspace(a,b,n)与a:(b-a)/(n-1):b等价。,2.3.3矩阵的拆分1.矩阵元素MATLAB允许用户对一个矩阵的单个元素进行赋值和操作。例如:A(3,2)=200也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素按列编号,先第一列,再第二列,依次类推。以mn矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。,2.矩阵拆分(1)利用冒号表达式获得子矩阵A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。A(i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。,(2)利用空矩阵删除矩阵的元素在MATLAB中,定义为空矩阵。给变量X赋空矩阵的语句为X=。注意,X=与clearX不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间,只是维数为0。将某些元素从矩阵中删除,采用将其置为空矩阵的方法就是一种有效的方法。,例1.(利用冒号表达式)a=12345;678910;1112131415;1617181920;a(2:3,4:5)ans=9101415例2.(利用空矩阵)a=12345;678910;1112131415;1617181920;a(:,24)=a=1356810111315161820,2.4MATLAB运算,2.4.1算术运算1.基本算术运算MATLAB的基本算术运算有:(加)、(减)、*(乘)、/(右除)、(左除)、(乘方)。注意:运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。2.点运算点运算符有.*、./、.和.。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。3MATLAB常用数学函数,2.4.2关系运算MATLAB提供了6种关系运算符:(大于)、=(大于或等于)、=(等于)、=(不等于)。关系运算符的运算法则:(1)若比较量均为标量,则直接运算;(2)若比较量为标量和矩阵,则标量和矩阵的每个元素运算,结果为与矩阵同维矩阵;(3)若比较量为同型矩阵,则矩阵的对应元素运算,结果为与矩阵同维矩阵。,例2.4产生5阶随机方阵A,其元素为10,90区间的随机整数,然后判断A的元素是否能被3整除。(1)生成5阶随机方阵A。A=fix(90-10+1)*rand(5)+10)(2)判断A的元素是否可以被3整除。P=rem(A,3)=0P=0001000000001110010000101,2.4.3逻辑运算MATLAB提供了3种逻辑运算符:y=sin(x);y1=(x2*pi).*y;%消去负半波q=(xpi/3%按要求处理第(2)步,2.5字符串,字符串是用单撇号括起来的字符序列。例如,ch=CentralSouthUniversity。若字符串中的字符含有单撇号,则该单撇号字符应用两个单撇号来表示。disp(Imateacher.)Matlab将字符串当作一个行向量,也可以建立多行字符串矩阵。ch=abcdef;123456;字符串是以ASCII码形式存储的。char函数可以把ASCII码矩阵转换为字符串矩阵。,例2.6建立一个字符串向量,然后对该向量做如下处理:(1)取第15个字符组成的子字符串。(2)将字符串倒过来重新排列。(3)将字符串中的小写字母变成相应的大写字母,其余字符不变。(4)统计字符串中小写字母的个数。,例2.6ch=ABc123d4e56Fg9subch=ch(1:5)subch=ABc12revch=ch(end:-1:1)revch=9gF65e4d321cBAk=find(ch=am=t,sin(t),cos(t);y=eval(m)y=3.14160.0000-1.0000,2.6结构和单元,2.6.1结构数据MATLAB通过使用结构(Structure)数据类型把一组不同类型的数据同时又是在逻辑上相关的数据组成一个有机的整体,以便于管理和引用。1.结构矩阵的建立与引用2.结构成员的修改,1.结构矩阵的建立与引用建立具体格式:结构矩阵名.成员名=表达式例如:建立含有3个元素的结构矩阵aa(1).x1=10;a(1).x2yu;a(1).x3=1121;3478;a(2).x1=12;a(2).x2=zhang;a(2).x3=1326;5643;a(3).x1=14;a(3).x2=liu;a(3).x3=4157;11290;结构矩阵元素的成员也可以是结构数据。a(2).x1.x11=90;a(3)

温馨提示

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

评论

0/150

提交评论