|
|
FOR SCHLEIFE Daten in Workspace speichern |
|
student944 |

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 28.07.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.08.2014, 20:26
Titel: FOR SCHLEIFE Daten in Workspace speichern
|
 |
Hallo zusammen,
ich möchte mein Programmcode mit einer For-Schleife kürzen.
Mit U wird ein Berechnungsparameter im Simulinkmodell verändert.
sim(Modell) startet mein Modell, welches mit simout eine Matrix in meinem Workspace speichert. Ich nenne diese eine Spalte die ich im Workspace gespeichert haben will zb Spalte1. Somit wird diese beim nächsten Programm durchlauf nicht überschrieben.
Bisher:
Nun schreibe ich eine For-Schleife.
Weiss jemand wie ich die unterschiedlichen Spalten im Workspace abspeichern kann ohne dass die beim erneuten Simulationsdurchlauf überschrieben werden? Ist mein Ansatz für die For-Schleife richtig?
Danke schonmal im voraus!
[EDITED, Jan, Bitte Code-Umgebung benutzen - Danke!]
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 23.08.2014, 22:15
Titel: Re: FOR SCHLEIFE Daten in Workspace speichern
|
 |
Hallo student944,
Gruß, Jan
|
|
|
student944 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 28.07.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.08.2014, 23:35
Titel:
|
 |
Hallo Jan, danke für deine Antwort.
verstehe ich das richtig?
ich erstelle zuerst mit dem Result eine Zeile mit 3 Nullern --> [0 0 0]
nach dem ersten Durchlauf füllt er die erste Spalte mit den Werten aus dem simout. Nach dem zweiten Durchlauf die zweite Spalte usw...
simout ist bei mir eine 1x1 double timeseries. In der erste Spalte steht die Zeit. In der Zweiten die relevanten Werte.
Mit simout.Data nehme ich mir nur die relevanten Werte.
Dann sollte am Ende eine Matrix dabei rauskommen mit 3 Spalten und dementsprechend vielen Zeilen (je nach dem wieviele Werte bei im simout.Data stehen)?
funktioniert bei mir irgendwie nicht.
also dies ist mein eigentlicher code:
|
|
|
student944 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 28.07.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.08.2014, 23:38
Titel:
|
 |
Error in VDA_Kennung_loop (line 26)
Y(:,i)=Daempferkraft1.Data;
|
|
|
felix |

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 16.01.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2014a
|
 |
|
|
 |
|
Verfasst am: 24.08.2014, 12:01
Titel:
|
 |
Hallo Student,
Hier eine Möglichkeit:
Schöne Grüße,
Felix
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 24.08.2014, 12:20
Titel:
|
 |
Hallo,
eval ist sehr fehleranfällig und schwierig zu debuggen (siehe diverse andere Threads dazu), ich würde es also nicht verwenden. Stattdessen beispielsweise als Cell Array:
Zum Kommentar von gestern, 23:38: der entscheidende Teil, nämlich die Fehlermeldung an sich, fehlt leider.
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 24.08.2014, 13:32
Titel:
|
 |
Hallo student944,
Wie Harald schon sagte: Die eigentliche Fehelrmeldung wäre wichtig um herauszufinden, wo das Problem ist.
Zitat: |
ich erstelle zuerst mit dem Result eine Zeile mit 3 Nullern --> [0 0 0]
nach dem ersten Durchlauf füllt er die erste Spalte mit den Werten aus dem simout. Nach dem zweiten Durchlauf die zweite Spalte usw... |
Stimmt. Noch einen Tick besser wäre es, statt ZEROS(1,n) gleich die Ausgabe mit der richtigen Anzahl von Zeilen zu definieren. Da die aber eventuell noch nicht bekannt ist, ist die richtige Anzahl von Spalten schon mal ein fairer Ansatz für die "pre-allocation".
Gruß, Jan
|
|
|
student944 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 28.07.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.08.2014, 16:43
Titel:
|
 |
Hallo also das mit "eval..." hat bei mir super funktioniert. vielen dank dafür.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 25.08.2014, 16:49
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.
|
|