介绍如何使用MATLAB的diag函数进行多种对角线有关操作。
工具/原料
MATLAB 2016a
方法/步骤
1
首先,对于一个给定的向量v,使用diag(v)可以根据该向量构造对角矩阵,如图。
2
使用diag(v,k)则可以把向量放置在第k条对角线上。k为正数表示右上,负数表示左下。
3
如果对于一个矩阵A使用diag(A),则会进行“相反”的操作:返回对角线元素组成的向量。
4
使用diag(矩阵,k)以获得第k条对角线上的元素组成的向量。
5
综上所述,如果我们要根据对角线元素生成矩阵,只需要嵌套两个diag函数即可。如图,diag(diag(C))
6
如果我们要求矩阵的迹,可以使用trace(C),也可以使用sum(diag(C))
7
如果我们要根据多个矩阵生成准对角矩阵,应该使用blkdiag(矩阵1,矩阵2...)
注意事项
如果要用diag生成矩阵,则第一个参数必须是向量,如果要获取对角线,则第一个参数必须是二维矩阵。
上一篇:软装搭配的4个技巧