|
|
Anpassen der Simulationszeit |
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.09.2013, 14:16
Titel: Anpassen der Simulationszeit
|
|
Hallo zusammen,
ich würde gerne in meinem Simulink-Programm die Simulationszeit einschränken auf den Zeitraum, welchen ich durch den Zeitvektor aus dem Eingang vorgegeben habe.
Für spätere Zeitschritte liegen mir nämlich keine Eingangswerte mehr vor, so dass die Simulation hier abgebrochen werden sollte.
Ich habe leider nur die Möglichkeit gefunden eine feste Simulationszeit manuell vorzugeben.
Könnt Ihr mir bei meinem Problem bitte weiterhelfen?
Vielen Dank im Voraus!!
|
|
|
|
|
BlackDread |
Forum-Century
|
|
Beiträge: 212
|
|
|
|
Anmeldedatum: 11.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2015a
|
|
|
|
|
|
Verfasst am: 06.09.2013, 14:31
Titel:
|
|
Hallo,
du kannst Simulink sagen, wie lange die Simulation gehen soll, indem zu einfach eine Variable an die "Stop-Time" setzt.
Ist dein Zeitvektor z.B. "t" dann schreibst du als Stop-Time "t(end)" rein.
Viele Grüße
Chris
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.09.2013, 08:47
Titel:
|
|
Hallo Chris,
danke für den Vorschlag. Ich weiß aber leider nicht, wie ich das am Besten umsetzen soll, da ich noch ein ziemlicher Simulink-Anfänger bin.
Soll ich den Stop-Block gleich an den Eingang, der die Simulationszeit t enthält ranhängen? Mein Eingang enthält in der ersten Zeile die Simulationszeit, in weitern Zeiten jedoch andere Variablen. Wie kann ich nur die Zeit selektieren und diese in den Stop-Block schicken?
Die Hilfe zum Stop-Block besagt, dass die Simulation beendet wird, sobald der Eingang nicht 0 ist. Funktioniert das dann schon?
Wäre super, wenn ihr mir auch hier noch ein paar Tipps geben könntet.
Viele Grüße,
Christina
|
|
|
BlackDread |
Forum-Century
|
|
Beiträge: 212
|
|
|
|
Anmeldedatum: 11.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2015a
|
|
|
|
|
|
Verfasst am: 09.09.2013, 15:22
Titel:
|
|
Hallo Christina,
du kannst direkt die Zeit angeben, bis wann simuliert werden soll. Da ich gerade schon daheim bin, kann ich nur einen Link posten. Die Variable "TStop" (oben mittig im Bild) gibt in dem Fall vor, bis zu welchem Zeitpunkt simuliert werden soll.
http://www.matlabbuch.de/bilder/simulink.gif
Viele Grüße und Erfolg
Chris
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2013, 18:27
Titel:
|
|
Hallo Chris,
vielen lieben Dank! Du hast mir echt weitergeholfen.
Stehe aber leider schon vor meinem nächsten Problem. Vielleicht hast du auch hier einen Tipp.
Mein Simulink-Modell soll als Ergebnis einen Leistungsverlauf über der Zeit ausgeben.
Wenn der Wert, der am Eingang (Zustand von Verbrauchern) anliegt von 0 auf 1 wechselt, möchte ich über die darauffolgenden Zeitschritte einen beliebigen Verlauf aufschalten können, welchen ich durch Messungen (Datensatz liegt vor) ermittelt habe.
Mir ist leider nicht klar, wie ich beim Eintreten des Zustandswechsels schon die darauffolgenden Zeitschritte beeinflussen kann. Geht das überhaupt mit Simulink?
Ich verzweifle echt daran, wäre super wenn du mir antworten könntest.
Viele Grüße,
Christina
|
|
|
pse |
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 03.05.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2013, 10:23
Titel:
|
|
Variablen unter Simulink ist immer kniffig. Versuch über Switch zu realisieren, wenn in unterschliedlichen Zeitabschnitten bestimmte Funktionen, Berechnungen durchlaufen sollen. Konkretes Beispiel wäre schon sinnvoller für alle
|
|
|
pse |
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 03.05.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2013, 10:24
Titel:
|
|
Variablen unter Simulink ist immer kniffig. Versuch über Switch zu realisieren, wenn in unterschliedlichen Zeitabschnitten bestimmte Funktionen, Berechnungen durchlaufen sollen. Konkretes Beispiel wäre schon sinnvoller für alle
|
|
|
BlackDread |
Forum-Century
|
|
Beiträge: 212
|
|
|
|
Anmeldedatum: 11.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2015a
|
|
|
|
|
|
Verfasst am: 11.09.2013, 12:02
Titel:
|
|
Hallo Christina,
ich habe mal eine Lösung erarbeitet, die zumindestens bei mir und meinem Minimalbeispiel funktioniert. Jedoch habe ich schon lange nicht mehr mit Simulink gearbeitet und auch nicht mit wirklich komplexen Modellen, von daher weiß ich nicht, ob das bei dir auch so funktioniert bzw. Sinn macht.
In dem Beispiel wird der Kurvenverlauf von y ab dem Zeitpunkt t_to_start als Ausgabe zur Verfügung gestellt.
Viele Grüße
Chris
P.s.: In der Regel sollte man für eine neue Problemstellung einen neuen Thread eröffnen
Beschreibung: |
|
Download |
Dateiname: |
example.mdl |
Dateigröße: |
19.23 KB |
Heruntergeladen: |
429 mal |
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2013, 13:49
Titel:
|
|
Das würde aber dann bedeuten, dass ich meine Messwerte erst mit einer Funktion annähern muss, oder?
Außerdem beginnt die Funktion gleich zu Simulationsstart zu laufen und gibt mir dann bei t_to_start nicht mehr den ersten Wert aus.
Ein weiteres Problem ist, dass ich t_to_start gar nicht kenne und erst aus den Zustandsvektor ermitteln muss. Könnte ich das irgendwie dynamisch einstellen?
Viele Grüße,
Christina
|
|
|
BlackDread |
Forum-Century
|
|
Beiträge: 212
|
|
|
|
Anmeldedatum: 11.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2015a
|
|
|
|
|
|
Verfasst am: 11.09.2013, 14:29
Titel:
|
|
Hallo Christina,
du musst deine Messwerte keiner Funktion annähern. Du kannst der LUT deine Messwerte zuweisen.
Zu der Umschaltung: irgendwie musst du in deinem Modell ja feststellen, wann deine Messwerte verwendet werden sollen. Hier kannst du ja evtl. eine ähnliche Abfrage reinmachen. Statt wie bei mir die Zeit zu überprüfen, kannst du z.B. "Verbraucher Status" == "1" oder sonstiges prüfen. Für eine konkrete Lösung kenne ich aber die Problemstellung und dein Modell zu wenig.
Viele Grüße
Chris
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2013, 15:04
Titel:
|
|
Schon mal vielen Dank!
Ich würde aber gerne die Messwerte um t_to_start nach hinten verschieben, so dass beim Zustandübergang von 0 auf 1 der gemessene Verlauf von vorne beginnt.
Wie kann ich denn eine Verzögerung um t_to_start erreichen?
Viele Grüße,
Christina
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2013, 15:50
Titel:
|
|
Ich habe es nun selbst geschafft, eine Verzögerung des Signals um den Wert der Variable t_to_start zu erhalten.
Jetzt würde ich aber noch gerne t_to_start dynamisch anpassen.
Funktioniert das Verzögerungsglied dann schon noch, wenn ich die Verzögerungszeit einfach während der Simulation wieder verändere?
Wie kann ich denn am Besten t_to_start, also die Zeit an der der Sprung stattfindet, ermitteln?
Viele Grüße,
Christina
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2013, 16:49
Titel:
|
|
Ich habe jetzt mal zum besseren Verständnis mein Modell angefügt.
Zur Sprungerkennung wollte ich die Variable t_step im Subsystem "Feststellung des Sprungs" ermitteln. Dies habe ich mit einem triggered subsystem probiert. Leider funktioniert das aber nicht, weil t_step für die Zeitschritte vor dem Sprung immer 0 ist. Ich hätte gerne keinen Vektor, sondern einen Skalar, der nur den Sprungzeitpunkt enthält.
Wie schaffe ich das denn?
Viele Grüße
Beschreibung: |
|
Download |
Dateiname: |
Modell.slx |
Dateigröße: |
15.64 KB |
Heruntergeladen: |
375 mal |
|
|
|
|
|
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.
|
|