Verfasst am: 12.03.2020, 23:31
Titel: Matlab - ein Array in einer Schleife füllen
Ich habe mein Matlab Programm etwas ausgeweitet und lasse x viele Daten durch das Programm analysieren. Bei jeden Durchlauf werden die Variabel-Namen hochgezählt, wie beispielsweise der Vergleich von jeder Kurve zur ersten Kurven (Vergleich_02, Vergleich_03, …). Am Ende würde ich gerne eine Tabelle erstellen lassen, wo alle Vergleichswerte und deren Ergebnis drin steht, mag aber ungern eine Tabelle für 10 Vergleiche verfertigen und mit if Schleifen einfügen.
Aktuell hänge ich eine gute und schöne Lösung zu finden, aber vielleicht stehe ich auch mal wieder nur auf dem Schlauch...
Ich hoffe ihr habt mein Problem verstanden und habt eine Idee um das Problem zu lösen
hier drunter folgt der Code... wie gesagt ich habe noch keine Lösung zum Ausfüllen des Arrays gefunden, bin aber dankbar über jeden Tipp oder Hilfe. Als Ausgabe hätte ich einfach eine nette Tabelle, wo links Vergleich steht und rechts die Werte dazu
Code:
%mehrere Analyse miteinander auf Symmetrie vergleichen
if j > 1 diff = CoM_Analyse_01 - eval(sprintf('CoM_Analyse_%02d',j));
eval(sprintf('s_%02d = diff',j));
dif_rms = rms(eval(sprintf('s_%02d',j)));
end
durchnumerierte Variablennamen sind nie eine gute Idee. Man hängt damit bei eval fest und muss in allen weiteren Schritten mit eval arbeiten. Besser wäre ein Cell Array. Dann könntest du die Cells problemlos untereinanderhängen.
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
JP2020
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 13.03.2020, 21:02
Titel:
Herzlichen Dank für die schnelle Antwort.
Ich verstehe was du meinst, nur leider weiß ich nicht genau wie ich das umsetzten soll. Mein Problem sieht wie folgt aus:
Ich habe ein Programm das x viele Datensätze einliest (das x wird immer vorher neu festgelegt). Danach analysiert es jeden Datensatz für sich und speichert eine bestimme Variabel unter den Namen Analyse_0x ab. Dieser Wert wird dann immer mit der Analyse_01 vergliechen und das Ergebnis ist dann Vergleich_0x. Wenn alle x Datensätze durchgelaufen sind, möchte ich gerne eine Tabelle haben, die mir das Ergebnis aller x Vergleiche zeigt.
indem du statt des Variablennamen CoM_Analyse_k den Cell-Index CoM_Analyse{k} verwendest.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.