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

Fehler bei Benutzung von diskretem Solver

 

JimPanse
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 11.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.08.2011, 15:52     Titel: Fehler bei Benutzung von diskretem Solver
  Antworten mit Zitat      
Hallo!

Ich versuche mich gerade daran, eine Synchronmaschine in Simulink abzubilden. Die Simulationen laufen auch größtenteils ordentlich durch, allerdings habe ich manchmal Probleme, dass der Eingang eines Integrator unendlich wird. Dieses Problem tritt allerdings nur auf, wenn ich einen diskreten Solver verwende.
Steige ich auf variable Schrittweite um, gibt es keinen Simulationsabbruch.
Leider kann ich mir nicht erklären, woher das Problem kommt und ich komme auch bei der Analyse nicht weiter.

Hat jemand eine Idee, woran das liegen könnte bzw. eine Herangehensweise zur Fehlersuche? Ich komm leider um den diskreten Solver nicht drumrum...

Vielen Dank schonmal!

untitled.mdl
 Beschreibung:

Download
 Dateiname:  untitled.mdl
 Dateigröße:  38.54 KB
 Heruntergeladen:  453 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.08.2011, 16:52     Titel:
  Antworten mit Zitat      
Hallo,

kann es sein, dass du "diskret" und "feste Schrittweite" verwechselst? Ich gehe einfach mal davon aus.
Wenn du Code generieren möchtest, musst du in der Tat auf einen Löser mit fester Schrittweite gehen. Sollte die Simulation dann nicht genau genug sein (das von dir geschilderte Phänomen ist ein Extremfall davon), dann hilft nur, die Schrittweite zu reduzieren oder einen Solver höherer Ordnung (z.B. ode5) zu verwenden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
A

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.08.2011, 21:35     Titel:
  Antworten mit Zitat      
falls du auf http://www.gomatlab.de/skript-zur-e.....-modellierung-t19231.html eine antwort findest, werde ich definitiv auf deine Frage antworten, sonst nur, falls ich lust hab Razz

Dein Modell sieht "etwas" unübersichtlich aus, aber das hauptproblem ist : es fehlen die parameter die zur simulation notwendig sind.
 
JimPanse
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 11.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2011, 08:57     Titel:
  Antworten mit Zitat      
Korrekt, ich meinte feste Schrittweite.

Auch korrekt, ich habe die Parameter vergessen. Hätte schwören können, sie sind dabei...

Hier ist ein neues Modell, diesmal mit Parametern in der InitFcn.

@A Ich schau mich mal um, bin schon länger mit der Thematik beschäftigt, von daher muss ich mal schauen, ob ich was Grundlegendes finde...

edit: und natürlich das Modell vergessen... jetzt aber...

untitled.mdl
 Beschreibung:

Download
 Dateiname:  untitled.mdl
 Dateigröße:  38.6 KB
 Heruntergeladen:  444 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.08.2011, 09:54     Titel:
  Antworten mit Zitat      
Hallo,

hast du's denn mit besserem Löser (ode3 oder ode5) bzw. kleinerer Schrittweite versucht?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
JimPanse
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 11.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2011, 11:09     Titel:
  Antworten mit Zitat      
Solver höherer Ordnung funktioniert... Allerdings tritt dieses Phänomen nur unregelmäßig auf.
Ich würde jetzt gerne verstehen, wieso das ganze passiert...

Ist es dann nicht generell besser, ode5 oder ode8 zu benutzen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.08.2011, 11:23     Titel:
  Antworten mit Zitat      
Hallo,

Löser mit variabler Schrittweite haben eine Schrittweitensteuerung. Dabei wird der durch die Diskretisierung entstehende Simulationsfehler geschätzt und die Schrittweite so angepasst, dass der zu erwartende Simulationsfehler innerhalb bestimmter Schranken bleibt.

Bei fester Schrittweite gibt es keine solche Steuerung. Je nach DGL und Verfahren schaukeln sich die Fehler teilweise auf, und die Lösung ergibt nicht mehr den geringsten Sinn. Ein Spezialfall dessen wird gelegentlich als "Martini-Glas-Effekt" bezeichnet (mal googlen und den Link zu Bornemann/Deuflhard folgen).

Was die Simulationsgenauigkeit angeht, ist es generell besser, ode5 oder ode8 zu benutzen, und das mit möglichst kleiner Schrittweite. Allerdings sind ode5 und ode8 aufwändiger in der Berechnung, ein Schritt verbraucht also mehr Rechenzeit. Gerade wenn es also um die Codeerzeugung geht, dann ist das Ziel, die Solvereinstellungen so zu wählen, dass die Lösung mit ausreichender Genauigkeit angenähert wird und die Berechnungen innerhalb eines Taktzyklus durchgeführt werden können. Letzteres führt dazu, dass man die Schrittweite nicht zu klein wählen kann bzw. mit einem Löser niedrigerer Ordnung vorliebnehmen muss.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
JimPanse
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 11.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2011, 11:38     Titel:
  Antworten mit Zitat      
Wow, danke!
Frage umfassend beantwortet Smile
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.