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

Tipps/Ideen für Optimierung von Koeffizienten

 

Tobi_ibk
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 14.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2014, 14:42     Titel: Tipps/Ideen für Optimierung von Koeffizienten
  Antworten mit Zitat      
Hallo zusammen!

Ich habe gemessene Daten für einfallende langwellige Strahlung und folgende Gleichung um einfallende langwellige Strahlung aus Temperatur T und niederschlagbarem Wasser PW zu berechnen:
Zitat:
LW=εσT^4
ε=(1-e^(-1.66*τ))
τ= a-b*((T+273.15) / 273.15) + c * sqrt( (PW/10) / 2.5 )

mit a= 2.232 , b=-1.87 , c=0.7356


Jetzt ist meine Frage, ob und vor allem wie ich die Koeffizienten a,b,c so optimieren kann das der quadratische Fehler möglichst klein wird.

Ich würde mich über Ideen/Vorschläge sehr freuen!

Danke schonmal und schöne Osterfeiertage!
Tobi
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: 19.04.2014, 20:06     Titel:
  Antworten mit Zitat      
Hallo,

Code:

Die gegebenen a-c kannst du als Startwerte für die Optimierung übergeben.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Tobi_ibk
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 14.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.04.2014, 14:47     Titel:
  Antworten mit Zitat      
Vielen Dank für den Hinweis!

ich habs mal folgendermaßen probiert:

Code:
xdata = [T PW];
ydata= LW';
x0=[2.232 1.87 0.7356]


f = @(x,xdata)(1- (exp(-1.66 .* (x(1) - (x(2) .* ((xdata(:,1) +273.16) ./ 273.16)) + ...
    (x(3) .* (sqrt((xdata(:,2) ./ 10) ./ 2.5))))))).* 5.67E-8 .* ((xdata(:,1) +273.16) .^4)

x = lsqcurvefit(f,x0,xdata,ydata);
 



leider gibt Matlab mir keine 3 Koeffizienten, sondern folgende Antwort:

Zitat:
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to
its initial value is less than the default value of the function tolerance.

<stopping criteria details>


Optimization stopped because the relative sum of squares (r) is changing
by less than options.TolFun = 1.000000e-06.

Optimization Metric Options
relative change r = 4.85e-08 TolFun = 1e-06 (default)



vermutlich hab ich da etwas falsch verstanden, denn es sollten ja besser angepasste Koeffizienten x1 x2 und x3 herauskommen.

Viele Grüße
Tobi
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: 20.04.2014, 15:15     Titel:
  Antworten mit Zitat      
Hallo,

klingt soweit gut. Hast du dir denn mal x danach angeschaut? Da sollten doch die drei Werte drinstehen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Tobi_ibk
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 14.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.04.2014, 18:37     Titel:
  Antworten mit Zitat      
stimmt, hab ja die Ausgabe in der Kommandozeile unterdrückt Cool

super, vielen Dank und einen schönen restlichen sonnigen Ostersonntag!
Tobi
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.