有两三天没更新了,之前就是在CSDN官方的写作界面进行编辑,今天开始用word,还能帮助自己熟悉word。
上次说到了几个特殊矩阵的创建,突然想起来,MATLAB的全称就是“Matrix&laboratory”,是矩阵实验室的意思,他就是以强大的处理矩阵的能力而闻名,所及矩阵的创建就介绍了好多篇了,今天是最后一篇
1.提取矩阵的对角线元素
首先我们要说明,矩阵的主对角线的含义就是从左上角开始的第一个元素往“右下方”去,而不是右下角,因为未必是方阵,我们称为第0条对角线,而主对角线往上的部分,我们叫做第1、第2对角线,而往下,就是第-1第-2条对角线,以此类推。
提取对角线元素很简单
例子,A=[1 2 3;4 5 6 ];
D=diag(A)
运行结果如下
D= 1
5
是的,diag就是提取对角线元素的公式,这个公式可以拓展为diag(A,k),k就是上边说到的,第k行元素
2.构造对角矩阵
直接看程序
diag([1 2 -1 4])
运行结果如下:
ans=
1 0 0 0
0 2 0 0
0 0 -1 0
0 0 0 4
没错,里边放个中括号,放上你想要的对角线元素,就能创建一个对角矩阵了
对角矩阵应用:
例题:建立一个5*5的矩阵,要求将第一行乘以一,第二行乘以二,以此类推
咱直接看程序
A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25]
d=diag(1:5)
B=d*A
d=
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
B=
1 2 3 4 5
12 14 16 18 20
33 36 39 42 45
64 68 72 76 80
105 110 115 120 125
3.上下三角阵
triu(A,k)代表保留第k条对角线及以上,其余值为0
tril(A,k)代表保留第k条对角线及以下,其余值为0