Hallo,
und auf die Idee, das beim Minimieren ein *Gradient* berechnet
werden muss, was bei einer MathLink Funktion wohl
nicht geht ist man wohl nicht gekommen ??
Was soll "uberhaupt der Return[]/Evaluate[] Unsinn (??)
und schreibt man dumm im Module[] nicht mit zwei "m" ?
Gruss
Jens
Frank Scherbaum wrote:
>
> Hallo zusammen,
>
> ich versuche Mathematica 5. zum Lösen einer numerischen Minimierungsaufgabe
> zu bewegen, bei der ich den
> Misfitwert der Anpassung des Modells an Messdaten in einem über Mathlink
> eingebundenen C-Programm berechnen lasse.
>
> Das Prinzip des Ablaufes meines erfolglosen Versuches ist nachstehend
> gezeigt. Das Problem, welches auftritt ist, dass ich das Modul testf[] zwar
> einen numerischen Wert zurückgibt, wenn ich es sozusagen im Notebook solo
> aufrufe (d.h. die Mathlink Anbindung funktioniert), als Argument von
> FindMinimum[] oder auch NMinimize[], wo ich es eigentlich verwenden möchte,
> kommt nichts zurück.
>
> testf[x_] := Module[{dum},
>
> val = scalcml[x]; (* Über mathlink eingebundenes C Programm,
> welches den zum Modellparameter x gehörenden
> Misfitwert eines Modells zurückgibt *)
>
> Return[val];
> ];
>
> FindMinimum[testf[Evaluate[x]], {x, 13.5}]
>
> Sieht jemand was ich falsch mache??
>
> Für jede Hilfe dankbar,
> Frank Scherbaum
>
> --------------------------
> Frank Scherbaum
> Institut für Geowissenschaften
> POB 601553
> D-14415 Potsdam
> Tel. +49(0)331 977 5257
> Fax. +49(0)331 977 5060
> http://www.uni-potsdam.de/u/Geowissenschaft/index.htm