Verfasst am: 24.03.2011, 14:02
Titel: Daten einer Cell in dynamische Variable schreiben
Hallo,
ich glaube ich habe schon alles ausprobiert, komm aber leider nicht weiter.
Ich lese mit meinem Code verschiedene Dateien ein, deren Name in einer Cell gespeichert wird. Die einzelnen Dateien bearbeite ich in einer for schleife und benenne sie mit assignin um.
Nun würde ich es gerne so machen, dass der ursprüngliche Dateiname nach der Bearbeitung der Variablenname ist. Ich hoffe ich konnte mein Problem gut erklären ;-).
danke für die schnelle Antwort. Leider hat das nicht ganz funktioniert. Bin aber eh davon abgekommen. Da ich diese Daten anschließend gerne plotten möchte. Da wäre es doch nicht schlecht sie mit datei1 datei2 etc. zu benennen.
Ich würde nun noch gerne die Daten in einer Schleife plotten. Dazu muss ich auf jede Variable allgmein zugreifen. Das heißt ungefähr so:
Bei mir denke ich ist jedoch die Syntax falsch um nacheinander auf datei1 datei2 etc zuzugreifen. Wie muss ich das anstellen? Und wie kann ich jeden plot in der Schleife eine andere Formatierung geben?
So sollte das sein.
Jedoch wollte ich die erste Datei als Referenz zu jeweils den übrigen Dateien machen. Das heißt jede datei, welche ja ein Zeilenvektor mit 50 Spalten ist durch die 50 Spalten der datei1 teilen. Hab es so weiter gebastelt:
Jedoch ist kurve nun auch ein struct mit m Elementen, aber in jedem Element steht wiederum nur ein Wert und nicht ein Zeilenvektor mit 50 Werten. Daher kommen beim plotten nur einzelne Punkte raus ;-).
Wie stell ich das am besten an? Und wie kann ich jedem Plot innerhalb der Schleife automatisch eine andere Formatierung zuweisen?
Mfg
Torben
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 25.03.2011, 13:09
Titel:
ok, die zweite Frage ist schon beantwortet.
In einer Schleife unterschiedlich formatieren (farbe etc.) funktionert ganz gut mit hold all.
die "erste" Frage ist das Problem mit der Referenzdatei.
Was ist denn das "Problem mit der Referenzdatei"? Ich verstehe es nach dem Durchlesen dieses Threads immer noch nicht.
Vielleicht meinst Du den Ausdruck "datei(m).Werte/referenz"? Brauchst Du vielleicht den "./" Operator, da "referenz" ein Vektor ist?
Gruß, Jan
Torben
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 28.03.2011, 09:28
Titel:
Hallo Jan,
habe übers Wochenende nochmal den Code überarbeitet. Dennoch bleibt mein Problem bestehen:
Ich lese eine Datei ein mit Namen "referenz" welche den Wert 1x50 double hat. Daneben habe ich noch ein 1x3 struct namens "datei". Nun möchte ich die 3 vektoren des structs je durch "referenz" teilen und wieder in einer struct-variablen "kurve" abspeichern, damit ich diese dann ploten kann.
habe es bisher so probiert:
kurve(m).Werte = datei(m).Werte/referenz
oder auch so
kurve = datei./referenz
etc.
Bisher hat nichts funktioniert. Die Fehlermeldung lautet:
??? Undefined function or method 'rdivide'
for input arguments of type 'struct'.
Error in ==> Datenverarbeitung2703 at 166
kurve(m).Werte = datei(1,m)./referenz ;
jetzt läufts. Es war wie Jan bereits gemeint hat, dass ich den Punktoperator brauche. Hab ihn aber falsch eingesetzt.
Danke Peter, durch dein Beispiel hab ich jetzt meinen Fehler gefunden:
So läufts:
kurve(m).Werte = datei(m).Werte./referenz % hier zweimal Punkt-Operator
plot(kurve(m).Werte,farbe{m,1});
Danke Torben
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.