text: Variable Zuweisung (for-Schleife) - Mein MATLAB Forum - goMatlab.de
  Variable Zuweisung (for-Schleife)
  Anmeldedatum: 05.07.21
  Verfasst am: 05.07.2021, 17:35 Titel: Variable Zuweisung (for-Schleife)
  Hallo alle zusammen, bei mir hat sich während des Programmierens eine kleine Frage ergeben. Ich habe eine Vielzahl an verschiedenen Simulationsdaten aus csv-Dateien eingelesen. So existieren nun beispielsweise die Vektore R1, R2, R3 usw. (bis R100). Diese stellen die Argumente für geplante 100 Curvefits dar. Da die Vektoren für R1/R2/R3 etc. alle unterscheidlich lang sind, kann ich die einzelnen Datenpunkte leider nicht in einem großen Array ablegen. Stattdessen habe ich sie alle unter einzelnen, individuell nummerierten Variablenbezeichnungen eingelesen.
  Nun möchte ich das umfangreiche Curvefit-Verfahren (Function curvefit steht und läuft) gern automatisieren. Das Problem hierbei ist, dass ich R1, R2 usw. von der Laufvariable abhängig aus dem darüber liegenden Programmteil einlesen müsste. Da es sich um einzelne Vektoren und keine große Matrix handelt, kann ich bei der Zuweisung natürlich nicht mit Spalten- oder Zeilenangaben arbeiten.
  Hier ein kleiner Ausschnitt aus meinem Programm (z läuft erst einmal nur bis drei, weil ich zu Beginn ein übersichtliches Probebeispiel programmieren möchte):
  for z=1:1:3
  % f1 - Ergebnisfunktion, (Rz/C_l) - geg. Datenpunkte
  [C_l(:,z) f1] = curvefit(Rz, C_l);
  % erzeugt fz (f1, f2, f3) für eine schnelle Zuweisung der Funktionsgleichungen
  assignin('base',['f' num2str(z)], f1);
  Für z=1 soll nun automatisch Rz=R1 sein, für z=2 dann Rz=R2 usw. Ist das prinzipiell möglich?
  Im Prinzip handelt es sich also um einen umgekehrten assignin-Befehl. Ich möchte einer neuen Variablen den Wert von -['R' num2str(z)]- aus dem darüber liegenden Programmteil zuweisen. Leider handelt es sich bei dieser Zuweisung (['R' num2str(z)]) aber um ein String, dem nicht der gleichnamige double-Wert zugeordnet wird.
  Schon einmal vielen Dank für eure Anregungen und Ideen.
  Verfasst am: 06.07.2021, 20:48 Titel:
  dynamische Variablennamen sind sehr mühsam. Du kannst das zwar mit eval hinbekommen, ich würde stattdessen aber zur Verwendung von Cell Arrays raten. Zuweisung und Abfrage z.B. mit