第2章 矩阵及其操作.

《第2章 矩阵及其操作.》由会员分享,可在线阅读,更多相关《第2章 矩阵及其操作.(75页珍藏版)》请在文档大全上搜索。
1、Matlab编程技术吴明录2010.3.8第第2 2章章 矩阵及其操作矩阵及其操作2.1 2.1 数据类型数据类型2.2 2.2 变量及其操作变量及其操作2.3 2.3 矩阵基础矩阵基础2.4 2.4 矩阵运算矩阵运算2.5 2.5 矩阵的基本操作矩阵的基本操作2.1 2.1 数据类型数据类型nMATLAB有15种基本数据类型,每种基本数据类型均以数组/矩阵的形式出现。 n 1.1.数值类型数值类型n 2.2.逻辑类型逻辑类型n 3.3.字符和字符串类型字符和字符串类型n 4.4.结构体类型结构体类型1.1.数值类型数值类型 (1 1)整数)整数 (2 2)浮点数)浮点数 (3 3)复数)复数
2、 (4 4)InfInf (5 5)NaNNaN(1 1)整数类型)整数类型nMATLAB支持1、2、4和8字节的有符号整数和无符号整数。(2)浮点数类型nMATLAB有单精度和双精度两种浮点数。(3)复数类型n复数包含实部和虚部,用i或者j表示虚部。n生成复数有两种方法: z=3+4iz = 3.0000 + 4.0000i complex(3,4)ans = 3.0000 + 4.0000i help complex(4)Inf和NaNpInfInf和和-Inf-Inf分别表示正无穷大和负无穷分别表示正无穷大和负无穷。pNaNNaN(Not a NumberNot a Number)表示一
3、个既不是实)表示一个既不是实数也不是复数的值。数也不是复数的值。2 2逻辑类型逻辑类型n在MATLAB中逻辑类型包含true和false,分别由1和0表示。函数logical将任何非零的数值转换为true(即1),将数值0转换为false(即0)。3.3.字符和字符串类型字符和字符串类型n在MATLAB中,数据类型(char)表示一个字符;n一个char类型的1n数组称为字符串string。 4 4结构体类型结构体类型n结构体类型是一种由若干属性(结构体类型是一种由若干属性(fieldfield)组)组成的成的MATLABMATLAB数组,其中的每个属性可以数组,其中的每个属性可以是任意数据类
4、型。是任意数据类型。n结构体数组的创建及操作将在第结构体数组的创建及操作将在第4 4章里面章里面进行详细的介绍。进行详细的介绍。2.2 2.2 变量及其操作变量及其操作变量变量l变量名以字母开头,后接字母、数字或下划线的字符序列变量名以字母开头,后接字母、数字或下划线的字符序列;l变量名区分字母的大小写。变量名区分字母的大小写。赋值赋值变量变量=表达式表达式 num_students = 25num_students = 25 x=1+2i, y=3-sqrt(17), z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y)x = 1.0000 + 2.0000iy
5、= -1.1231z = -0.3488 + 0.3286i特殊变量特殊变量(预定义变量预定义变量)在在MATLABMATLAB工作空间中,还驻留几个由系统本身定义工作空间中,还驻留几个由系统本身定义的变量。预定义变量有特定的含义,在使用时,应尽的变量。预定义变量有特定的含义,在使用时,应尽量避免对这些变量重新赋值。量避免对这些变量重新赋值。内存变量的管理内存变量的管理利用利用MATLABMATLAB工作空间窗口可实现对内存变量的工作空间窗口可实现对内存变量的查看、查看、 修改、保存、删除、导出及画图等操作。修改、保存、删除、导出及画图等操作。利用利用clearclear命令可删除工作空间中的
6、变量。命令可删除工作空间中的变量。利用利用whowho和和whoswhos命令可分别用于显示在工作空间命令可分别用于显示在工作空间中已经驻留的变量名清单。中已经驻留的变量名清单。lwhowho命令只显示出驻留变量的名称命令只显示出驻留变量的名称lwhoswhos在给出变量名的同时,还给出它们的大小、所占在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等详细信息。字节数及数据类型等详细信息。内存变量的保存与载入内存变量的保存与载入matmat文件文件利用利用matmat文件可以把当前工作空间中的一些有文件可以把当前工作空间中的一些有用变量长久地保留下来,扩展名是用变量长久地保留下来,扩
7、展名是.mat.mat。matmat文件的生成和装入分别由文件的生成和装入分别由savesave和和loadload命命令来完成。令来完成。lsave save 文件名文件名 变量名表变量名表 lload load 文件名文件名 变量名表变量名表 save data x y z save data x y z clear clear load data z load data z对对load和和save命令的一点说明命令的一点说明lsave save 文件名文件名 变量名表变量名表 lload load 文件名文件名 变量名表变量名表 文件名可以带路径,但不需带扩展名文件名可以带路径,但不需带
8、扩展名.mat.mat,命,命令隐含一定对令隐含一定对.mat.mat文件进行操作。文件进行操作。 变量名表中的变量个数不限,只要内存或文件变量名表中的变量个数不限,只要内存或文件中存在即可,变量名之间以空格分隔。当变量中存在即可,变量名之间以空格分隔。当变量名表省略时,保存或装入全部变量。名表省略时,保存或装入全部变量。 更多内容,请更多内容,请 help save help save help loadhelp loadn在MATLAB中,所有的数据均以二维、三维或高维矩阵的形式存储,每个矩阵的单元可以是数值类型、逻辑类型、字符类型或者其他任何数据类型。 对于标量,可以用11矩阵来表示;
9、对于一组n个数据,可以用1n矩阵来表示; 对于多维数组,可以用多维矩阵来表示。2.3 2.3 矩阵基础矩阵基础1.1.矩阵的索引矩阵的索引A(i,jA(i,j)第第i i行、第行、第j j列的元素列的元素A(iA(i,:) ,:) 第第i i行的全部元素行的全部元素A(:,jA(:,j) ) 第第j j列全部元素列全部元素A(i:i+mA(i:i+m,:) ,:) 第第i ii+mi+m行的全部元素行的全部元素A(:,k:k+mA(:,k:k+m) ) 第第k kk+mk+m列的全部元素列的全部元素A(i:i+m,k:k+mA(i:i+m,k:k+m) ) 第第i ii+mi+m行内,并在第行
10、内,并在第k kk+mk+m列中的所有元素列中的所有元素还可利用一般向量和还可利用一般向量和endend运算符来表示矩阵下标,运算符来表示矩阵下标,endend表示某一维的末尾元素下标。表示某一维的末尾元素下标。2.3 2.3 矩阵基础矩阵基础2.2.矩阵的创建矩阵的创建在命令窗口直接输入矩阵的各个元素在命令窗口直接输入矩阵的各个元素 A=16 3 2 13;5 10 11 8;9 6 7 12;4 15 14 1A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1通过通过loadload命令载入数据文件命令载入数据文件 load mymatrix.txt my
11、matrixmymatrix = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1MatlabMatlab内在函数(特殊矩阵)内在函数(特殊矩阵)利用利用mm文件创建文件创建特殊矩阵生成函数特殊矩阵生成函数特殊矩阵生成函数特殊矩阵生成函数特殊矩阵生成函数特殊矩阵生成函数 B=magic(4)B = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 A=B(:,1 3 2 4)A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1A=16 3 2 13 5 10 11 8 9 6 712 4 15 14 1利用