我尝试使用matlab在matlab中找到上下对角矩阵
这是想法
如果我有矩阵4x4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
主对角线是
1 6 11 16
但第二个上对角线是
2 7 12
,下面是
5 10 15
所以有triu
和tril
但要写它或使用matlab中的任何其他函数来找到矩阵中的这个上下对角线。
答案 0 :(得分:2)
只需使用diag
,例如
diag(A,0) % main diagonal, also diag(A)
diag(A,-1) % lower diagonal
diag(A,1) % upper ...
答案 1 :(得分:1)
您可以使用简单的线性索引来获取矩阵的任何对角线。您需要知道的是第一个元素的线性索引和矩阵中的行数:
>> [m n] = size(A);
获取矩阵的主对角线(第一个元素索引为1):
>> A( 1 : ( m+1 ) : end )
获得较低的对角线(第一个索引为2):
>> A( 2 : ( m+1 ) : end )
获取上对角线(第一个索引为m+1
):
>> A( (m+1) : (m+1) : end )