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 Integration

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 13:10     Titel: Fehler Integration
  Antworten mit Zitat      
Hallo,

ich habe bisher noch keine Erfahrungen mit Matlab Simulink gesammelt und habe von meiner Hochschule die Aufgabe erhalten eine kleine Kontrollausgabe für einen Mischbehälter zu erstellen. Mit dem Aufbau bin ich bisher zurecht gekommen, allerdings taucht jetzt ein Fehler in der Simulation auf und ich weiss nicht, wie ich diesen beheben kann. Der Fehler entsteht beim Teilen durch die vorher berechnete Mischungsdichte im Subsystem "Abfluss" und anschließendem integrieren. Der Wert durch den geteilt wird, ist dabei lediglich eine Konstante.
Zur besseren Übersichtlichkeit habe ich alle Ausgabewerte entfernt, weshalb einige Signale plötzlich enden.

Ich hoffe der Aufbau ist nicht zu unübersichtlich um den Fehler eingrenzen zu können.
Ich bitte um Ratschläge, wie ich die Simulation wieder in Gang bringen kann.

Danke

frage.mdl
 Beschreibung:

Download
 Dateiname:  frage.mdl
 Dateigröße:  104.43 KB
 Heruntergeladen:  504 mal


MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 15.05.2012, 13:56     Titel:
  Antworten mit Zitat      
Hallo,

wie groß ist diese Konstante? Schon mal an Rundungsfehler gedacht? Ansonsten sind meine Simulink Kenntnisse leider zu rudimentär...

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
Elfriede

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 17:33     Titel:
  Antworten mit Zitat      
Hallo Sven,

der Integrator macht schon alles richtig. Dein Problem ist, du kannst das Ganze nicht einfach stationär berechnen. Stelle Dir Deine Gleichung mal mathematisch mit Zettel und Stift auf, dann wirst Du sehen, dass sich mit Deiner einfachen Formel:

\frac{ rho_S_U_M * V_S_U_M}{(rho_1*V_1) + (rho_2*V_2)}


die Zeit aufhebt. Der Fehler ist, dass Du nicht einfach die beiden Einzelvolumina addieren darfst, da sich aufgrund der durch die Mischung neu entstehenden Dichte ein anderes Gesamtvolumen ergibt.

--> Differentialgleichung.

Schöne Grüße
Elfriede
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2012, 10:28     Titel:
  Antworten mit Zitat      
Hallo Elfriede,

zunächst einmal danke für die schnelle Antwort. Ich habe allerdings noch immer nicht verstanden wieso die Mischungsdichte ein Problem darstellt. Deren Berechnung liefert mir meiner Meinung nach lediglich eine Konstante, die ich anschließend doch problemlos integrieren können müsste?(auch wenn sie nicht von t abhängt)
Die allgemeine Berechnung der Dichte kommt daher, dass ich in der Simulation keine Volumenänderungseffekte berücksichtige.
Abhängig von den beiden Zuläufen sollte sich also eine Dichte einstellen, mit der ich anschließend im gezeigten Block weiterrechnen möchte.

Gruß Sven
 
Elfriede

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2012, 14:34     Titel:
  Antworten mit Zitat      
Hallo Sven,

der Sinn der ganzen Rechnerei ohne die sich verändernde Mischungsdichte zu benutzen erschließt sich mir zwar nicht ganz, aber jetzt habe ich dein Problem verstanden.

Du teilst außerhalb der Zuflussbloecke die Gesamtmasse durch das Gesamtvolumen, da aber die Integratoren als InitialCondition jeweils 0 besitzen, wird im allerersten Rechenschritt 0/0 geteil, das ist mathematisch nicht definiert, daher wird als erstes Rechenergebnis deines Divide-Blocks NaN ausgegeben. Damit wiederum kann der Integratorblock in deinem Ablusssubsystem nicht umgehen (Evtl. mal die Fehlermeldung, die Simulink ausgibt, genauer ansehen, da steht genau das drin).
Also entweder Du gibst andere Initialconditions vor oder du nutzt nach dem Divideblock einen IC-Block oder Du baust Dein System anders auf.

Schöne Grüße
Elfriede
 
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.