资源描述:
《MATLAB中的矩阵与向量运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4.1数组运算和矩阵运算从外观形状和数据结构来看,二维数组和数学中的矩阵没有区别.但是,矩阵作为一种变换或映射算符的体现,矩阵运算有着明确而严格的数学规则.而数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方面,操作简单,指令形式自然和执行计算有效.所以,在使用MATLAB时,特别要明确搞清数组运算和矩阵运算的区别.表4.1.1列出了两种运算指令形式的实质内涵的异同.4.1.1数组运算和矩阵运算指令形式和实质内涵数组运算矩阵运算指令含义指令含义A.'非共轭转置A'共轭转置A=s把标量s赋给数组A的每个元素s+B把标量s分别与数组B的每
2、个元素相加s-B,B-s标量s分别与数组B的元素之差s.*A标量s分别与数组A的元素之积s*A标量s分别与矩阵A的元素之积s./B,B.s标量s分别被数组B的元素除s*inv(B)矩阵B的逆乘标量sA.^n数组A的每个元素的n次方A^nA为方阵时,矩阵A的n次方A+B数组对应元素的相加A+B矩阵相加A-B数组对应元素的相减A-B矩阵相减A.*B数组对应元素的相乘A*B内维相同矩阵的乘积A./BA的元素被B的对应元素除A/BA右除BB.A一定与上相同BAA左除B(一般与右除不同)exp(A)以e为底,分别以A的元素为指数,求幂expm(A)A
3、的矩阵指数函数log(A)对A的各元素求对数logm(A)A的矩阵对数函数sqrt(A)对A的积各元素求平方根sqrtm(A)A的矩阵平方函数从上面可以看到,数组运算的运算如:乘,除,乘方,转置,要加"点".所以,我们要特别注意在求"乘,除,乘方,三角和指数函数"时,两种运算有着根本的区别.另外,在执行数组与数组运算时,参与运算的数组必须同维,运算所得的结果数组也是总与原数组同维.4.2数组的基本运算在MATLAB中,数组运算是针对多个数执行同样的计算而运用的.MATLAB以一种非常直观的方式来处理数组.4.2.1点转置和共轭转置.'——点转置.
4、非共轭转置,相当于conj(A').>>a=1:5;>>b=a.'b=12345>>c=b.'c=12345这表明对行向量的两次转置运算便得到原来的行向量.'——共轭转置.对向量进行转置运算并对每个元素取其共轭.如:>>d=a+i*ad=Columns1through31.0000+1.0000i2.0000+2.0000i3.0000+3.0000iColumns4through54.0000+4.0000i5.0000+5.0000i>>e=d'e=1.0000-1.0000i2.0000-2.0000i3.0000-3.0000i4.000
5、0-4.0000i5.0000-5.0000i4.2.2纯量(标量)和数组的四则运算纯量和数组之间可以进行简单数学运算.如:加,减,乘,除及其混合运行.>>g=[123456789101112]>>g=g-2g=-1012345678910>>2*g-1ans=-3-11357911131517194.2.3数组间的四则运算在MATLAB中,数组间进行四则运算时,参与运算的数组必须具有相同的维数,加,减,乘,除运算是按元素与元素的方式进行的.其中,数组间的加,减运算与矩阵的加,减运算要同,运算符为:"+","-".但是,数组间的乘,除运算与矩阵间
6、的乘,除运算完全不同,运算符号也有差别,数组间的乘,除运算符为:".*","./"或".".1.数组按元素相加,减>>g=[123456789101112]>>h=[1111;2222;3333]>>g+h%按元素相加ans=23457891012131415>>ans-h%按元素相减ans=123456789101112>>2*g-h%混合运算ans=13578101214151719212.按元素乘>>g.*hans=123410121416273033363.按元素除数组间的除法运算符有两个,即左除:"./"和右除:".",它们之间的关
7、系是:a./b=b.a>>g./hans=1.00002.00003.00004.00002.50003.00004.10004.00003.00003.33333.66674.0000>>h.gans=1.00002.00003.00004.00002.50003.00004.10004.00003.00003.33333.66674.00004.2.4幂运算在MATLAB中,数组的幂运算的运算为:".^",表示每一个元素进行幂运算.>>g.^2%数组g每个元素的平方ans=149162536496481100121144>>g.^(-1)
8、%数组g的每个元素的倒数ans=1.00000.50000.33330.25000.20000.16670.14290.12500.11