|
|
Fehlermeldung (Division durch Null?) |
|
thadod |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 25.07.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.07.2013, 19:16
Titel: Fehlermeldung (Division durch Null?)
|
|
|
|
|
Hallo Liebe Forengemeinde.
Ich bin neu hier im Forum und hoffe ihr könnt mir helfen...
Ich habe leider ein kleines Problem mit einer Simulation. Es handelt sich um einen Zweimassenschwinger zur Simulation eines Fahrwerks. Die Dämpfung berechne ich hierbei nicht mit einem konstanten Dämpfer, sondern mit einem Dämpfer der hierbei Abhängig vom Volumenstrom ist, welcher durch einen Strömungsiwderstand (Blende) fließt. Es geht mir hierbei hauptsächlich um den von der Blende erzeugten Druckverlust
Dieser berechnet sich wie folgt:
Hierbei ist der Volumenstrom, die Dichte der Flüssigkeit, der Durchflusskoeffizient und der Durchmesser der Blende.
Den Volumenstrom berechne ich über , wobei die Fläche der Blende und die Strömungsgeschwindigkeit der Flüssigkeit durch die Blende ist. Die Strömungsgeschwindigkeit hole ich mit hierbei aus der Anregung des Massenschwingers. Das SImulationsmodell kann dem Bild entnommen werden...
Nun zu meiner Frage:
Ich simuliere mit einem ''fixed-step" und dem Solver ode3 (Bogacki-Shampine) und einer Schrittweite von 0.01. Es kommt bei meinem Zweimassenschwinger zu folgender Fehlermeldung:
Derivative input 1 of (.../Inegrator' at time 2.0100000000000002 is Inf or NaN. Stopping simulation. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
Was mich wundert, da ich ja eigentlich nicht durch Null teile...
Ich rechne aber in der SI-Einheit [m] und nicht [mm] weshalb ich insbesondere für den Nenner eine sehr kleine Zahl erhalte. Ich vermute, dass Simulink diesen Wert als 0 interpretiert und deshalb die Simulation abbricht.
Nun zu meinem Anliegen:
Wie kann ich diesem Problem entgehen? Eventuell einen anderen Solver wählen bzw. eine andere Schrittweite? Denn wenn ich für z.B. 0.00001 simuliere wird die Rechenzeit ja unnötig hoch ausfallen.
Leider ist mir dieses Problem zum ersten mal untergekommen und ich weiß grad nicht so recht weiter, weshalb ich mich an eure professionelle Hilfe wenden wollte.
P.S. wenn ich statt einen anderen Wert z.B. 0.005 eingebe. Dann rechnet Simulink ganz normal. Erst wenn ich einen kleineren Wert, z.B. eintippe, tritt das Problem auf.
Verzeiht mir wenn ich mein Problem nicht eindeutig schildern sollte. Ich hoffe trotzdem auf eure Hilfe und bin für jeden Tipp dankbar.
Mit freundlichen Grüßen und bestem Dank das es euch gibt thadod
Beschreibung: |
|
Download |
Dateiname: |
DämpfungFrageForum.png |
Dateigröße: |
10.8 KB |
Heruntergeladen: |
628 mal |
|
|
|
|
|
Thomas84 |
Forum-Meister
|
|
Beiträge: 546
|
|
|
|
Anmeldedatum: 10.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.07.2013, 07:15
Titel:
|
|
Kannst du nicht einsetzen? Dann fallen alle Durchmesser aus deiner Gleichung:
viele Grüße
Thomas
|
|
|
thadod |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 25.07.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.07.2013, 17:52
Titel:
|
|
|
|
|
Hallo und Danke für die Antwort.
Leider funktioniert das nicht, da sich die Gleichung mit dem Volumenstrom aus einer anderen Fläche zusammensetzt als der Durchmesser durch den ich bei der Blende teile.
Ich habe mittlerweile gemerkt, dass das Problem auch nicht durch den Zähler oder Nenner verursacht wird, sondern durch etwas ganz anderes... Vllt. bin ich noch ein bischen ungeübt im Umgang mit Simulink aber ich habe mal versucht das wie folgt vereinfacht darzustellen...
Man stelle sich einen Zwei-Massen-Schwinger mit passiven Feder- und Dämpferelementen vor. Ich habe eine entsprechende Datei angehängt.
Wenn man das m-file durchlaufen lässt und sich den Scope anguckt, sieht ja an sich alles recht vernünftig aus...
Man kann sich mein Problem nun wie folgt vorstellen. Gebt statt d_A einfach mal manuell z.B. 100000 ein. Dann kommt die Fehlermeldung (s.o.) Woran liegt das? Bzw. was kann ich mir darunter vorstellen oder wie kann ich den Fehler interpretieren? Und am wichtigsen Wie kann ich den Fehler beheben?
Da es sich bei meiner tatsächlichen Simulation um einen Aktuator handelt, der über eine Drossel für einen Druckverlust sorgt, bin ich leider an die Abmaße und somit an die entstehenden Drücke gebunden die mir vorgegeben werden.
Wie kann ich der Fehlermeldung...
Derivative input 1 of (.../Inegrator' at time 2.0100000000000002 is Inf or NaN. Stopping simulation. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
...also entgehen?
Mit freundlichen Grüßen und bestem Dank... thadod
Beschreibung: |
|
Download |
Dateiname: |
MFile.m |
Dateigröße: |
365 Bytes |
Heruntergeladen: |
345 mal |
Beschreibung: |
|
Download |
Dateiname: |
PassivesFahrwerk.mdl |
Dateigröße: |
35.98 KB |
Heruntergeladen: |
351 mal |
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2013, 06:51
Titel:
|
|
Der Lösungsvorschlag wird dir doch gegeben: "Try reducing step size". Das hilft auch bei deinem Beispiel wenn d_A auf 100000 gestellt ist. Mit einer Schrittweite von 0.000001 kann man dein Modell simulieren. Was auch helfen könnte ist den ode45 zu nehmen (+ kleiner Schrittweite).
|
|
|
|
|
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.
|
|