# Creating a "triangular" matrix

조회 수: 4(최근 30일)
Hello,
I have a 17 x 75 matrix A, and have created a copy of the same matrix (B) for making changes. I want to manipulate this matrix by adding a column of 0's in between each column now. Furthermore, I want to shift the numbers in the ODD rows to the right by 1. In the end, I will have a "triangular" matrix. I have added a picture for visual reference.
Any help would be appreciated.
##### 댓글 수: 2표시숨기기 이전 댓글 수: 1
Can it be done if there are 0's in the empty cells?

댓글을 달려면 로그인하십시오.

### 답변(1개)

Walter Roberson 9 Feb 2021
B = reshape([A;zeros(size(A))], size(A, 1),[]);
B(1:2:end, 2:end) = B(1:2:end, 1:end-1) ;
##### 댓글 수: 2표시숨기기 이전 댓글 수: 1
Walter Roberson 9 Feb 2021
Oh, right, I forgot to account for that.
B = reshape([A;zeros(size(A))], size(A, 1),[]);
B(1:2:end, 2:end) = B(1:2:end, 1:end-1);
B(1:2:end, 1) = 0;

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by