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

Diskretisieren eines Systems 3. Ordnung mit Tustinsmethod

 

shinigami
Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 08.01.15
Wohnort: ---
Version: 2014,2016
     Beitrag Verfasst am: 03.12.2016, 15:40     Titel: Diskretisieren eines Systems 3. Ordnung mit Tustinsmethod
  Antworten mit Zitat      
Hallo Freunde von Matlab & Simulink,

habe eine DGL dritter Ordnung

\dot{y}(t)=Ay(t)^{3}+By(t)^{2}+Cy(t)+D+Eu(t)

und muss diesen diskretisieren. A,B,C,D,E sind feste Parameter. y(t) ist sowohl mein Zustand als auch mein Systemausgang. u(t) ist mein Systemeingang.
Habe mich zunächst mit der Euler forward Methode an die DGL gemacht und die DGL in eine Differenzengleichung umformen können. Die Differenzengleichung ist explizit, sodass ich dies auch in Simulink umsetzen und Simulationen durchführen konnte. Die Verläufe des kontinuierlichen und des diskreten Modells stimmen überein, wobei diese von der Abtastzeit T abhängig sind. Denn zu große Abtaszeiten instabilisieren das Modell und sehr kleine hingegen beschreiben das Verhalten immer besser.
Ich möchte noch zum Vergleich die Tustins Method bzw. auch bekannt als die Bilineartransformation verwenden. Ich konnte das System mit dieser Methode ebenfalls diskretisieren, habe auch einige Simulationen durchführen können.

y(kT)=y_{k}, y((k-1)*T)=y_{k-1}

y_{k}=y{k-1})-0.5*T*(Ay_{k-1}^{3}+By_{k-1}^{2}+Cy_{k-1}+D+Eu_{k-1}+Ay_{k}^{3}+By_{k}^{2}+Cy_{k}+D+Eu_{k})

Mir ist aufgefallen, dass diese Variante sehr stabil ist, denn auch bei sehr hohen Abtastzeiten bleibt das Verhalten stabil.
Nun, habe ich mal versucht sehr große und "unsinnige" Abtaszeiten bei beiden Methoden anzuwenden. Bei der Eulermethode führt Simulink alles aus, aber das System ist insatbil und geht ins unendliche. Bei der Bilineartransformation, die ich in der impliziten Form in Simulink umsetzen konnte, gibt Simulink 'AlgebraicLoop...' Porbleme aus und bricht die Simulation ab.
Meine Frage also ist, warum kann Simulink bei kleinen Abtastzeien das Modell ausführen und bei zu großen Abastzeiten abbrechen??
Ist die Diskretisierung so überhaupt korrekt?

Ich habe auf der Seite von Matlab gelesen, dass 'Algebraic Loops...' nichts anderes ist als eine Rückführung, die Simulink versucht zu lösen mittels diversen solver().

Kann jemand behilflich sein?

Gruß
Shinigami
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.