MATLAB中的矩阵与向量运算

  • 格式:docx
  • 大小:42.56 KB
  • 文档页数:10

下载文档原格式

  / 31
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.1 数组运算和矩阵运算

从外观形状和数据结构来看,二维数组和数学中的矩阵没有区别.但是,矩阵作为一种变换或映射算符的体现,矩阵运算有着明确而严格的数学规则.而数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方面,操作简单,指令形式自然和执行计算有效.所以,在使用MATLAB时,特别要明确搞清数组运算和矩阵运算的区别.表4.1.1列出了两种运算指令形式的实质内涵的异同.

4.1.1 数组运算和矩阵运算指令形式和实质内涵

数组运算矩阵运算

指令含义指令含义

A.'非共轭转置A'共轭转置

A=s把标量s赋给数组A的每个元素

s+B把标量s分别与数组B的每个元素相加s-B, B-s标量s分别与数组B的元素之差

s.*A标量s分别与数组A的元素之积s*A标量s分别与矩阵A的元素之积

s./B, B.\s标量s分别被数组B的元素除s*inv(B)矩阵B的逆乘标量s

A.^n数组A的每个元素的n次方A^nA为方阵时,矩阵A的n次方

A+B数组对应元素的相加A+B矩阵相加

A-B数组对应元素的相减A-B矩阵相减

A.*B数组对应元素的相乘A*B内维相同矩阵的乘积

A./BA的元素被B的对应元素除A/BA右除B

B.\A一定与上相同B\AA左除B(一般与右除不同)

exp(A)以e为底,分别以A的元素为指数,求幂expm(A)A的矩阵指数函数

log(A)对A的各元素求对数logm(A)A的矩阵对数函数

sqrt(A)对A的积各元素求平方根sqrtm(A)A的矩阵平方函数

从上面可以看到,数组运算的运算如:乘,除,乘方,转置,要加"点".所以,我们要特别注意在求"乘,除,乘方,三角和指数函数"时,两种运算有着根本的区别.另外,在执行数组与数组运算时,参与运算的数组必须同维,运算所得的结果数组也是总与原数组同维.

4.2 数组的基本运算

在MATLAB中,数组运算是针对多个数执行同样的计算而运用的.MATLAB以一种非常直观的方式来处理数组.

4.2.1 点转置和共轭转置

. ' ——点转置.非共轭转置,相当于conj(A').

>> a=1:5;

>> b=a. '

b =

1

2

3

4

5

>> c=b. '

c =

1 2 3 4 5

这表明对行向量的两次转置运算便得到原来的行向量.

' ——共轭转置.对向量进行转置运算并对每个元素取其共轭.如:

>> d=a+i*a

d =

Columns 1 through 3

1.0000 + 1.0000i

2.0000 + 2.0000i

3.0000 + 3.0000i

Columns 4 through 5

4.0000 + 4.0000i

5.0000 + 5.0000i

>> e=d'

e =

1.0000 - 1.0000i

2.0000 - 2.0000i

3.0000 - 3.0000i

4.0000 - 4.0000i

5.0000 - 5.0000i

4.2.2 纯量(标量) 和数组的四则运算

纯量和数组之间可以进行简单数学运算.如:加,减,乘,除及其混合运行.

>> g=[1 2 3 4

5 6 7 8

9 10 11 12]

>> g=g-2

g =

-1 0 1 2

3 4 5 6

7 8 9 10

>> 2*g-1

ans =

-3 -1 1 3

5 7 9 11

13 15 17 19

4.2.3 数组间的四则运算

在MATLAB中,数组间进行四则运算时,参与运算的数组必须具有相同的维数,加,减,乘,除运算是按元素与元素的方式进行的.其中,数组间的加,减运算与矩阵的加,减运算要同,运算符为:"+","-".但是,数组间的乘,除运算与矩阵间的乘,除运算完全不同,运算符号也有差别,数组间的乘,除运算符为:".*","./"或".\".

1. 数组按元素相加,减

>> g=[1 2 3 4

5 6 7 8

9 10 11 12]

>> h=[1 1 1 1; 2 2 2 2; 3 3 3 3]

>>g+h % 按元素相加

ans =

2 3 4 5

7 8 9 10

12 13 14 15

>>ans-h % 按元素相减

ans =

1 2 3 4

5 6 7 8

9 10 11 12

>> 2*g-h % 混合运算

ans =

1 3 5 7

8 10 12 14

15 17 19 21

2. 按元素乘

>> g.*h

ans =

1 2 3 4

10 12 14 16

27 30 33 36

3. 按元素除

数组间的除法运算符有两个,即左除:"./"和右除:".\",它们之间的关系是: a./b=b.\a

>> g./h

ans =

1.0000

2.0000

3.0000

4.0000

2.5000

3.0000

4.1000 4.0000

3.0000 3.3333 3.6667

4.0000

>> h.\g

ans =

1.0000

2.0000

3.0000

4.0000

2.5000

3.0000

4.1000 4.0000

3.0000 3.3333 3.6667

4.0000

4.2.4 幂运算

在MATLAB中,数组的幂运算的运算为:".^",表示每一个元素进行幂运算. >> g.^2 % 数组g每个元素的平方

ans =

1 4 9 16

25 36 49 64

81 100 121 144

>> g.^(-1) % 数组g的每个元素的倒数

ans =

1.0000 0.5000 0.3333 0.2500

0.2000 0.1667 0.1429 0.1250

0.1111 0.1000 0.0909 0.0833

>> 2.^g % 以g的每个元素为指数对2进行乘方运算

ans =

2 4 8 16

32 64 128 256