# Create a loop for this matrix

1 Ansicht (letzte 30 Tage)
Rayden Plasma am 4 Jun. 2021
Kommentiert: Rayden Plasma am 4 Jun. 2021
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 Kommentare2 ältere Kommentare anzeigen2 ältere Kommentare ausblenden
David Fletcher am 4 Jun. 2021
Bearbeitet: David Fletcher am 4 Jun. 2021
I think they are asking what the end of the final row should be - I would guess [zeros(N-2,1) -1 1]
Rayden Plasma am 4 Jun. 2021
correct

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

David Fletcher am 4 Jun. 2021
Bearbeitet: David Fletcher am 4 Jun. 2021
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
reform = 10×10
1 -1 0 0 0 0 0 0 0 0 -1 2 -1 0 0 0 0 0 0 0 0 -1 2 -1 0 0 0 0 0 0 0 0 -1 2 -1 0 0 0 0 0 0 0 0 -1 2 -1 0 0 0 0 0 0 0 0 -1 2 -1 0 0 0 0 0 0 0 0 -1 2 -1 0 0 0 0 0 0 0 0 -1 2 -1 0 0 0 0 0 0 0 0 -1 2 -1 0 0 0 0 0 0 0 0 -1 1
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Rayden Plasma am 4 Jun. 2021
Thank you very much!!!

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by