收藏 分销(赏)

MATLAB中矩阵与数组的区别.docx

上传人:xrp****65 文档编号:6915593 上传时间:2024-12-23 格式:DOCX 页数:6 大小:18.32KB 下载积分:10 金币
下载 相关 举报
MATLAB中矩阵与数组的区别.docx_第1页
第1页 / 共6页
MATLAB中矩阵与数组的区别.docx_第2页
第2页 / 共6页


点击查看更多>>
资源描述
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                           %按数学定义的矩阵乘法规则 矩阵乘方:  A^k                        %k个矩阵A相乘 矩阵除法: 左除A\B右除B/A             %分别为AX=B和XA=B的解 可见,数组的运算很简单。若不考虑数学意义时,矩阵是数组的二维版本。 构造数组: 1、直接构造:用空格或逗号间隔数组元素 x=[1,2,3,4,5,6] 2、增量法构造:使用冒号操作符创建数组 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               %按数学定义的矩阵乘法规则 矩阵乘方            A^k               %k个矩阵A相乘 数与矩阵加减      k+A与k-A      %等价于k*ones(size(A))+-A 矩阵除法           左除A\B,右除B/A  %分别为AX=B和XA=B的解 ***************************************************************************************************** 例: A=[1 2;3 4];B=[4 3;2 1]; r1=100+A r1 =       101 102       103 104 r2_1=A*B,r2_2=A.*B r2_1 =          8 5         20 13 r2_2 =          4 6          6 4 r3_1=A\B,r3_2=A.\B r3_1 =        -6.0000 -5.0000         5.0000 4.0000 r3_2 =        4.0000 1.5000        0.6667 0.2500 r4_1=B/A,r4_2=B./A r4_1 =       -3.5000 2.5000       -2.5000 1.5000 r4_2 =        4.0000 1.5000        0.6667 0.2500 r5_1=A.^2,r5_2=A^2 r5_1 =           1 4           9 16 r5_2 =          7 10        15 22 r6_1=2.^A r6_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是向量时,即表示向量的元素个数,因为向量总是1×n或n×1的,而n一定大于或等于1.所以得到的结果一定是n ndims(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个维度)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服