2016-05-14 6 views

Antwort

1

Das Problem besteht darin, dass mnewton einen Ausdruck benötigt, die nach den Werten zu dem angegebenen Variablen zuweisen (nur x in dem Beispiel) zu einer Zahl ausgewertet. Damit dies funktioniert, müssen Sie verhindern, dass mnewton aufgerufen wird, bis a einen Wert hat. Zum Beispiel so etwas wie:

plot2d (lambda ([a], rhs(mnewton(p(x, a) = 0, x, 20)[1][1])), [a, -1, 1]); 

wo p(x, a) das Polynom Ausdruck ist.

Ich habe den Bereich von a kleiner gemacht, da ich einen Fehler von mnewton für größere Werte von a erhalten.

Sie können auch find_root versuchen, Gleichungen von 1 Variable zu lösen.

Da die Funktion Frage ist, wird ein kubisches Polynom, gibt es eine exakte Lösung und Maxima können es über finden: algsys([p(x, a)], [x]);

+0

Die Funktion in meiner Frage gewählt war nur ein Platzhalter, in meinem konkreten Fall Maxima sind nicht in der Lage zu finden die Wurzel mit 'solve (..)'. Danke für deine Antwort und den 'find_root (..)' Hinweis! – Frithjof