Real quick one, passing through a matrix backwards or just flip it.

4 Ansichten (letzte 30 Tage)
During a for or while loop I would like to start at the back of the matrix and cycle to the beginning. Or do I just flip it using a(end:-1:1,:) or flipud(a). I understand flipud but can you briefly explain the syntax for a(end:-1:1,:).
Thanks AD

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 27 Okt. 2011
a=rand(8,9);
b=a(5:end,5:end)
"end" here is the length of that dimension.
1:end is the same as [1,2,3,...,end]
end:-1:1 is the opposite. It is the same as [end, end-1, end-2, end-3, ... 1].

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 27 Okt. 2011
Cycling the loop backwards
for K=size(A,1):-1:1
can be quite efficient, and seldom requires more memory than working forwards (indeed, moving forwards can be less efficient if you have not preallocated a matrix.)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by