DMUG-Archiv 2005

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

Re: NIntegrate::inum

With[{
f := NIntegrate[Sin[a*x],  {x, 0, 1}]},
Plot[f, {a, 0, 2}]]
erzeugt keine Fehlermeldung.

Aber Sie sollten eigentlich schon mit Argumenten arbeiten.
Im Extremfall können Sie zu Tricks wie Paletten und InterpretationBox
greifen . Also, z.B.:

f[a_]:= NIntegrate[Sin[a*x],{x,0,1}];

CellPrint@
 Cell[BoxData[
     RowBox[{"Plot","[",
         RowBox[{InterpretationBox["f",f[a]],","," ",
             RowBox[{"{",RowBox[{"a",",","0",",","2"}],"}"}]}],"]"}]],
   "Input"]

wird dann als Plot[f, {a,0,2}] dargestellt aber als Plot[f[a],{a,0,2}] vom Kernel interpretiert.

Um die Eingabe zu erleichtern können Sie entweder Copy/Paste benutzen (nach z.B. DiaplayForm[ InterpretationBox["f",f[a]] ] ) oder sich einen Button oder eine Palette basteln. Als (etwas heftiges) Beispiel dazu können Sie sich das TARCER.nb notebook von
http://www.feyncalc.org/tarcer/
anschauen wo ich damals mit Makeboxes direkt die InterpretationBoxes definiert habe und dann mit Hilfe von Palettes die Formeln zu erzeugen konnte daß sie schön kompakt aussehen, aber gleichzeitig alle Argumente und damit Informationen für Mathematica vorhanden sind.
Das kann manchmal wirklich ganz praktisch sein.
Gewissermassen Literate Programming.

MfG,

Rolf Mertig

reinhard schlosser wrote:

Liebe Liste,

nach ausführen der beiden Befehle

f:=NIntegrate[Sin[a x],{x,0,1}]

Plot[f,{a,0,2}]

erhalte ich die Meldung

NIntegrate::inum: Integrand Sin[a x] is not numerical at {x} = {0.5}.

Anschließend erscheint der erwartete Graph.

Obiges Parameterintegral ist nur ein einfaches Beispiel. Das tatsächlich Parameterintegral hängt von einer handvoll Parameter und einer handvoll Variablen ab und ich möchte die Parameter der Übersichtlichkeit halber nicht in die Funktionsklammer schreiben. Also in obigem Beispiel will ich f[a_]:=NIntegrate[Sin[a x],{x,0,1}] vermeiden. Soll ich die Meldung inum einfach ignorieren, handelt es sich um eine essentielle Meldung, gibt es elegante Lösungen? Da eine Funktionsauswertung des tatsächlichen Integranden ziemlich zeitaufwendig ist, sollten Ihre Tipps die Berechnungszeit nicht erhöhen. Schon mal vielen Dank im voraus.



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

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