|
|
Variablen aus einem char bilden |
|
RUNPOINT |

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 31.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.05.2015, 14:28
Titel: Variablen aus einem char bilden
|
 |
Hallo Zusammen,
ich habe ein Problem mit der Flexibilität meines Analysecodes. Aus diesem Grund würde ich gerne meine genutzten Variablen, mit welchen ich arbeite, automatisch erstellen lassen.
Im einzelnen bedeutet das:
Ich erstelle mir ein char mit variierender Größe, z.B. 100x6, 50x6 oder 4x6.
Hier stehen nun z.B. die 4 Begriffe Eisen1, Eisen2, Eisen3 und Eisen4.
jetzt möchte ich gerne erst einmal leere Variablen mit den Bezeichnungen Eisen1, Eisen2, Eisen3 und Eisen4 erstellen.
Leider komme ich hier eben genau nicht weiter.
Könnt ihr mir hierbei behilflich sein?
Gruß,
Sebastian
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 07.05.2015, 14:32
Titel:
|
 |
dynamische variablen namen sind fast immer eine schlechte idee. es ist aufwendig sie zu erstellen und noch aufwändiger sie danach wieder zu benutzen und genau so schwer zu debuggen.
besser wäre es gleich sinnvole namen zu benutzen oder wenigestens ein struct. da kann man dann die namen mittels fieldnames wieder auslesen.
wie man structs dynamisch erstellt lässt kann man in der dokumentation nachlesen.
grüße
_________________
richtig Fragen
|
|
|
RUNPOINT |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 31.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.05.2015, 17:28
Titel:
|
 |
Also irgendwie ist das alles nicht wirklich schön zu handhaben... Vielleicht konkretisiere ich ich mein aktuelles Problem noch einmal kurz.
Ich habe einen Ordner, in dem ich bis zu 300 CSV-Dateien habe. Ich möchte nun Variablen erstellen mit dem Namen V1,V2,V3...-V300.
Ich würde das so ungefähr machen:
for i=1:Anzahl_CSV_Dateien
Vi=csvread(Superdaten(i,1:end),1,0);
end
Das funktioniert natürlich nicht...aber für das Verständnis ist diese Schleife schon ganz gut denke ich. Mit Strukturen ist es für mich einfach mega schwer im weiteren Umgang.
Gibt es da eine Lösung für mich?
Gruß,
Sebastian
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 21.05.2015, 18:16
Titel:
|
 |
Zitat: |
Mit Strukturen ist es für mich einfach mega schwer im weiteren Umgang. |
viel spass im weiteren umgang mit V1 bis V300. die kann man nämlich nicht dynamisch verarbeiten im gegensatz zu structs oder arrays bzw cell arrays.
_________________
richtig Fragen
|
|
|
RUNPOINT |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 31.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.05.2015, 08:48
Titel:
|
 |
Hmm also ich glaube ich werde in diesem Leben keun Matlabexperte mehr...
Also jetzt erhalte ich dadurch ja eine 1xn cell mit einer Matrix in jeder Einzelspalte. Es muss aber doch auch irgendwie möglich sein einzelne Variablen zu erstellen oder?
Ich bin wie unschwer zu erkennen nicht wirklich fit und bin sehr dankbar für die schnelle Hilfe!!!
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.05.2015, 09:47
Titel:
|
 |
Hallo,
Zitat: |
Es muss aber doch auch irgendwie möglich sein einzelne Variablen zu erstellen oder? |
Möglich: ja - empfehlenswert: nein.
Warum möchtest du denn unbedingt 300 Variablen haben? Wie würdest du diese weiterverarbeiten wollen?
Mit Winkows Vorschlag kannst du jederzeit mit
oder
den Inhalt einer cell herausholen, wenn dir das angenehmer erscheint.
Grüße,
Harald
|
|
|
daNnyTigA |

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 27.05.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2014b/2015a
|
 |
|
|
 |
|
Verfasst am: 27.05.2015, 21:04
Titel:
|
 |
|
 |
|
moin,
ich habe ähnliches problem. wollte eigentlich auch dynamische variablen erzeugen wie der threadersteller mit
V1 = csvread(daten_1.csv)
V2 = csvread(daten_2.csv)
..
Vi = csvread(daten_i.csv)
ich weiß syntax ist ein bisschen falsch, aber zum verständnis denke ich ok. wollte das auch mit ner schleife lösen, dass er mir automatisch V1 bis Vi als Variable erstellt mit den einträgen aus daten_1 bis daten_i (darin stehen in spalte 1 bis 3 jeweils ca. 20000 Messwerte)
habe mir jetzt aber auch erstmal ein cell array hingebastelt wie winkows geschrieben hat, sodass in V{1,1} die daten aus daten_1 und in V{1,i} die daten aus daten_i stehen.
die daten aus V{1,i} möchte ich natürlich weiterverwenden: berechnungen durchführen und dabei in V{1,1} auch zusätzlich spalten erzeugen (z.B. steht in der vierten zeile dann immer jeweils die summe aus zeile 1-3), plotten, etc. habe auch noch nicht so viel erfahrung mit matlab, aber ich wollte einfach nur nochmal fragen, ob das mit dem cell array auf jeden fall die zu wählende methode ist oder würdet ihr das noch irgendwie anders machen?
danke und beste grüße
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 27.05.2015, 21:21
Titel:
|
 |
Zitat: |
habe auch noch nicht so viel erfahrung mit matlab, aber ich wollte einfach nur nochmal fragen, ob das mit dem cell array auf jeden fall die zu wählende methode ist oder würdet ihr das noch irgendwie anders machen? |
das kommt immer drauf an was man damit machen will aber mit cell arrays, structs und normalen arrays kann man auf jeden fall besser arbeiten als mit einer variablen bei der ein laufindex im namen versteckt ist. daten und namen sollte man immer trennen.
wenn deine csv immer gleich groß sind kann es sich als besser herrausstellen eine 3d matrix zu benutzen.. will man später doch noch irgendwie einen namen zu den daten haben kann sich ein stuct hals hilfreich erweisen. das kann man so nicht generell sagen. aber ich würde soweit gehen das alles besser ist als den index im namen zu verstecken
_________________
richtig Fragen
|
|
|
daNnyTigA |

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 27.05.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2014b/2015a
|
 |
|
|
 |
|
Verfasst am: 28.05.2015, 18:24
Titel:
|
 |
|
|
|
|
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.
|
|