DMUG-Archiv 2005

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

Re: is not numerical

Hallo,

die Begründung war, das Mathematica das Argument 
von FindMinimum[]
irrtümlich auswertet.
Im Prinzip ist das Auswerten eine gute Sache, weil 
Mathematica
dann symbolische Eingaben vereinfachen kann. Z. B. 
symbolische
Gradienten berechnen, statt numerischer 
Gradienten.

Bei einem nur numerisch berechneten Argument ist 
das diese
Vorverarbeitung nicht möglich und es sollte eine 
Option geben
die das unterbindet -- gibt es aber nicht. 
Folglich muß man
eine Funktion mit dem Pattern f[u_?NumericQ] 
definieren
und wem das nicht gefällt, der soll die Warnung 
abschalten wie
Peter Klamser vorgeschlagen hat

Gruß
  Jens

----- Original Message ----- 
From: "Thomas Hahn" <hahn@XXXXXXX.de>
To: "klamser" <klamser@XXXXXXX.de>
Cc: "Nowak Robert" <robert.nowak@XXXXXXX.at>; 
<demug@XXXXXXX.ch>
Sent: Tuesday, September 06, 2005 9:42 AM
Subject: Re: is not numerical


| Hallo,
|
| > >wie kann ich die fehlermeldungen die trotz 
korrektem ergebnis auftreten loswerden, ohne die 
obige unhübsche lösung zu strapazieren ? müsste 
doch mit Hold / RelaesHold oder so gehen oder ?
| > >
| > >
| > >In[3]:=
| > >FindMinimum[NIntegrate[Sin[x + u], {x, 1, 
2}], {u, 0}]
| > >
| > >Out[3]:=
| > >NIntegrate::inum : Integrand Sin[u+x] is not 
numerical at {x} = {1.5`}. NIntegrate::inum : 
Integrand Sin[u+x] is not numerical at {x} = 
{1.5`}. NIntegrate::inum : Integrand Sin[u+x] is 
not numerical at {x} = {1.5`}. 
{-0.958851077208406, {u -> -3.0707963268148295}}
|
| die Diskussion hatten wir schonmal auf der 
Liste.
| Ich kann mich gerade nicht mehr an die 
Begründung erinnern,
| aber die vorschlagene Lösung war:
|
| f[u_?NumberQ] := NIntegrate[Sin[x + u], {x, 1, 
2}]
|
| FindMinimum[f[u], {u, 0}]
|
|
| Grüße,
|
| Thomas
|
| 



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

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