|
|
Unterschied zw diskretem und kontinuierlichem Integrator |
|
Blinky |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 06.01.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.01.2014, 13:26
Titel: Unterschied zw diskretem und kontinuierlichem Integrator
|
|
Hallo und frohes neues Jahr!
Ich habe ein diskretes System, bzw. das Modell läuft mit fixen 0.001 s sampletime.
Meiner Meinung nach sollte man in diesem Fall auch diskrete Integratoren benutzen, weil man dort viel mehr Einstellungsmöglichkeiten hat.
Kollegen meinen, weils "bisher immer so funktioniert hat", dass ich einfach die kontinuierlichen Integratoren nehmen soll.
Besteht da eigentlich irgendein Unterschied? Wird der kontinuierliche dann während der Simulation nicht einfach zu einem diskreten (genauso als hätte ich gleich den discrete-Block verwendet) und ist die Integrationsmethode dann die Forward-Euler-Methode?
Wenn ja, ist es doch trotzdem viel konsequenter und übersichtlicher, den diskreten Block zu verwenden. Ich stoße damit trotzdem auf Widerstand und mir gehen die Argumente aus. Was meint ihr dazu?
Vielen Dank und viele Grüße!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.01.2014, 16:36
Titel:
|
|
|
|
|
Hallo,
mir ist zunächst nicht klar, welche beiden Blöcke du vergleichst. Wohl den "Integrator" aus der "Continuous" Library, aber welchen diskreten Block genau?
Generell simuliert man mit Blöcken aus der Continous Library Systeme, die ihrer Natur nach kontinuierlich sind, also durch Differentialgleichungen ( y' = f(t, y) )oder kontinuierliche Übertragungsfunktionen (üblicherweise mit s) beschrieben werden. Ein Beispiel sind physikalische Systeme.
Mit Blöcken aus der Discrete Library simuliert man Systemverhalten, das seiner Natur nach diskret ist, also durch Differenzengleichungen ( y(k+1) = f( k, y(k) ) ) beschrieben werden. Ein Beispiel sind Regler.
Man sollte also nicht das eine oder das andere wählen, weil man es immer schon so gemacht hat oder weil es beim einen mehr Einstellmöglichkeiten gibt, sondern man sollte sich überlegen, was die dahinterstehende Systemdynamik ist.
Zur Simulation des Modells werden kontinuierliche Anteile zwar diskretisiert. Dabei wird jedoch bei variable step - Lösern eine Schrittweitensteuerung verwendet, um sicherzustellen, dass der Simulationsfehler innerhalb vorgegebener Schranken bleibt.
Einen fixed step - Löser würde ich nur nehmen, wenn aus dem Modell Code generiert werden muss. Dann sollte man aber die Lösung mit der eines variable step - Lösers vergleichen, da die feste Schrittweite eben keine Schrittweitensteuerung beinhaltet und so totaler Müll herauskommen kann.
Grüße,
Harald
|
|
|
Blinky |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 06.01.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.01.2014, 11:01
Titel: Diskrete Systeme
|
|
Hallo, danke für die Antwort.
Die sampletime ist fix mit 0,001s. Das lässt sich nicht ändern. Das Modell läuft mit einer Echtzeitsimulation und der Rechner hat diesen Takt. Mit Simulink hat das dann nichts mehr zutun. Die ausführbare Datei wird vorher kompiliert und auf den Echtzeitrechner geladen.
Meine Frage ist nur, ob es einen Unterschied macht, ob ich den Integrator aus der discrete-Library oder den aus der continous-library verwende. Er kompiliert beides.
Mein Modell beruht zwar auf kontinuierlicher Physik, aber kann eben nur mit 0,001s gerechnet werden, da kann man nix machen.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.01.2014, 12:55
Titel:
|
|
Hallo,
Zitat: |
Meine Frage ist nur, ob es einen Unterschied macht, ob ich den Integrator aus der discrete-Library oder den aus der continous-library verwende. Er kompiliert beides. |
Es mag beides kompiliert werden, aber ist das Systemverhalten auch korrekt? Um deine Frage genau beantworten zu können, müsste man wissen, welchen Block aus der Discrete Library du verwendest. Einen "Integrator" Block gibt es dort zumindest im von mir verwendeten Release nicht. Ansonsten habe ich die Unterschiede zwischen continuous und discrete ja bereits beschrieben.
Zitat: |
Mein Modell beruht zwar auf kontinuierlicher Physik |
Das legt nahe, dass für die Modellierung Blöcke aus der Continuous Library verwendet werden sollten.
Grüße,
Harald
|
|
|
|
|
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.
|
|