Matlab - einfügen/Anhängen, Zeilen in matrix iterativ
Wie in matlab ich kann interaktiv append-matrix mit den Zeilen?
Zum Beispiel können sagen, ich habe leere matrix:
m = [];
und wenn ich die for-Schleife, bekomme ich die Zeilen, die ich einfügen muss in die matrix.
Beispiel:
for i=1:5
row = v - x; % for example getting 1 2 3
% m.append(row)?
end
also nach dem einfügen sollte es so Aussehen:
m = [
1 2 3
3 2 1
1 2 3
4 3 2
1 1 1
]
In den meisten Programmiersprachen können Sie einfach die append-Zeilen in ein array/matrix. Aber ich finde es schwer, es zu tun in matlab.
Du musst angemeldet sein, um einen Kommentar abzugeben.
m = [m ; new_row];
in der Schleife. Wenn Sie wissen, die Zeile "total" - Nummer schon, definierenm=zeros(row_num,column_num);
, dann in der Schleifem(i,:) = new_row;
m=[m,x]
undm(end+1,:)=x
beim anfügen von s-Spalte. Siehe die Antwort. Für Zeilen, ist der Unterschied vielleicht nicht so groß, ich habe Sie nicht verglichen, aber es ist sicherlich empfehlenswert, ein Anhängen von Spalten und nicht als Zeilen, wenn preallocating eine matrix der richtigen Größe ist nicht möglich. Spalten Anhängen kann getan werden, ohne die Daten zu kopieren in vielen Fällen.Verwenden Sie einfach
Berücksichtigen, dass die Erweiterung eine matrix ist langsam, da es sich um Speicher-Neuzuweisung. Es ist besser, preallocate die matrix, um die volle Größe
und dann füllen Sie die Zeile, die Werte in jeder iteration:
Auch, es ist besser nicht zu verwenden
i
als Variablennamen, da es standardmäßig stellt die imaginäre Einheit (das ist, warum ich bin mitii
hier als iteration index).Erstellen und fügen Sie einen Wert in der matrix, Sie können dies tun, und kann eine komplette matrix wie deine.
Hier Zeile = 5 und dann Spalte = 3 und somit zwei for-Schleife.
Legen Sie den Wert in
M(i, j)
Ort, und es fügt den Wert in der matrixNachweisbar, wenn Sie hier die gleichen Werte gegeben, die Ausgabe wird werden wie das Ihre,