WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

triggered Subsystem Ausgangssignal

 

mkxe
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 28.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2017, 10:08     Titel: triggered Subsystem Ausgangssignal
  Antworten mit Zitat      
Hallo,

ich habe ein getriggertes Subsystem das mittels Rechtecksignal alle 10 Sekunden ausgeführt wird. Mein Ausgangssignal ist nun stufenförmig d.h. alle 10 sekunden wird auf den neu berechneten Wert "gesprungen" und der vorherige wert solange gehalten.
Mein Frage ist nun: gibt es eine Möglichkeit mein Ausgangssignal nicht stufenförmig sondern linear zu gestalten. Also so das der vorherige Wert mit dem neuen Wert direkt "verbunden" wird es das Ausgangsignal dann linear erscheint?

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


Lord_nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2017, 10:17     Titel:
  Antworten mit Zitat      
Ja wenn du das Subsystem nicht triggerst.
 
mkxe
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 28.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2017, 10:20     Titel:
  Antworten mit Zitat      
ok das ist schon klar. aber ich möchte dass mein Subsystem bzw. in dem Fall ist es eine einfache Matlab-Function, nur z.B. alle 10 Sekunden ausgeführt wird.
gibt es dafür dann vielleicht eine andere lösung? ohne zu triggern?
Private Nachricht senden Benutzer-Profile anzeigen
 
Lukass

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2017, 12:59     Titel:
  Antworten mit Zitat      
Hallo,

das ist doch ein Widerspruch. Du willst eine Funktion, die alle 10 Sekunden ausgeführt wird, also liefert sie auch nur jede 10 Sekunden ein Berechnungsergebnis. Wenn du zwischen den Berechnungsergebnisse auch Werte haben möchtest, die sich verändern, müssen die auch von der Funktion geliefert werden.

Wenn du z.B. den Wert "2" als Ergebnis bekommst, kann Simulink ja nicht wissen, bis zu welchem Wert es linear ansteigen soll, da der Wert vom nächsten Aufruf der Funktion noch gar nicht bekannt ist.

Also kurz gesagt: Wenn du einen linearen Anstieg vom Wert a zum Wert b haben möchtest, muss das deine Funktion übernehmen.

Gruß Lukas
 
mkxe
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 28.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2017, 13:37     Titel:
  Antworten mit Zitat      
Hallo,

das verstehe ich. das Problem ist nur, dass diese Funktion nur ein Teil des Gesamtmodells ist und das Modell über einen längeren Zeitraum simuliert werden muss. und um etwas Rechenleistung zu sparen, wollte ich (da es dafür ausreichend ist) diesen Teil nur alle paar Sekunden oder Minuten (je nachdem..) ausführen.
gibt es dafür gar keine Lösung?
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.04.2017, 17:59     Titel:
  Antworten mit Zitat      
Das kann nicht funktionieren, weil die Funktion, die das könnte, nicht kausal ist. Die Funktion muss dazu in die Zukunft schauen...

Mal Dir das einfach mal als Beispiel auf...
t = 0, y(t=0) = 10
t = 10, y(t=10) = 20

-> jetzt kannst Du den Ausgang für y(t=5) einfach über eine Geradengleichung berechnen oder zeichnerisch bestimmen. Wenn Du das machst, wirst Du sehen, dass Du sowohl beim Zeichnen als auch beim Rechnen den Wert von t=10 brauchst. Zum Zeitpunkt t=5 kennst Du den aber noch gar nicht.

Das bedeutet, dass die Zwischenwerte erst dann bestimmt werden können, wenn sie bereits in der Vergangenheit liegen.
Private Nachricht senden Benutzer-Profile anzeigen
 
mkxe
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 28.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2017, 08:02     Titel:
  Antworten mit Zitat      
vielen Dank für die Erklärung. das leuchtet ein.

ich habe es zwar noch nicht probiert aber wenn ich schon mal dabei bin frage ich mal einfach.
wäre es dann vielleicht möglich mir meine Werte zu den Zeitpunkten irgendwie als Matlab Datei abzuspeichern sodass ich eine Wertetabelle erhalte die ich dann plotten kann? würde das denn funktionieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2017, 16:23     Titel:
  Antworten mit Zitat      
mkxe hat Folgendes geschrieben:
wäre es dann vielleicht möglich mir meine Werte zu den Zeitpunkten irgendwie als Matlab Datei abzuspeichern sodass ich eine Wertetabelle erhalte die ich dann plotten kann? würde das denn funktionieren?


Was genau macht denn dein triggered Subsystem? Hat das Eingänge oder wird alles unabhängig vom Eingang komplett im Subsystem berechnet? Im zweiten Fall kannst Du das Subsystem natürlich offline simulieren und die Daten z.B. mit einem "From Workspace"-Block in Deine Simulation laden.

Wenn der Ausgang des Subsystems von Eingängen abhängt, die erst während der Simulation des Gesamtsystems bekannt sind, kommst Du evtl. mit einer Kennlinie oder einem Kennfeld weiter. Das geht nur, wenn Dein Subsystem kein Speicherverhalten hat (keine Integratoren, keine 1/z-Blöcke, keine Memory-Blöcke, keine Transferfunction-Blöcke, ...).

Wenn Dein Subsystem Speicher enthält, wirst Du wahrscheinlich nicht darum herum kommen, das in Deinem Modell zu simulieren...
Private Nachricht senden Benutzer-Profile anzeigen
 
mkxe
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 28.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.04.2017, 07:17     Titel:
  Antworten mit Zitat      
Also mein Subsystem hängt in der Tat von den Eingängen ab und hat dazu auch noch ein paar 1/z-Blöcke.

Epfi hat Folgendes geschrieben:
Wenn Dein Subsystem Speicher enthält, wirst Du wahrscheinlich nicht darum herum kommen, das in Deinem Modell zu simulieren...


Was meinst du damit?
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.04.2017, 16:39     Titel:
  Antworten mit Zitat      
Damit meine ich, dass Du es nicht unabhängig von Deinem restlichen Modell vorausberechnen kannst und dann nur noch die Werte aus einem Speicher liest...
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.