numerisch berechnete Integrale mit MAXIMA (CAS) plotten |
15.02.2013, 22:35 | Abrakus | Auf diesen Beitrag antworten » |
numerisch berechnete Integrale mit MAXIMA (CAS) plotten 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. |
||
18.02.2013, 00:53 | 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. |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|