Matlab die Indizierung in 2D-array mit

Ich habe eine 2D matrix, sagen wir M=zeros(10,10);

Habe ich eine andere Spalte der matrix, V=[1;2;3;4;5;6;5;4;3;2];

Ich würde gerne in der Lage sein zu set M(i,j) = 1 für alle j >= V(i)

Ich weiß kann ich dies in eine Schleife

for i=1:10
   M(i,V(i):10) = 1;
end

aber es scheint, dass es möglich wäre die Verwendung einer form von Matlab-Indizierung zu vermeiden, die mit einer Schleife. Zum Beispiel so etwas wie :

M(:,V:10)=1;

oder

M(:,V(:):10)=1;

aber weder von diesen produziert das erwartete Ergebnis.

Gibt es einige syntaktische Zucker ich verwenden können, um dies zu erreichen, oder sollte ich wieder Schleife?

InformationsquelleAutor Dave Durbin | 2012-06-13
Schreibe einen Kommentar