DMUG-Archiv 2006

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: NonlinearRegress oder NMinimize mit Integral

Hallo,

wenn ich das richtig sehe, dann weiß MMA nicht, welchen Wert

R0sixNull + deltaR0*\[Theta]

annehmen soll.

Und gua???

Peter

Frank Küster schrieb:
Hallo,

ich möchte gerne Parameter eines Modells an Messdaten anfitten, stoße
aber auf Probleme, offenbar weil das Modell NIntegrate enthält.  Ich
hänge ein Notebook an, hier die wesentlichen Punkte.  Das Modell sieht
so aus:

Ecalc[\[Theta]_, gua_] :=
  NIntegrate[
    P[r]EvonR[r, \[Theta], n[gua]],
    {r, 0, lc}
    ]

Dabei ist gua ein Parameter, der verschiedene Datensätze unterscheidet
(sie wurden also bei unterschiedlichen Konzentrationen der Chemikalie
Guanidiniumchlorid gemessen), und \theta ist der Parameter, der in einem
Datensatz variiert wurde (die Temperatur in Grad Celsius).  Die
eigentlichen Fitparameter stecken in der Definition von EvonR.

Ich habe nun so zu fitten versucht:

NonlinearRegress[Data[0], Ecalc[\[Theta], n[0]], {\[Theta]}, FitParams]

Aber das liefert nur "Integrand is not numerical".  Statt EvonR die
Funktion explizit hinzuschreiben ändert wie erwartet nichts.

Und eigentlich ist es noch komplizierter, weil ich mehrere Datensätze
bei unterschiedlichen Werten von gua gemessen habe und diese global
fitten möchte.  Ich habe dazu bissher immer selber ein ChiSquared
definiert (mit Map[(#[[2]]-Ecalc[#[[1]],gua})^,Data]) und dann NMinimize
verwendet, aber das steigt genauso aus.

Gibt es eine Möglichkeit, dieses Problem zu lösen?

Danke im Voraus,
Frank




Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html