|
|
Gewöhnliche DGL divergiert |
|
Ondy |

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 11.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.01.2014, 17:21
Titel: Gewöhnliche DGL divergiert
|
 |
|
 |
|
Hallo Leute,
Habe ein Problem mit der Simulation eines Solarkollektors, bei dem Globalstrahlungskonstante, Windgeschwindigkeit, FLuideintrittstemperatur, Umgebungstemperatur und Luftfeuchte initiert werden und daraus der Wärmenutzenstrom berechnet werden soll. Dabei divergiert die Lösung gegen Ende und ich bekomme unbrauchbare Werte.
[code]
y0=[t_abs;t_abd;t_wd1;t_wd2;t_wd3];
[~,Y]=ode23s(@fdtdtau3,[Tau;Tau2],y0,[],C_abd,C_abs,C_wd,Q_zu,Q_absabd,Q_abdamb,Q_abswd,Q_absfluid,Q_wdamb,Q_wd1,Q_wd2);
t_abs=Y(end,1);
t_abd=Y(end,2);
t_wd1=Y(end,3);
t_wd2=Y(end,4);
t_wd3=Y(end,5);
[/code]
wobei:
[code]
function dy=fdtdtau3(~,y,C_abd,C_abs,C_wd,Q_zu,Q_absabd,Q_abdamb,Q_abswd,Q_absfluid,Q_wdamb,Q_wd1,Q_wd2)
dy=zeros(5,1);
dy(1)=(Q_zu-Q_absabd-Q_absfluid-Q_abswd)/C_abs;
dy(2)=(Q_absabd-Q_abdamb)/C_abd;
dy(3)=(Q_abswd-Q_wd1)/(C_wd/3);
dy(4)=(Q_wd1-Q_wd2)/(C_wd/3);
dy(5)=(Q_wd2-Q_wdamb)/(C_wd/3);
end
[/code]
Habe alle Mögliche Solver ausprobiert (ode23s, ode23t,ode23tb,..), doch alle divergieren ab einer gewissen Stelle im Programm.
Ob Divergenz auftritt, ist eigentlich nur von den gewählten Initialwerten abhängig.
t_abs (=dy(1) in fdtdtau3) scheint hauptverantwortlich dafür zu sein und "schwingt" nicht immer so ein wie es sollte...
Kann Mir bitte jemand helfen? Falls noch weitere Informationen benötigt werden, einfach sagen. Denke es handelt sich nicht um ein zu komplexen Sachverhalt, aber ich weiß einfach nicht weiter...
Grüße
Ondi
|
|
|
|
|
Thomas84 |

Forum-Meister
|
 |
Beiträge: 546
|
 |
|
 |
Anmeldedatum: 10.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.01.2014, 13:48
Titel:
|
 |
In der Funktion fdttau3 taucht gar kein y auf. Ich vermute daher das die DGL noch nicht richtig ist. Was sind denn C_abd, etc? Ich vermute diese Werte ändern sich zeitlich?
viele Grüße
Thomas
|
|
|
Ondy |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 11.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.01.2014, 15:00
Titel:
|
 |
Ja das mit dem y hat mich auch schon stutzig gemacht, hab ich vom Vorgängermodell einfach so übernommen ehrlich gesagt, weils funktioniert hat. Wenn ich es weglasse, meldet er:
Too many input arguments
Wenn etwas anderes als y dasteht, läuft das Skript wenigstens...
denke ich hab irgendwo nen zentralen denkfehler, kann des sein?
C_abd,C_abs,C_wd sind Wärmekapazitäten und somit zeitlich konstant. Q_zu ist ebenso zeitlich konstant...
Viele Grüße!
|
|
|
Ondy |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 11.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.01.2014, 19:54
Titel:
|
 |
Hallo Leute,
Hab den Fehler selbst gefunden. Lag an einer Konstante, die ich nicht entsprechend angepasst habe!
Danke für die Mühen!
Grüße
Ondy
|
|
|
|
|
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 - 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.
|
|