MATLAB基础学习之矩阵变换

MATLAB基础学习之矩阵变换矩阵变换:(1) 对角阵对角矩阵:只有对角线上有非零元素的矩阵。数量矩阵:对角线上的元素相等的对角矩阵。单位矩阵:对角线上的元素都为1的对角矩阵。① 提取矩阵的对角线元素diag(A):提取矩阵A主对角线元素,产生一个列向量。

大家好,欢迎来到IT知识分享网。

矩阵变换:

(1) 对角阵

对角矩阵:只有对角线上有非零元素的矩阵。

数量矩阵:对角线上的元素相等的对角矩阵。

单位矩阵:对角线上的元素都为1的对角矩阵。

① 提取矩阵的对角线元素

diag(A):提取矩阵A主对角线元素,产生一个列向量。

diag(A,k):提取矩阵A第k对角线元素,产生一个列向量。

MATLAB基础学习之矩阵变换

对角线的解释

例如:

命令行窗口输入如下:

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

按下回车键,显示结果:(下面的命令输入和显示操作类似)

A =

1 0 0 0 0

0 3 0 0 0

0 0 2 0 0

0 0 0 5 0

0 0 0 0 6

>> diag(A)

ans =

1

3

2

5

6

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

A =

1 2 3 4 5

2 3 4 5 6

3 4 5 6 7

4 5 6 7 8

5 6 7 8 9

>> diag(A)

ans =

1

3

5

7

9

>> diag(A,2)

ans =

3

5

7

>> diag(A,-2)

ans =

3

5

7

② diag(V):以向量V为主对角线元素,产生对角矩阵。

diag(V,k):以向量V为第k条对角线元素,产生对角矩阵。

例如:

>> n

n =

1 2 3 4 5

>> diag(n)

ans =

1 0 0 0 0

0 2 0 0 0

0 0 3 0 0

0 0 0 4 0

0 0 0 0 5

>> diag(n,1)

ans =

0 1 0 0 0 0

0 0 2 0 0 0

0 0 0 3 0 0

0 0 0 0 4 0

0 0 0 0 0 5

0 0 0 0 0 0

>> diag(n,-1)

ans =

0 0 0 0 0 0

1 0 0 0 0 0

0 2 0 0 0 0

0 0 3 0 0 0

0 0 0 4 0 0

0 0 0 0 5 0

例:先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,……,第五行乘以5。

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

A =

7 0 1 0 5

3 5 7 4 1

4 0 3 0 2

1 1 9 2 3

1 8 5 2 9

>> D=diag(1:5);

>> D*A

ans =

7 0 1 0 5

6 10 14 8 2

12 0 9 0 6

4 4 36 8 12

5 40 25 10 45

(2) 三角阵

上三角阵:矩阵的对角线以下的元素全为零的矩阵。

下三角阵:对角线以上的元素全为零的矩阵。

① 上三角阵:triu函数

triu(A)提取矩阵A的主对角线以及以上的元素。

triu(A,k)提取矩阵A的第k条对角线以及以上的元素。

例如:

>> triu(ones(4),-1)

ans =

1 1 1 1

1 1 1 1

0 1 1 1

0 0 1 1

② 下三角矩阵

在MATLAB中,提取矩阵A的下三角矩阵的函数是tril,其用法与triu函数完全相同。

矩阵的转置:

转置运算符是小数点后面接单引号(.’)。

共轭转置,其运算符是单引号(’),它在转置的基础上还要取每个数的复共轭。

A =

1.0000 + 0.0000i 3.0000 + 0.0000i

3.0000 + 4.0000i 1.0000 – 2.0000i

>> A.’

ans =

1.0000 + 0.0000i 3.0000 + 4.0000i

3.0000 + 0.0000i 1.0000 – 2.0000i

>> A’

ans =

1.0000 + 0.0000i 3.0000 – 4.0000i

3.0000 + 0.0000i 1.0000 + 2.0000i

注:对于矩阵元素均为实数的情况下,A’和A.’两者所得的结果一样。

rot90(A,k):将矩阵A逆时针方向旋转90°的k倍,当k为1时可省略。

例如:

>> A=[1 3 2;-3 2 1;4 1 2]

A =

1 3 2

-3 2 1

4 1 2

>> rot90(A)

ans =

2 1 2

3 2 1

1 -3 4

>> rot90(A,2)

ans =

2 1 4

1 2 -3

2 3 1

矩阵的翻转:

fliplr(A):对矩阵A实施左右翻转;

flipud(A):对矩阵A实施上下翻转。

例:验证魔方阵的主对角线、副对角线元素之和相等。

>> A

A =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

>> D1=diag(A);

>> sum(D1)

ans =

65

>> B=flipud(A);

>> D2=diag(B);

>> sum(D2)

ans =

65

MATLAB基础学习之矩阵变换

MATLAB软件

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/87724.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信