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

differentialgleichun im curve fitting tool

 

Zweikanalhirn
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 25.09.08
Wohnort: Berlin
Version: 2007
     Beitrag Verfasst am: 06.10.2008, 00:20     Titel: differentialgleichun im curve fitting tool
  Antworten mit Zitat      
Hallo,

vorerst sei gesagt, dass ich nur grundkenntnisse in matlab besitze.

Ich habe Messdaten, die der folgenden Differentialgleichung folgen sollten.

0=d(T(t)-TU)/dt+A*(T(t)^4-TU^4)+B*(T(t)-TU)-C

Ich möchte nun diese Gleichung im curve fitting tool unter "custom equations" eingeben, und so meine parameter A, B und C bestimmen lassen.
Meine Frage lautet, ob man eine differentialgleichung bei "custom equations" eingeben kann. Und wenn ja wie?? Ich weiß nämlich generell nicht wie eine Differentialgleichung in Matlab geschrieben wird. Die differentiagleichung nach T(t) aufzulösen schaffe leider nicht.
_________________

In lebensgefährlichen Situationen funktionieren nur zwei Kanäle in meinem Hirn.
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 06.10.2008, 08:23     Titel:
  Antworten mit Zitat      
Moin,

mit der Curve Fitting-TB habe ich solche Probleme noch nicht gelöst, wohl aber mit
Code:
.

Dazu müsstest du dich in die Programmierung von DGLs einarbeiten. Die Beispiele hier zeigen eigentlich das grundlegende Vorgehen.

Gruß
Alex

PS: Hier im Forum wurden solche Sachen auch schon besprochen - Suche mal nach ODE.
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Zweikanalhirn
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 25.09.08
Wohnort: Berlin
Version: 2007
     Beitrag Verfasst am: 06.10.2008, 09:37     Titel:
  Antworten mit Zitat      
hallo Alex,

vielen dank für die schnelle antwort.
Leider verstehe ich nicht, wie man mit dem befehl fminsearch die parameter aus oben genannter gleichung lösen kann. so weit ich verstanden habe sucht der befehl minimalstellen in einer funktion. kannst du bitte deinen lösungsvorschlag etwas erläutern?

Gruß
Addi
_________________

In lebensgefährlichen Situationen funktionieren nur zwei Kanäle in meinem Hirn.
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 06.10.2008, 10:31     Titel:
  Antworten mit Zitat      
Du musst fminsearch die Funktion angeben, in welche die Parameter eingesetzt werden sollen. Ausserdem musst du noch Startparameterwerte angeben, von welchen ausgehend, die beste Parameterkombination gesucht wird. Bei bekannten Messwerten, eignet sich die Suche nach den minimalen Fehlerquadraten.

Beispiel:
Code:

function myfun
T_mess = []; % hier müssen deine Messwerte rein
t_mess = []; % hier die Zeitpunkte deiner Messungen

p0 = [A0 B0 C0 TU0]; % hier die entsprechenden Startwerte für die Parameter eingeben;

p = fminsearch(@lsg,p0);

function fehler = lsg(p0)
   
    T0 = ; % hier den Ausgangspunkt von T eingeben (Anfangsbedingung)
   
    [T_sim,t_sim] = ode15(@dgl,t_mess,T0,[],p);
   
    fehler = sum(sum(T_mess-T_sim).^2); % Berechnen der Fehlerquadratsumme
end

function dT_TUdt = dgl(t,x,p)
   
    T = x;
    dTdt = -p(1)*(T^4-p(4)^4)-p(2)*(T-p(4))-p(3)+p(4);
    dT_TUdt = dTdt-p(4);
   
end
 


Ich hoffe ich habe deine Formel halbwegs richtig verstanden und umgesetzt.

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
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 - 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.