DMUG-Archiv 1998

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Re: nichtlineare Regression

Lieber Martin,

Eberhard von Kitzing hat mich darauf hingewiesen, dass man FindMinimum
auch mit nur numerisch gegebenen Gradienten benutzen kann. Beispiel:

sunny% math
Mathematica 3.0 for Solaris
Copyright 1988-97 Wolfram Research, Inc.
 -- Motif graphics initialized -- 

In[1]:= f[x_?NumberQ] := (Print["f[", x, "]"]; x^2)

In[2]:= grad[x_?NumberQ] := (Print["grad[", x, "]"]; 2 x)

In[3]:= FindMinimum[f[x], {x, 2}, Gradient -> {grad[x]}]
f[2.]
grad[2.]
f[1.96864]
f[1.94926]
f[1.81358]
f[0.863858]
            -15
f[2.66454 10   ]
f[0.]
f[-1.23607]
               -15
grad[2.66454 10   ]
f[-0.618034]
grad[-0.618034]
f[-0.0000119994]
grad[-0.0000119994]
            -15
f[2.66454 10   ]
f[0.]
grad[0.]

Out[3]= {0., {x -> 0.}}

Das heisst, es gibt neben dem Vorschlag von Udo und dem von mir noch
eine dritte Moeglichkeit, naemlich FindMinimum sowohl den Wert Deiner
Funktion als auch Deiner Jacobimatrix zu uebergeben. FindMinimum be-
nutzt dann die Gradienteninformation (der Aufruf geschieht nur mit
einem Startwert pro Parameter, siehe obiges Beispiel).

Viele Gruesse

Arnd


Verweise:
Re: nichtlineare Regression
Martin Hammer, 26.06.1998

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 08.09.2003 20:44