DMUG-Archiv 2005

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

Re: NIntegrate::inum

Hallo,

f muss als Funktion einschließlich der Parameter definiert werden, die übergeben werden sollen (also f[a_] statt f):

ClearAll[f]
f[(a_)?NumericQ] := NIntegrate[Sin[a*x], {x, 0, 1}]
Plot[f[a], {a, 0, 2}]

Das Pattern _?NumericQ wäre nicht unbedingt notwendig, wenn komplizierte verschachtelte Funktionen numerisch ausgewertet werden sollen, dann ist es oft hilfreich.

Freundlicher Gruß

Peter Klamser

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