How to get the diagonal and a subdiagonal in the same matrix?
11 次查看(过去 30 天)
显示 更早的评论
I'm trying to get matrix that only has the diagonal and the first subdiagonal values only. Say I have a 4x4 matrix
A=[ 1 2 3 4;
5 6 7 8;
9 10 11 12;
13 14 15 16]
I want to get a matrix
B=[1 2 0 0;
0 6 7 0;
0 0 11 12;
0 0 0 16].
I know using
diag(diag(A))
will give me a 4x4 matrix with the diagonal but the part I'm hung up on is getting the subdiagonal in the form of a 4x4 matrix, I used
diag(diag(A,1))
and it gave me a 3x3 matrix of the subdiagonal. To conclude, is there a way of getting a subdiagonal in the original matrix dimensions?
0 个评论
采纳的回答
Mohammad Abouali
2014-10-15
A=[ 1 2 3 4;
5 6 7 8;
9 10 11 12;
13 14 15 16]
B=triu(A)-triu(A,2)
B =
1 2 0 0
0 6 7 0
0 0 11 12
0 0 0 16
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!