MATLAB中矩阵与数组的区别

上传人:平*** 文档编号:11928546 上传时间:2017-10-15 格式:DOCX 页数:6 大小:18.40KB
返回 下载 相关 举报
MATLAB中矩阵与数组的区别_第1页
第1页 / 共6页
MATLAB中矩阵与数组的区别_第2页
第2页 / 共6页
MATLAB中矩阵与数组的区别_第3页
第3页 / 共6页
MATLAB中矩阵与数组的区别_第4页
第4页 / 共6页
MATLAB中矩阵与数组的区别_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《MATLAB中矩阵与数组的区别》由会员分享,可在线阅读,更多相关《MATLAB中矩阵与数组的区别(6页珍藏版)》请在金锄头文库上搜索。

1、MATLAB中矩阵与数组的区别,点运算符的运用 2012-07-23 17:10:04| 分类: MATLAB 学习|举报|字号 订阅正如 matlab(矩阵实验室)这个名字一样,matlab 的数据结构只有矩阵(array)一种形式(可细分为普通矩阵和稀疏矩阵)。单个的数就是 1*1 的矩阵;数组或向量就是 1*n 或 n*1 的矩阵。事实上对于 matlab 来说数、数组或向量和二维矩阵在本质上没有任何区别,他们的维数都是 2,一切都是以矩阵的形式保存的。*一维数组相当于向量,二维数组相当于矩阵,所以矩阵是数组的子集。1.数组的运算是指数组对应元素之间的运算,也称点运算.2.矩阵是一个二维

2、数组,所以矩阵的加、减、数乘等运算与数组运算是一致的。3.矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算.但有两点要注意:(1)对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都不同:矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符;(2)数与矩阵加减、矩阵除法在数学是没有意义的,在 MATLAB 中为简便起见,定义了这两类运算。*数组中的元素可以是字符等;矩阵中的只能是数;这是二者最直观的区别。因为矩阵是一个数学概念(线性代数里的),数组是个计算机上的概念。精通 MATLAB6.5 版(张志涌编著,北京航空航天大学出版社)中说:

3、从外观形状和数据结构上看,二维数组和数学中的矩阵没有区别。但是矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则。而数组运算是 Matlab 软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。虽然数组运算尚缺乏严谨的数学推理,虽然数组运算仍在完善和成熟中,但是它的作用和影响正随着 matlab 的发展而扩大。数组运算:数与数组加减:k+/-A %k 加或减 A 的每个元素数组乘数组: A.*B %对应元素相乘数组乘方:A.k %A 的每个元素 k 次方; k.A,分别以 k 为底 A 的各元素为指数求幂值数除以数组: k./A 和 A./k %

4、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 %指定增量步长

5、值创建任何等差序列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 的每个元素数组乘

6、数组 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

7、 1;r1=100+Ar1 =101 102103 104r2_1=A*B,r2_2=A.*Br2_1 = 8 520 13r2_2 =4 66 4r3_1=AB,r3_2=A.Br3_1 =-6.0000 -5.00005.0000 4.0000r3_2 =4.0000 1.50000.6667 0.2500r4_1=B/A,r4_2=B./Ar4_1 =-3.5000 2.5000-2.5000 1.5000r4_2 =4.0000 1.50000.6667 0.2500r5_1=A.2,r5_2=A2r5_1 =1 49 16r5_2 =7 1015 22r6_1=2.Ar6_1 =2

8、48 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 的

9、,而 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)他除了行和列以外还有一个维度,我们暂且把它叫做高度。也就是说 a 有两层,第一层是1 2 3 4;5 6 7 8,第二层是 9 8 7 6;5 4 3 2此时有 size(a)=2 4 2即 2 行 4 列 2 层length(a)=4(2 4 2中最大为 4)ndims(a)=3(因为他有 3 个维度)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号