第2章MATLAB数据及其运算课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第2章MATLAB数据及其运算课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 数据 及其 运算 课件
- 资源描述:
-
1、第第2章章 MATLAB数据及其运算数据及其运算2.1 MATLAB数据的特点数据的特点2.2 变量及其操作变量及其操作2.3 MATLAB矩阵的表示矩阵的表示2.4 MATLAB数据的运算数据的运算2.5 字符串字符串2.6 结构数据和单元数据结构数据和单元数据.矩阵是矩阵是MATLAB最基本、最重要的数据对最基本、最重要的数据对象,象,MATLAB的大部分运算或命令都是在的大部分运算或命令都是在矩阵运算的意义下执行的,而且这种运算矩阵运算的意义下执行的,而且这种运算定义在复数域上。向量和单个数据都可以定义在复数域上。向量和单个数据都可以作为矩阵的特例来处理。作为矩阵的特例来处理。l数值数据
2、:双精度型、单精度数、带符号数值数据:双精度型、单精度数、带符号整数和无符号整数。整数和无符号整数。l字符数据。字符数据。l结构体结构体(Structure)和单元和单元(Cell)数据类型。数据类型。l稀疏矩阵稀疏矩阵(Sparse)。l逻辑型数据。在逻辑型数据。在MATLAB中,以数值中,以数值1(非非零零)表示表示“真真”,以数值,以数值0表示表示“假假”。2.1 MATLAB数据的特点数据的特点.2.2 变量及其操作变量及其操作2.2.1 变量与赋值变量与赋值1变量命名变量命名在在MATLAB 7.0中,变量名是以字母开头,后中,变量名是以字母开头,后接接字母字母、数字数字或或下划线下
3、划线的字符序列,最多的字符序列,最多63个个字符。字符。在在MATLAB中,变量名区分字母的大小写。中,变量名区分字母的大小写。.2赋值语句赋值语句表达式表达式是用运算符将有关运算量连接起来的是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。式子,其结果是一个矩阵。(1)变量变量=表达式表达式MATLAB将右边表达式的值赋给左边的变量将右边表达式的值赋给左边的变量(2)表达式表达式MATLAB将表达式的值赋给预定义变量将表达式的值赋给预定义变量ans.在在MATLAB命令窗口输入命令:命令窗口输入命令:x=(5+cos(47*pi/180)/(1+sqrt(7)-2*i)其中其中pi和和
4、i都是都是MATLAB预先定义的变量,分别代预先定义的变量,分别代表代表圆周率表代表圆周率和虚数单位。和虚数单位。例例2.1 计算表达式计算表达式 的值。的值。5cos47172oi.一般的,如果想显示运算结果,则在命令后面加;注释以%开头.3.预定义变量预定义变量在在MATLAB工作空间中,还驻留几个由系统工作空间中,还驻留几个由系统本身定义的变量。本身定义的变量。例如,用例如,用pi表示圆周率表示圆周率的近似值的近似值;用用i,j表示虚数单位。表示虚数单位。预定义变量有特定的含义,在使用时,应尽预定义变量有特定的含义,在使用时,应尽量避免对这些变量重新赋值。量避免对这些变量重新赋值。见教材
5、见教材P18表表2.1.2.2.2 变量的管理变量的管理1内存变量的显示与删除内存变量的显示与删除 who和和whos这两个命令用于显示在这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。工作空间中已经驻留的变量名清单。who命令只显示出驻留变量的名称;命令只显示出驻留变量的名称;whos在给出变量名的同时,还给出它们的大在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。小、所占字节数及数据类型等信息。.clear命令用于删除命令用于删除MATLAB工作空间中工作空间中的变量。的变量。MATLAB工作空间窗口专门用于内存变工作空间窗口专门用于内存变量的管理。在工作
6、空间窗口中可以显示所有内量的管理。在工作空间窗口中可以显示所有内存变量的属性。存变量的属性。当选中某些变量后,再单击当选中某些变量后,再单击Delete按钮,按钮,就能删除这些变量。就能删除这些变量。当选中某些变量后,再单击当选中某些变量后,再单击Open Selection按钮,将进入变量编辑器。按钮,将进入变量编辑器。通过变量编辑器可以直接观察变量中的具通过变量编辑器可以直接观察变量中的具体元素,也可修改变量中的具体元素。体元素,也可修改变量中的具体元素。.2内存变量文件内存变量文件利用利用MAT文件可以把当前文件可以把当前MATLAB工作空间工作空间中的一些有用变量长久地保留下来,扩展名
7、中的一些有用变量长久地保留下来,扩展名是是.mat。MAT文件的生成和装入由文件的生成和装入由save和和load命令来命令来完成。完成。常用格式为:常用格式为:save 文件名文件名 变量名表变量名表 -append-asciiload 文件名文件名 变量名表变量名表 -ascii.save 文件名文件名 变量名表变量名表 -append-asciiload 文件名文件名 变量名表变量名表 -ascii其中,文件名可以带路径,但不需带扩展其中,文件名可以带路径,但不需带扩展名名.mat,命令隐含一定对,命令隐含一定对.mat文件进行操作。文件进行操作。变量名表中的变量个数不限,只要内存或文件
8、变量名表中的变量个数不限,只要内存或文件中存在即可,变量名之间以空格分隔。当变量中存在即可,变量名之间以空格分隔。当变量名表省略时,保存或装入全部变量。名表省略时,保存或装入全部变量。-ascii选项使文件以选项使文件以ASCII格式处理,省略该选格式处理,省略该选项时文件将以二进制格式处理。项时文件将以二进制格式处理。save命令中的命令中的-append选项控制将变量追加到选项控制将变量追加到MAT文件中。文件中。.还可以用FILE菜单中的Save Workspace As命令存放工作空间的全部变量。也可以通过FILE菜单中的Import Date命令可以将保存在MAT文件中的全部变量装入
9、到MATLAB工作空间中。.2.2.3 数据的输出格式数据的输出格式 MATLAB用十进制数表示一个常数,具体用十进制数表示一个常数,具体可采用可采用日常记数法日常记数法和和科学记数法科学记数法两种表示方法。两种表示方法。在一般情况下,在一般情况下,MATLAB内部每一个数据内部每一个数据元素都是用双精度数来表示和存储的。元素都是用双精度数来表示和存储的。数据输出时用户可以用数据输出时用户可以用format命令设置或命令设置或改变数据输出格式。改变数据输出格式。format命令的格式为:命令的格式为:format 格式符格式符其中格式符决定数据的输出格式其中格式符决定数据的输出格式见见P21表
10、表2.2.2.3 MATLAB矩阵的表示矩阵的表示2.3.1 矩阵的建立矩阵的建立1直接输入法直接输入法 最简单的建立矩阵的方法是从键盘直接输最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。入矩阵的元素。具体方法如下:具体方法如下:将矩阵的元素将矩阵的元素用方括号括起来用方括号括起来,按矩阵行的按矩阵行的顺序输入顺序输入各元素,各元素,同一行同一行的各元素之间用的各元素之间用空空格或逗号分隔格或逗号分隔,不同行不同行的元素之间用的元素之间用分号分分号分隔。隔。.可以建立复数矩阵可以建立复数矩阵a=exp(2);B=1,2+i*a,a*sqrt(a);sin(pi/4),a/5,3.5+6i.
11、2利用利用M文件建立矩阵文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它对于比较大且比较复杂的矩阵,可以为它专门建立一个专门建立一个M文件。文件。下面通过一个简单例子来说明如何利用下面通过一个简单例子来说明如何利用M文件创建矩阵。文件创建矩阵。.例例2.2 利用利用M文件建立文件建立MYMAT矩阵。矩阵。启动有关编辑程序或启动有关编辑程序或MATLAB文本编辑器,文本编辑器,并输入待建矩阵:并输入待建矩阵:M=101,102,103,104,105,106,107,108,109;201,202,203,204,205,206,207,208,209;301,302,303,304,305,
12、306,307,308,309(2)把输入的内容以纯文本方式存盘把输入的内容以纯文本方式存盘(设文件名设文件名为为mymatrix.m)。(3)在在MATLAB命令窗口中输入命令窗口中输入mymatrix,即,即运行该运行该M文件,就会自动建立一个名为文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用。的矩阵,可供以后使用。.3建立大矩阵建立大矩阵大矩阵可由方括号中的小矩阵或向量建立起大矩阵可由方括号中的小矩阵或向量建立起来。来。例如例如A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A);ones(size(A),A.2.3.2 冒号表达式冒号表达式 冒号表达式可以产
13、生一个行向量,一般格式冒号表达式可以产生一个行向量,一般格式是:是:e1:e2:e3其中其中e1为初始值,为初始值,e2为步长,为步长,e3为终止值。为终止值。在在MATLAB中,还可以用中,还可以用linspace函数产生行函数产生行向量。其调用格式为:向量。其调用格式为:linspace(a,b,n)其中其中a和和b是生成向量的第一个和最后一个元是生成向量的第一个和最后一个元素,素,n是元素总数。是元素总数。显然,显然,linspace(a,b,n)与与a:(b-a)/(n-1):b等价。等价。.2.3.3 矩阵的拆分矩阵的拆分1矩阵元素矩阵元素 通过下标引用矩阵的元素通过下标引用矩阵的元
14、素.例如例如A(3,2)=200采用矩阵元素的序号来引用矩阵元素。采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是矩阵元素的序号就是相应元素在内存中的排列顺序。在相应元素在内存中的排列顺序。在MATLAB中,中,矩阵元素矩阵元素按列存储,先第一列,再第二列按列存储,先第一列,再第二列,依次类推。,依次类推。例如例如A=1,2,3;4,5,6;A(3)ans=2显然,序号显然,序号(Index)与下标与下标(Subscript)是一一对应的,以是一一对应的,以mn矩阵矩阵A为例,矩阵元素为例,矩阵元素A(i,j)的序号为的序号为(j-1)*m+i。其相。其相互转换关系也可利用互转换关系也可利
15、用sub2ind和和ind2sub函数求得。函数求得。.sub2ind(size(A),1,2)%求矩阵求矩阵A中下标为中下标为(1,2)的元素的序号的元素的序号 i,j=ind2sub(size(A),3)%求矩阵求矩阵A中序号中序号为为3的元素的下标的元素的下标 size(A)%计算矩阵计算矩阵A的行数和列数的行数和列数 length(A)%给出矩阵给出矩阵A中行数和列数较大者中行数和列数较大者 ndim(A)%给出矩阵给出矩阵A的维数的维数 reshape(A,m,n)%将矩阵将矩阵A变为变为m*n的二维的二维矩阵矩阵.2矩阵拆分矩阵拆分利用冒号表达式获得子矩阵利用冒号表达式获得子矩阵
16、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列中的所有元素。列中的所有元素。A(:)将矩阵将矩阵A每一列元素堆叠起来,成为一个列向每一列元素堆叠起来,成为一个列向量,而这也是量,而这
17、也是MATLAB变量的内部储存方式。变量的内部储存方式。(1)A=1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20.此外,还可利用一般向量和此外,还可利用一般向量和end运算符来运算符来表示矩阵下标,从而获得子矩阵。表示矩阵下标,从而获得子矩阵。end表表示某一维的末尾元素下标。示某一维的末尾元素下标。A(end,:)A(1 4,3:end).(2)利用空矩阵删除矩阵的元素利用空矩阵删除矩阵的元素 在在MATLAB中,定义中,定义为空矩阵。为空矩阵。给变量给变量X赋空矩阵的语句为赋空矩阵的语句为X=。注意,注意,X=与与clear X不同,不
18、同,clear是将是将X从工从工作空间中删除,而空矩阵则存在于工作空间作空间中删除,而空矩阵则存在于工作空间中,只是维数为中,只是维数为0。A(:,2 4)=.2.4 MATLAB数据的运算数据的运算 2.4.1 算术运算算术运算1基本算术运算基本算术运算 MATLAB的基本算术运算有:的基本算术运算有:(加加)、(减减)、*(乘乘)、/(右除右除)、(左左除除)、(乘方乘方)。注意,运算是在矩阵意义下进行的,单个数注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。据的算术运算只是一种特例。.(1)矩阵加减运算矩阵加减运算 假定有两个矩阵假定有两个矩阵A和和B,则可以由,则可以由
19、A+B和和A-B实现矩阵的加减运算。实现矩阵的加减运算。运算规则是:若运算规则是:若A和和B矩阵的维数相同,则矩阵的维数相同,则可以执行矩阵的加减运算,可以执行矩阵的加减运算,A和和B矩阵的相应元矩阵的相应元素相加减。素相加减。如果如果A与与B的维数不相同,则的维数不相同,则MATLAB将给将给出错误信息,提示用户两个矩阵的维数不匹配。出错误信息,提示用户两个矩阵的维数不匹配。一个标量也可以和其他不同维数的矩阵进行一个标量也可以和其他不同维数的矩阵进行加减运算。加减运算。.(2)矩阵乘法矩阵乘法 假定有两个矩阵假定有两个矩阵A和和B,若,若A为为mn矩阵,矩阵,B为为np矩阵,则矩阵,则C=A
展开阅读全文