|
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 |