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

Nebenbedingung in ode45 Funktion integrieren

 

onda
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 16.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.01.2011, 17:18     Titel: Nebenbedingung in ode45 Funktion integrieren
  Antworten mit Zitat      
Liebe Matlab Freunde,

ich modelliere momentan die Wärmeströme durch ein geschichtetes Bauteil mit einer Flächenheizung in der Mitte. Die Wärmeübertragung nach oben sieht gut aus.

Der Wärmestrom von der Flächenheizung durch das Bauteil nach unten muss durch mehrere Schichten fließen und wird entsprechend der unterschiedlichen Schichten temperaturabhängig modelliert.

Das heißt ich habe einen Wärmestrom von der Heizung an die Wärmedämmung unter der Heizung, den Wärmestrom durch die Wärmedämmung sowie den Wärmestrom von der Wärmedämmung an die Umgebung. Rein pysikalisch ist klar, diese Wärmeströme müssen gleich groß sein.

Ich habe die mittleren Bauteiltemperaturen mit Hilfe eines DGL-Systems modelliert. Außerdem modelliere ich die temperaturabhängigen Wärmeströme
- von der Heizung an die Wärmedämmung (Q_hi),
- die Wärmeleitung durch die Dämmung (Q_wl)
- den Wärmestrom von der Wärmedämmung an die Umgebung (Q_iamb).


Nun meine Frage, wie kann ich diese Bedingung:
Q_hi = Q_wl = Q_iamb
in meine ode45 Funktion integieren?

Code:

    [~,Y]=ode45(@eqnsys, [Time(i); Time(i+1)], y0, options, ...);

%%Definition der Bauteiltemperaturen
     
    t_g(i+1) =Y(end, 1);  %Temperatur Abdeckung
    t_h(i+1) =Y(end, 2);  %Temperatur Heizung
    t1(i+1)  =Y(end, 3);  %Temperatur Wärmedämmung oben
    t2(i+1)  =Y(end, 4);  %Temperatur Wärmedämmung unten

function dy = eqnsys(~, y,...);
       
 dy = zeros(4,1);
       
        dy(1) = ...;      
        dy(2) = ...;
        dy(3) = ((Q_hi  - Q_wl)/(C_i/2));
        dy(4) = ((Q_wl - Q_iamb)/(C_i/2));      
    end

 


C_i ist die Kapazität der Dämmung in J/K.
Ergebnis dieser Berechnung sind die mittleren Bauteiltemperaturen. Die Wärmeströme werden mit einer weiteren Scheife immer mit den momentanen Temperaturen neu berechnet. Nun muss ich also aber noch die Bedinung einfügen:
dy(3) = dy(4)

Kann mir jemand helfen? Super super glücklich würdet ihr mich machen...
Herzlichen Dank im Vorraus!

Onda
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.01.2011, 19:17     Titel:
  Antworten mit Zitat      
Hallo,

wenn ich es richtig verstehe, sind die DGLen für die Temperaturen, und die Wärmeleitungen sind Konstanten? Wenn die Konstanten gleich sind, setze sie doch einfach auf den gleichen konstanten Wert?
Wenn ich es nicht richtig verstehe, bitte genauer erläutern.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
onda
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 16.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.01.2011, 19:31     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine Antwort.
Die Temepraturen sind nicht konstant und entsprechend auch nicht die temperaturabhängigen Wärmeströme. Wollte euch nur die langen Formeln ersparen.
Ich habe die letzten Stunden auch gebastelt und mittlerweile meinen Fehler gefunden. Ich habe in den Formeln eine Fläche falsch eingegeben - das heißt im Prinzip richtig programmiert aber der Fehler mal wieder im Detail...

Nochmals danke für´s mitdenken und bis bald Exclamation
onda
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 - 2025 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.