|
|
dynamischer Variablenname |
|
TomMil |

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 12.04.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 15:05
Titel: dynamischer Variablenname
|
 |
Hallo,
wiedermal nach längerem recherchieren, fand ich keine Lösung zur folgenden Frage:
ich habe im Workspace einige Datenfiles, genannt etwa
data1
data2
data3
Jetzt will ich in einer Schleife die Daten einzeln behandeln
also etwa
for i = 1 : 3
result = calculateSomething(????data+i???)
end
und darin möchte ich die Daten aufrufen können.
Ich habe es zB mit ['data' num2str(i)] versucht, klappte aber nicht.
Gruß, Tom
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 15:17
Titel:
|
 |
wenn du so lange recherchiert hast bist du bestimmt auf die unzähligen foren einträge gestoßen die sich damit beschäftigen das so eine, wie von dir angegebene, variablen benennung sehr schlecht ist. ein index gehört nicht in den variablen namen sondern sollte als index verwendet werden. die einfachste möglichkeit hierbei sind cell arrays falls es sich bei data um normale matritzen handelt. alternativ gehen auch structs. falls du die variablen namen so von einem anderen nutzer zugespielt bekommst würde ich mich bei diesem beschweren gehen.
falls du daran nichts mehr ändern kannst würde eine lösung mit
möglich sein. davon ist aber abzuraten da so etwas nur schwer zu debuggen ist.
_________________
richtig Fragen
|
|
|
TomMil |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 12.04.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 15:21
Titel:
|
 |
wie sollten denn die daten besser benannt werden?
War wäre der bessere Alternative dann zu eval?
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 15:27
Titel:
|
 |
Winkow hat Folgendes geschrieben: |
die einfachste möglichkeit hierbei sind cell arrays |
_________________
richtig Fragen
|
|
|
TomMil |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 12.04.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 16:17
Titel:
|
 |
Aha, naja da werde ich noch weiter recherchieren müssen.
Eine andere Frage ich habe hier das Buch Matlab kompakt 3. Auflage bezogen auf Matlab2008a, verwende aber Matlab2013b.
Ich denke die grundlegenden Dinge werden sich ja nicht geändert haben, oder ist es total abzuraten das alte Buch überhaupt in die Hand zu nehmen?
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 16:19
Titel:
|
 |
nein das geht schon. ich würde dir aber empfehlen die doc zu lesen von matlab. grade das getting startet ist sehr hilfreich. 95% der sachen werden immernoch gehen. beim rest must du dir dann die doc angucken zu den verwendeten befehlen.
_________________
richtig Fragen
|
|
|
TomMil |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 12.04.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 16:23
Titel:
|
 |
|
|
BlackDread |

Forum-Century
|
 |
Beiträge: 212
|
 |
|
 |
Anmeldedatum: 11.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2015a
|
 |
|
|
 |
|
Verfasst am: 25.04.2014, 09:34
Titel:
|
 |
Hallo TomMil,
die Aussage von Winkow war ja nicht, dass es nicht funktioniert mit den Daten zu Arbeiten, sondern nur, dass es sinnvoll ist, die Daten anderst zu organisieren. D.h. wenn du die Datensätze selbst erstellst das direkt in Cell-Arrays zu schreiben.
Wenn du die Datensätze allerdings von "extern" bekommst dann musst du entweder denjenigen antriggern, das "ordentlicher" zu machen oder auf eval zurückgreifen.
Natürlich kannst du auch in den Ausdruck eine Berechnung reinpacken, macht es aber noch unübersichtlicher von daher, zunächst Daten neu/sinnvoll strukturieren und dann damit weiterarbeiten.
Grüße
Chris
_________________
--> Kapieren statt Kopieren <---
____________________________________________________
FAQs sind dazu da, FAQs zu beantworten
Richtig fragen!
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 25.04.2014, 20:47
Titel:
|
 |
Hallo,
wenn man EVAL nun wirklich unbedingt braucht, zieht man am besten so viel heraus wie möglich. So wird aus BlackDreads Beispiel:
Trotzdem bliebt es eine Standard-Regel unbedingt zu vermeiden Indices in den Namen der Variablen zu verstecken. Namen sind Namen, Indices sind Indices.
Gruß, Jan
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|