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

Comische Ergebnis

 

Edouard

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.04.2009, 09:20     Titel: Comische Ergebnis
  Antworten mit Zitat      
Hallo,

erstmals ich entschuldige mich fuer mein Deutsch und hoffe, dass alle es verstehen werden.

Ich habe ein MATLAB Code wo ich eine Differential Gleichung mit ode23 integriere. Die Gleichung sieht so aus:

dT/dt = ( Q/m*c ) - (T-Tu) / (R_th * m *c)

Es ist eine Wärmebilanz Gleichung wobei Q und Tu Vektoren sind und m, c und Rth skalaren sind. Als Antwort bekomme ich eine Matrix mit 12 Spalten. Deswegen wenn ich meine Antwort (Temperatur) gegen Zeit in einem diagram zeichne, bekommen ich Punkte statt eine Linie.

Ich habe die gleiche Problem mit Q und Tu als skalaren eingegeben und ich hatte eine Linie bekommen. Ich möchte gern wissen, warum ich Vektoren kriege und auch ob es möglich ist, eine Linie zu bekommen..Sollte ich eine andere funktion als ode23 verwenden?

Ich brauche eine Linie, weil ich dann diese Linie optimieren möchte mit fminsearch...wenn ich Vektoren haben kann ich nicht für jede Zeitpunkte minimieren.

Ich hoffe, dass jemand mich verstanden hat!

Danke

Edouard


Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 23.04.2009, 09:28     Titel:
  Antworten mit Zitat      
Ich vermute mal (ohne die Funktion zu kennen), dass du statt der oben gewählten Form eher eine elementweise Verarbeitung im Sinn hattest.

Code:
dT./dt = ( Q./m.*c ) - (T-Tu) ./ (R_th .* m .*c)


Wie gesagt, mit den ode-funktionen habe ich bisher nicht gearbeitet, aber ich vermute den Fehler in der Operationsvorschrift.
_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
Edouard

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.04.2009, 09:51     Titel:
  Antworten mit Zitat      
Hier ist mein Code:

Code:

function x= fun_vector(t,q,tu)
%diese funktion nimmt als imput die Wärme q und die Umgebungstemperatur tu
%als vektoren

T = [];
x = [];

warning off

initial_cond = linspace(293,293,200);
%die Anfangsbedingungen müssen die gleiche Länge wie unsere input vektoren
%haben aber nicht unbedingt die gleiche Länge wie die tspan

t0 = 0;
% die tspan muss auch lang genug sein damit wir alles im Grafik sehen
% können

[t1,x] = ode23((@(t,x)q/(800*480) - (((x)-tu)./(0.02 * 800 * 480))),[0 50000],initial_cond);

%T = (5000)* (0.020)+(293)+(283-5000*0.020-293)*exp(-(1/(0.020*800*480))*time);
% ==>wird hier nicht benutzt. das ist die exact Lösung des ODE

plot(t1,x,'p')
hold on


axis tight
grid on
xlabel('Zeit in Sekunden')
ylabel('Temperatur in Kelvin')
title('Temperaturverlauf ?ber die Zeit')

return


edit by Maddy: code-umgebung eingefügt, bitte beim nächsten Mal selber dran denken.
 
Edouard

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.04.2009, 09:54     Titel:
  Antworten mit Zitat      
Maddy hat Folgendes geschrieben:
Ich vermute mal (ohne die Funktion zu kennen), dass du statt der oben gewählten Form eher eine elementweise Verarbeitung im Sinn hattest.

Code:
dT./dt = ( Q./m.*c ) - (T-Tu) ./ (R_th .* m .*c)


Wie gesagt, mit den ode-funktionen habe ich bisher nicht gearbeitet, aber ich vermute den Fehler in der Operationsvorschrift.


ich habe versucht, was du mir empfohlen hast aber es hat leider nichts geändert....
 
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.