DMUG-Archiv 2004

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

Re: FW: FindMinimum die zweite

Hallo Robert,

Es nervt (unter Mma 4.2) nicht wirklich so schlimm. Hätten Sie mit Ihrer Definition

In[3]:=  Clear[auchnervend];
auchnervend[x_] := Input@ToString@x

dies getippt,
In[19]:= FindMinimum[auchnervend[x // N], {x, 1, 2}]
Out[19]= {1.01, x -> 1.05074}}

dann geht es. So geht es auch:
In[20]:= FindMinimum[auchnervend[N@x], {x, 1, 2}]
Out[20]= {1.0001, {x -> 1.93107}}

Wenn Sie finden, dass N[] die Grenze vom Einfachen zum Hässlichen überschreitet oder Sie N[] nicht anwenden können, wie wär's mit einem Attribut?

In[21]:= Clear[obernervend];
obernervend[x_] := Input@ToString@x;
SetAttributes[obernervend, NumericFunction];

In[24]:= FindMinimum[obernervend[x], {x, 1, 2}]
Out[24]= {1.01, {x -> 1.22464}}

Oder entsprechend Ihrer Intention mit Evaluate und ohne Attribut und ohne N:
In[25]:= FindMinimum[auchnervend[Evaluate@x], {x, 1, 2}]
Out[25]= {1.0001, {x -> 1.06343}}

Also es gibt mindestens drei Lösungen ohne x_?NumericQ.
Bzgl. der numerischen Genauigkeit bei diesen Beipielen gelten natürlich die Ausführungen von Jens.

Mit den besten Grüssen
Udo.

Nowak Robert wrote:

hi jens und interessierte,

nervend[x_?NumericQ] :=
 Input@ToString@x

FindMinimum[nervend[x], {x, 1, 2}]

funktioniert letztendlich tatsächlich wie erhofft.


auchnervend[x_] :=
 Input@ToString@x

FindMinimum[auchnervend[x], {x, 1, 2}]

funktioniert wasweissderteufelvieleichtwarumauchimmer nicht.


(If[MemberQ[Attributes[#], HoldAll], #] & /@ Names["System`*"]) /. Null -> Sequence[]

daraus entnehme ich das FindMinimum das Attribut HoldAll besitzt. laut mma help sollte sich das mit Evaluate[] lösen 
lasssen aber

FindMinimum[Evaluate@auchnervend[x], {x, 1, 2}]

funktioniert wasweissderteufelvieleichtwarumauchimmer auch nicht.


na ja jedenfalls allerbesten dank, jetzt weiss ich wie es doch funkt.

grüsse robert



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

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