Wie Sie es tun, erhalten Sie nur den Spaltenindex von 1
, da Sie nur die zweite Ausgabe von find
verwenden.
Wenn Sie dies als Index in a
verwenden, wird dies als linearer Index behandelt und nur der 1., 2. und 4. Wert in a
in 0
geändert. Die lineare Indizierung wird in der Spalten-Haupt-Reihenfolge durchgeführt, so dass dies zu der Ausgabe führt, die Sie sind Sehen.
Um zu tun, was Sie zu tun versuchen, benötigen Sie beide Ausgaben von find
, um die Zeilen- und Spaltenindizes zu erhalten, und verwenden dann sub2ind
, um diese in einen linearen Index umzuwandeln, den Sie kann dann in a
indizieren.
Es ist viel einfacher, die Ausgabeversion von find
zu verwenden, die den linearen Index einfach direkt zurückgibt und verwendet.
Oder besser noch, verwenden Sie einfach die logische Indizierung
%Vor%