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