MATLAB中矩阵与数组的区别.docx_第1页
MATLAB中矩阵与数组的区别.docx_第2页
MATLAB中矩阵与数组的区别.docx_第3页
MATLAB中矩阵与数组的区别.docx_第4页
MATLAB中矩阵与数组的区别.docx_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

MATLAB中矩阵与数组的区别,点运算符的运用2012-07-23 17:10:04|分类:MATLAB学习|举报|字号订阅正如matlab(矩阵实验室)这个名字一样,matlab的数据结构只有矩阵(array)一种形式(可细分为普通矩阵和稀疏矩阵)。单个的数就是1*1的矩阵;数组或向量就是1*n或n*1的矩阵。事实上对于matlab来说数、数组或向量和二维矩阵在本质上没有任何区别,他们的维数都是2,一切都是以矩阵的形式保存的。*一维数组相当于向量,二维数组相当于矩阵,所以矩阵是数组的子集。1.数组的运算是指数组对应元素之间的运算,也称点运算.2.矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的。3.矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算.但有两点要注意:(1)对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都不同:矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符;(2)数与矩阵加减、矩阵除法在数学是没有意义的,在MATLAB中为简便起见,定义了这两类运算。*数组中的元素可以是字符等;矩阵中的只能是数;这是二者最直观的区别。因为矩阵是一个数学概念(线性代数里的),数组是个计算机上的概念。精通MATLAB6.5版(张志涌编著,北京航空航天大学出版社)中说:从外观形状和数据结构上看,二维数组和数学中的矩阵没有区别。但是矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则。而数组运算是Matlab软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。虽然数组运算尚缺乏严谨的数学推理,虽然数组运算仍在完善和成熟中,但是它的作用和影响正随着matlab的发展而扩大。数组运算:数与数组加减:k+/-A%k加或减A的每个元素数组乘数组:A.*B%对应元素相乘数组乘方:A.k%A的每个元素k次方;k.A,分别以k为底A的各元素为指数求幂值数除以数组:k./A和A./k %k分别被A的元素除数组除法:左除A.B,右除B./A%对应元素相除矩阵运算:数与矩阵加减:k+/-A%等价于k*ones(size(A)+/-A矩阵乘法:A*B%按数学定义的矩阵乘法规则矩阵乘方:Ak%k个矩阵A相乘矩阵除法:左除AB右除B/A%分别为AX=B和XA=B的解可见,数组的运算很简单。若不考虑数学意义时,矩阵是数组的二维版本。构造数组:1、直接构造:用空格或逗号间隔数组元素x=1,2,3,4,5,62、增量法构造:使用冒号操作符创建数组a=first:end%递增,且步长为1的数组a=first:step:end%指定增量步长值创建任何等差序列3、用linspace函数构造x=linspace(first,last,num)%需要指定首尾值和元素总个数,步长根据num平均分配构造矩阵1、简单创建方法用 ,逗号或空格格开各元素,分号隔开各行,注意各行具有相同的元素个数。2、构造特殊矩阵ones,zeros,eye,diag,magic,rand,randn,randpem.*数组运算:转置 A.%非共轭转置,相当于(conj(A)数组加与减 A+B与A-B%对应元素之间加减数乘数组 k.*A或A.*k%k乘A的每个元素数与数组加减 k+A与k-A%k加(减)A的每个元素数组乘数组 A.*B数组乘方 A.k%A的每个元素进行k次方运算 k.A%以k底的,分别以A的元素为指数求幂值数除以数组 k./A和A.k%k分别被B的元素除数组除法 左除A.B,右除B./A矩阵运算:矩阵转置 A%共轭转置加减 A+B A-B数乘矩阵 k*A或A*k%上三项同数组运算矩阵乘法 A*B%按数学定义的矩阵乘法规则矩阵乘方 Ak%k个矩阵A相乘数与矩阵加减 k+A与k-A %等价于k*ones(size(A)+-A矩阵除法 左除AB,右除B/A%分别为AX=B和XA=B的解*例:A=1 2;3 4;B=4 3;2 1;r1=100+Ar1 = 101 102 103 104r2_1=A*B,r2_2=A.*Br2_1 = 8 5 20 13r2_2 = 4 6 6 4r3_1=AB,r3_2=A.Br3_1 = -6.0000 -5.00005.0000 4.0000r3_2 = 4.0000 1.5000 0.6667 0.2500r4_1=B/A,r4_2=B./Ar4_1 = -3.5000 2.5000 -2.5000 1.5000r4_2 = 4.0000 1.5000 0.6667 0.2500r5_1=A.2,r5_2=A2r5_1 = 1 4 9 16r5_2 = 7 1015 22r6_1=2.Ar6_1 = 2 4 8 16*size(a)表示矩阵每个维度的长度比如size(1 2 3;4 5 6)等于2 3表示他有2行3列size(1 2 3)等于1 3表示他有1行3列另外size(a,n)表示矩阵a在第n个维度下的长度。比如size(1 2 3;4 5 6,1)等于2,表示有2行size(1 2 3;4 5 6,2)等于3,表示有3列length(a)表示矩阵a的最大的长度,即max(size(a)比如length(1 2 3;4 5 6)等于3,因为2和3中最大是3当a是向量时,即表示向量的元素个数,因为向量总是1n或n1的,而n一定大于或等于1.所以得到的结果一定是nndims(a)表示矩阵a的维数,即length(size(a)比如ndims(1 2 3;4 5 6)等于2,因为他是二维矩阵matlab认为向量也是二维矩阵,只不过其中一个维度的长为1.因此ndims(1 2 3)也等于2我们可以构造一个三维甚至更高维度的矩阵,比如a=cat(3,1 2 3 4;5 6 7 8,9 8 7 6;5 4 3 2)他除了行和列以外还有一

温馨提示

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

评论

0/150

提交评论