Create a loop for this matrix
조회 수: 1 (최근 30일)
이전 댓글 표시
1 -1 0 0 0 ...
-1 2 -1 0 0 ...
0 -1 2 -1 0 ...
0 0 -1 2 -1 ...
0 0 0 -1 2 ...
As you can see, this can go on forever, I and would like to find a way to write loop for a dynamic matrix where this just keeps going unitl a certain number 'N'
댓글 수: 4
David Fletcher
2021년 6월 4일
편집: David Fletcher
2021년 6월 4일
I think they are asking what the end of the final row should be - I would guess [zeros(N-2,1) -1 1]
채택된 답변
David Fletcher
2021년 6월 4일
편집: David Fletcher
2021년 6월 4일
Just writing something with a loop on the fly (and I stress this is neither robust, nor particularly efficient), but it may be something you can work on in the absence of better answers
clear;
N=10;
base=[1 -1 0;-1 2 -1;0 -1 1];
spliceL=0;
spliceR=N-3;
reform(1,:)=[zeros(1,spliceL) base(1,:) zeros(1,spliceR)];
for iter=2:N-1
reform(iter,:)=[zeros(1,spliceL) base(2,:) zeros(1,spliceR)];
spliceL=spliceL+1;
spliceR=spliceR-1;
end
reform(end+1,:)=[zeros(1,spliceL) base(3,end-1:end) zeros(1,spliceR-1)];
reform
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!