基本信息
文件名称:《通信系统中MATLAB基础与仿真应用》课件_第3章.ppt
文件大小:1.23 MB
总页数:95 页
更新时间:2025-03-08
总字数:约1.97万字
文档摘要

3.2数组函数和数组运算MATLAB同时提供矩阵(Matrix)和数组(Array)两种类型的数据。这两种数据类型的运算和定义既有相同之处,又有不同之处。本节着重探讨数组的运算及其用法,同时给出其与矩阵(Matrix)在运算及函数之间的差别。3.2.1数组和矩阵的区别从外观形状和数据结构上看,二维数组和数学中的矩阵没有区别。但是矩阵作为一种变换或映射算子的体现,它和数组有着概念上的区别。通常,在非正式情况下,矩阵和数组的说法可以互相替换。确切地说,矩阵是数组的一种特例,即矩阵是二维的数值型数组,表示一种线性变换的关系。定义在矩阵概念上的数学运算便构成了“线性代数”这一课程。矩阵的运算遵循线性代数所规定的矩阵运算法则。从运算的角度看,矩阵运算和数组运算有着显著的不同。在MATLAB中,矩阵运算和数组运算属于两种不同的运算:矩阵运算是从矩阵的整体出发,按照线性代数的运算规则进行,有着明确而严格的数学规则;而数组运算是从数组的单个元素出发,针对每个元素进行的运算,它是MATLAB软件所定义的规则,目的是为了数据管理的方便、操作简单、指令形式自然和执行计算有效。另外,在MATLAB中针对矩阵和数组运算的算术运算符也有所不同,本书将在以后的章节中遇到类似的情况时给予详细说明。3.2.2数组的加、减、乘、除和乘方运算数组的运算是对数组中的每个元素进行的,这样就使大批数据的处理与标量的处理类似,可以大大简化使用和程序的编制,并且便于程序的阅读。基本的数组运算符以及相应的运算函数如表3-6所示。注意:对于加法和减法而言,矩阵运算和数组运算相同,并且要求两个执行加、减运算的矩阵和数组的大小必须相同,否则将出现错误信息;对于乘法和除法而言,矩阵和数组的运算有着显著的不同,矩阵的乘、除严格按照线性代数中规定的矩阵运算规则进行,而数组的运算则是针对数组中每个对应元素进行乘、除运算,其运算符前必须加一个小黑点,表示按照数组的运算规则进行运算。无论执行什么样的数组运算,所计算的结果数组总是与参与运算的数组同维。数组运算中所有的二元运算必须是同维的数组或者其中一个为标量,这一点与矩阵的运算不同。为了清晰地表达数组运算和矩阵运算的差别,表3-7中以对比的方式给出矩阵运算和数组运算的命令以及相应的功能和含义。注意:关于数组除的运算规则:①当参与除运算的两个数组同维时,运算为数组的相应元素相除,计算结果是与参与运算的数组同维的数组;②当参与运算的数组有一个是标量时,运算是标量和数组的每一个元素相除,计算结果是与参与运算的数组同维的数组;③右除与左除的关系为A./B=B.\A,其中A是被除数,B是除数。关于数组乘方的运算规则:①数组的标量乘方为A.^p(即A为数组,p为标量),运算为数组每个元素的p次方,计算结果是与数组A同维的数组;②标量的数组乘方为p.^A,表示以p为底,分别以A的元素为指数求幂值,计算结果是与数组A同维的数组。表3-6基本数组运算符及其等效的运算函数表3-7矩阵运算和数组运算的对照表【例3-15】对A和B进行转置数组运算,并与矩阵运算的结果加以比较。clear%清空内存中所有变量A=zeros(3,3); %为一个3×3的数组(矩阵)A预先分配内存空间A(:)=2:10; %运用全元素赋值法对A的元素赋值A=A*(1+2i) %乘以一个复数产生复数数组(矩阵)A= 2.0000+4.0000i 5.0000+10.0000i 8.0000+16.0000i 3.0000+6.0000i 6.0000+12.0000i 9.0000+18.0000i 4.0000+8.0000i 7.0000+14.0000i 10.0000+20.0000iA1=A.′; %对数组A进行数组转置,即求非共轭转置A2=A′; %对矩阵A进行矩阵转置,即求共轭转置A1A1=2.0000+4.0000i 3.0000+6.0000i 4.0000+8.0000i 5.0000+10.0000i 6.0000+12.0000i 7.0000+14.0000i 8.0000+16.0000i 9.0000+18.0000i 10.0000+20.0000iA2A2= 2.0000-4.0000i 3.0000-6.0000i 4.0000-8.0000i 5.0000-10.0000i 6.0000-12.0000i 7.0000-14.0000i 8.