Ich habe große Dateien mit Strömen und Spannungen. Ich vermesse mehrmals meine Geräte, aber die Anzahl der Messungen variiert. Zuerst frage ich den Benutzer, wie viele Messrunden es gibt, danach mache ich eine Schleife, um die Ströme aus den Daten zu extrahieren. Meine aktuellen Variablen sind Arrays von 200x3000 Doubles. Ich nenne sie zum Beispiel Isd_round1, Isd_round2, etc ...Matlab: Variable mit unterschiedlichen Index in Schleife verwenden
for i=1:rounds_number
[filename,pathname]=uigetfile('*.mat', 'Select matlab data');
pathname = cd(pathname);
pathname = strcat(pathname, '\', filename);
Val=load(pathname);
assignin('base', ['Isd1_round' num2str(i)], Val.Isd1)
...etc...
end
Danach möchte ich die Ströme planen und zu vergleichen, aber ich kann nicht scheinen, einen Weg zu finden, um die Variablen aufrufen, indem Sie den Index zu ändern. Ich möchte so etwas wie dies tun:
figure
hold on
for j=1:rounds_number
plot(V, Isd_roundj)
end
Und ich weiß nicht, wie die Variablen aufrufen, indem Sie den Index in der Schleife zu ändern.
Ich könnte auch ein Array aller Ströme tun, aber da jeder Strom bereits eine Anordnung von (n, m) verdoppelt, wie kann ich eine Variable "Strom" erstellen, wo ich "Isd_round1" zuweisen würde?
Mögliche Duplikat [Name Variable basierend auf Zeichenfolge MATLAB] (http://stackoverflow.com/questions/23017859/name-variable-based-on-string -matlab) – Suever
Tun Sie das nicht. Verwenden Sie ein Zellen-Array, um Ihre Daten zu speichern, anstatt "assignin" zu verwenden. – Suever
Ich habe am Ende der Post gefragt, wie ich das machen soll. Da jeder Strom bereits ein Array von 200x3000 verdoppelt, wie sollte ich ein Array von Arrays erstellen? – Blackcal