矩阵及其基本运算(5)

2019-04-16 14:47

第1章 矩阵及其基本运算

k = rank (A,tol) %tol为给定误差

1.2.14 特殊运算

1.矩阵对角线元素的抽取

函数 diag

格式 X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,

v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。

X = diag(v) %以v为主对角线元素,其余元素为0构成X。

v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。

v = diag(X) %抽取主对角线元素构成向量v。

例1-46

>> v=[1 2 3]; >> x=diag(v,-1)

x =

0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0 >> A=[1 2 3;4 5 6;7 8 9]

A =

1 2 3 4 5 6 7 8 9 >> v=diag(A,1)

v = 2 6

2.上三角阵和下三角阵的抽取

函数 tril %取下三角部分

格式 L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L

L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0

为主对角线以上;k<0为主对角线以下。

函数 triu %取上三角部分

格式 U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U

U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0

为主对角线以上;k<0为主对角线以下。

例1-47

>> A=ones(4) %产生4阶全1阵

A =

1 1 1 1 1 1 1 1 1 1 1 1

21 MATLAB6.0数学手册 1 1 1 1 >> L=tril(A,1) %取下三角部分

L =

1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1

>> U=triu(A,-1) %取上三角部分

U =

1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1

3.矩阵的变维

矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。 (1)“:”变维

例1-48

> A=[1 2 3 4 5 6;6 7 8 9 0 1]

A =

1 2 3 4 5 6 6 7 8 9 0 1 >> B=ones(3,4)

B =

1 1 1 1 1 1 1 1 1 1 1 1 >> B(:)=A(:)

B =

1 7 4 0 6 3 9 6 2 8 5 1

(2)Reshape函数变维

格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵B

B = reshape(A,m,n,p,?) %将矩阵A变维为m×n×p×…

B = reshape(A,[m n p?]) %同上

B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数

相同。

例1-49 矩阵变维

>> a=[1:12];

>> b=reshape(a,2,6)

b =

1 3 5 7 9 11 2 4 6 8 10 12

4.矩阵的变向 (1)矩阵旋转 函数

格式 B = rot90 (A) %将矩阵A逆时针方向旋转90°

22 第1章 矩阵及其基本运算

B = rot90 (A,k) %将矩阵A逆时针方向旋转(k×90°),k可取正负整数。

例1-50

>> A=[1 2 3;4 5 6;7 8 9]

A =

1 2 3 4 5 6 7 8 9

>> Y1=rot90(A),Y2=rot90(A,-1)

Y1 = %逆时针方向旋转 3 6 9 2 5 8 1 4 7

Y2 = %顺时针方向旋转 7 4 1 8 5 2 9 6 3

(2)矩阵的左右翻转

函数 fliplr

格式 B = fliplr(A) %将矩阵A左右翻转 (3)矩阵的上下翻转

函数 flipud

格式 B = flipud(A) %将矩阵A上下翻转 例1-51

>> A=[1 2 3;4 5 6]

A =

1 2 3 4 5 6

>> B1=fliplr(A),B2=flipud(A)

B1 =

3 2 1 6 5 4 B2 =

4 5 6 1 2 3

(4)按指定维数翻转矩阵

函数 flipdim

格式 B = flipdim(A,dim) % flipdim(A,1) = flipud(A),并且flipdim(A,2)=fliplr(A)。 例1-52

>> A=[1 2 3;4 5 6]

A =

1 2 3 4 5 6

>> B1=flipdim(A,1),B2=flipdim(A,2)

B1 =

4 5 6 1 2 3 B2 =

3 2 1 6 5 4

23 MATLAB6.0数学手册 (5)复制和平铺矩阵

函数 repmat

格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。

B = repmat(A,[m n]) %与上面一致

B = repmat(A,[m n p?]) %B由m×n×p×?个A块平铺而成

repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的

m×n矩阵。

例1-53

>> A=[1 2;5 6]

A =

1 2 5 6 >> B=repmat(A,3,4)

B =

1 2 1 2 1 2 1 2 5 6 5 6 5 6 5 6 1 2 1 2 1 2 1 2 5 6 5 6 5 6 5 6 1 2 1 2 1 2 1 2 5 6 5 6 5 6 5 6

5.矩阵的比较关系

矩阵的比较关系是针对于两个矩阵对应元素的,所以在使用关系运算时,首先应该保证两个矩阵的维数一致或其中一个矩阵为标量。关系运算是对两个矩阵的对应运算进行比较,若关系满足,则将结果矩阵中该位置元素置为1,否则置0。

MATLAB的各种比较关系运算有见表1-1。

表1-1

运算符 > = = <= 含义 大于关系 等于关系 小于或等于关系 运算符 < >= ~ = 含义 大于关系 大于或等于关系 不等于关系 例1-54

>> A=[1 2 3 4;5 6 7 8];B=[0 2 1 4;0 7 7 2]; >> C1=A==B, C2=A>=B, C3=A~=B

C1 =

0 1 0 1 0 0 1 0 C2 =

1 1 1 1 1 0 1 1 C3 =

1 0 1 0 1 1 0 1

6.矩阵元素的数据变换

对于小数构成的矩阵A来说,如果我们想对它取整数,有以下几种方法: (1)按-∞方向取整

函数 floor

格式 floor(A) %将A中元素按-∞方向取整,即取不足整数。

24 第1章 矩阵及其基本运算

(2)按+∞方向取整

函数 ceil

格式 ceil(A) %将A中元素按+∞方向取整,即取过剩整数。 (3)四舍五入取整

函数 round

格式 round (A) %将A中元素按最近的整数取整,即四舍五入取整。 (4)按离0近的方向取整

函数 fix

格式 fix (A) %将A中元素按离0近的方向取整 例1-55

>> A=-1.5+4*rand(3)

A =

2.3005 0.4439 0.3259 -0.5754 2.0652 -1.4260 0.9274 1.5484 1.7856

>> B1=floor(A),B2=ceil(A),B3=round(A),B4=fix(A)

B1 =

2 0 0 -1 2 -2 0 1 1 B2 =

3 1 1 0 3 -1 1 2 2 B3 =

2 0 0 -1 2 -1 1 2 2 B4 =

2 0 0 0 2 -1 0 1 1

(5)矩阵的有理数形式

函数 rat

格式 [n,d]=rat (A) %将A表示为两个整数矩阵相除,即A=n./d。 例1-56 对于上例中的A

>> [n,d]=rat(A)

n =

444 95 131 -225 2059 -472 166 48 1491

d =

193 214 402 391 997 331 179 31 835

(6)矩阵元素的余数

函数 rem

格式 C = rem (A, x) %表示A矩阵除以模数x后的余数。若x=0,则定义rem(A,

25


矩阵及其基本运算(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公司股权转让后原债务由原股东负责案例

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: