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!