numerisch berechnete Integrale mit MAXIMA (CAS) plotten

Neue Frage »

Abrakus Auf diesen Beitrag antworten »
numerisch berechnete Integrale mit MAXIMA (CAS) plotten
Hallo,

ich versuche das Ergebnis vieler numerisch berechneter Integrale mit MAXIMA (CAS) zu plotten.

Minimalbeispiel:

f(a, b):= a + b;
g(b):= first(quad_qag(f(a, b), a, 0, 1, 2));
plot2d(g(b), [b, 1.0, 2.0]);

leider kommt bei der Ausführung eine nichtssagende Fehlermeldung von GNUPLOT (wgnuplot.exe hat ein Fehler festgestellt und muss beendet werden.) und die MAXIMA-Fehlermeldung:
"plot2d: expression evaluates to non-numeric value somewhere in plotting range".

Wird die Funktion g mit Werten für b aufgerufen, so gibt MAXIMA ein vernünftiges Ergebnis zurück:
g(1) = 1.5
g(1.5) = 2.0
g(2) = 2.5

Ich habe leider keine Idee woran sich der plot Befehl so stört.

Besten Dank für alle Antworten.
Abrakus Auf diesen Beitrag antworten »
Lösung gefunden
Für alle diejenigen die es interessiert:
Das oben aufgeführte Problem besteht darin, dass g(b) von Maxima nicht als Funktion erkannt wird, auch wenn man einzelne Werte damit ausrechnen kann.

Lösung: Funktionsdeklaration mit Hilfe von lambda:

f(a, b):= a + b;
g(b):= lambda([b], first(quad_qag(f(a, b), a, 0, 1, 2)));
plot2d(g(b), [b, 1.0, 2.0]);


Die "scheinbare" Funktion
first(quad_qag(f(a, b), a, 0, 1, 2)) wird durch den Ausdruck:
lambda([b], first ...) explizit zu einer Funktion, welche von b abhängt deklariert.

Grüße.
 
 
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »