2017-04-26 1 views
0

Ich habe eine 150 X 4-Matrix und ich möchte durch die Matrixlänge durchlaufen und drucken Sie jede Zeile aus.Drucken/Speichern jeder Zeile in Matrix - MATLAB

Dies ist mein Versuch Code:

X = xlsread('filename.csv'); 

J = X(:, [2:5]) % extracting rows 2 to 5 into a matrix 

for i= 0:length(J) 
Y = J(i,:); %loop through each row and store it in Y 
end; 

Aber ich bekomme immer folgende Fehlermeldung:

Subscript indices must either be real positive integers or logicals. 

Ist mein Ansatz falsch? Was verpasse ich hier? Ich möchte einfach jede Zeile durchlaufen und in einer Variablen speichern.

Antwort

1

In MATLAB die Indizes bei 1 und nicht bei 0 beginnen, so sollten Sie tun:

for i= 1:length(J) 
    Y = J(i,:); %loop through each row and store it in Y 
end; 

Zusätzlich in Bezug auf die folgende Zeile, die Sie schrieb:

J = X(:, [2:5]) % extracting rows 2 to 5 into a matrix 

Beachten Sie, dass Sie tatsächlich gespeichert in J Spalten 2,3,4,5, von X und nicht Zeilen 2,3,4,5.

+0

Ja, das war meine Absicht, ich musste die Spalten 2,3,4,5 in J speichern und dann jede Zeile in J durchlaufen. Was Sie über die Indizes erwähnten, scheint zu funktionieren, dummer Fehler von meinem Ende, danke! – 221b

+0

Gern geschehen :) –