|
mana |
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 08.06.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.09.2017, 13:48
Titel: Laufvariable
|
|
Hallo miteinander,
ich habe folgendes Problem. Ich möchte ein Simscapemodell ausführen, welches über die Simulationszeit umparametriert werden soll.
Es ist kein Problem die verwendeten Module mit einem Vektor zu parametrieren. Das Problem allerdings ist, dass ich eine Laufvariable bräuchte die sich mit jedem Simulationsschritt um 1 erhöht, um somit meine Parametrierung in Abhängigkeit der Laufvariablen durchzuführen (z.B. Laufvariable von Simulink = i ... Parametrierung entsprechend R(i)).
Welche Möglichkeit gibt mir Simulink, um eine solche Laufvariable zu erzeugen?
Vielen Dank im Voraus.
mana
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.09.2017, 09:34
Titel:
|
|
Hallo,
grundsätzlich ginge das mit einem Unit-Delay-Block.
Für mich klingt das aber nur bei fester Schrittweite sinnvoll. Ansonsten sollte man doch eher über die Simulationszeit (Block "clock") gehen statt über die Schrittanzahl?
Grüße,
Harald
|
|
|
mana |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 08.06.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.10.2017, 13:40
Titel:
|
|
|
|
|
Hallo Harald,
vielen Dank für deine Antwort.
Ich habe eine feste Schrittweite. Ich übergebe einen Vektor (t) zum Abtasten des Simulinkmodells. Meine Parameter (R) in Simscape sind eben von diesem Vektor abhängig und haben die gleiche Länge (length(R) == length(t)). Deshalb brauch ich eine Laufvariable die mir einen Counter (i) bei jedem Simulationsschritt um 1 erhöht, dass ich mit R(i) auf den Parametervektor zugreifen kann.
Ich hoffe meine Erklärung war Verständlich. Ich werde mich mal mit dem Unit-Delay-Block auseinandersetzen. Vielen Dank für den Tipp.
// edit
ich habe es versucht mal so zu lösen wie auf dem Bild dargestellt.
Es funktioniert soweit ganz gut, dass für jeden Simulationsschritt der Wert um 1 erhöht wird.
Mein Problem ist nun folgendes, wie kann ich die Ausgabe des Unit Delay blockes direkt in eine Variable in "Echtzeit" speichern, sodass das Simulinkmodell direkt auf diese Variable zugreifen kann? Die Lösung wie auf dem Bild dargestellt mit einem Matlab Function Block war leider nicht zielführend.
Vielen Dank nochmals für die tolle Hilfe.
Viele Grüße
mana
|
|
|
|
|
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 - 2024
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.
|
|