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

Werte in Übertragungsfunktion während Simulation anpassen

 

Georg J
Themenstarter

Forum-Century

Forum-Century



Beiträge: 113
Anmeldedatum: 22.06.11
Wohnort: ---
Version: R2008a
     Beitrag Verfasst am: 07.07.2011, 21:48     Titel:
  Antworten mit Zitat      
Hi DSP,

Ich hab den Feder-Masse-Schwinger etwas überarbeitet und eine Level 1 S-Funktion hinzugefügt.

Die Federsteifigkeit wird in dem Modell mit Hilfe eines Switches jede Sekunde umgeschaltet. Die Anregung erfolgt mit 10 Hz.

Gib im Workspace als Parameter m=10 und d=10 ein. Damit ist die Eigenfrequenz des Systems 1 Sekunde lang 10 Hz und die nächste Sekunde 32 Hz.

Da die Steifigkeit nun ein Systemeingang ist, könnte man diese auch extern mit einem Regler je nach Systemzustand anpassen.

Wie man sieht, ist die S-Funktion recht simpel und die Simulation viel schneller als mit set_param.

Viel Spass damit!

Georg

H.m
 Beschreibung:

Download
 Dateiname:  H.m
 Dateigröße:  2.16 KB
 Heruntergeladen:  709 mal
Feder_Masse_Schwinger3.mdl
 Beschreibung:

Download
 Dateiname:  Feder_Masse_Schwinger3.mdl
 Dateigröße:  21.42 KB
 Heruntergeladen:  640 mal
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 07.07.2011, 22:19     Titel:
  Antworten mit Zitat      
Vielen Dank Georg Very Happy

Ich werde es mir demnächst mal genauer ansehen. Auf den ersten Blick ist mir nicht ganz klar was in dem H.m File abläuft.
Private Nachricht senden Benutzer-Profile anzeigen
 
Georg J
Themenstarter

Forum-Century

Forum-Century



Beiträge: 113
Anmeldedatum: 22.06.11
Wohnort: ---
Version: R2008a
     Beitrag Verfasst am: 07.07.2011, 22:28     Titel:
  Antworten mit Zitat      
Die S-Funktion H.m arbeitet nacheinander eine Reihe von sogenannten Flags ab.

Zuerst wird der Block initialisiert, d.h. man gibt die Anzahl Zustände, Inputs Outputs an, sowie die Startwerte, Abtastintervalle etc. (case 0)

Dann werden die Differentialgleichungen 1. Ordnung (state space Modell) definiert und gelöst (case 1)

Zuletzt werden die Ausgänge gefüttert (case 3). Es gibt noch mehr cases, aber die werden hier nicht benötigt.

Was bei den einzelnen cases genau gemacht werden soll, ist in den jeweiligen Funktionen weiter unten im File definiert. Man könnte z.B. bei dem Ausgang noch eine Sättigung programmieren.
Code:
if x(1)>max
  x(1) = max
end



Wenn du z.B. nur den Zustand x(1) herausgeben willst, musst du bei der Initialisierungsfunktion die Anzahl outputs auf 1 setzen und in der Funktion mdlOutputs anstatt sys=x dann sys=x(1) setzen.

S-Funktionen eignen sich besonders bei komplizierten oder sprunghaften Systemen.

Am besten einfach selbst ein wenig mit spielen. Es ist nicht so kompliziert wie es vielleicht auf den ersten Blick aussieht Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast08150816

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2011, 13:53     Titel:
  Antworten mit Zitat      
Hallo Georg J,
mich würde die Lösung mithilfe der S-Funktion auch interessieren ...
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 04.11.2011, 13:56     Titel:
  Antworten mit Zitat      
Die Lösung ist doch da und heißt: H.m

oberster Post auf dieser Seite Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.