Eine Polynomfunktion zu einer gegebenen Punkteliste bestimmen

Aufgabe:

Zu einer gegebenen (und geeigneten) Liste von Punkte ist die passende Polynomfunktion zu bestimmen. Der Grad des Polynoms ist automatisch um eins kleiner als die Anzahl der Punkte!

Programmcode:

kill(all);
Punkt:[[-3,0],[0,3],[2,0],[5,0]];
n:length(Punkt);
Grad:n-1;
g(x):=x[2]=sum(a[i]*x[1]^(n-i),i,1,Grad)+a[n];
Gleichungen:map(g,Punkt);
Unbekannte:makelist(a[i],i,1,n);
l:solve(Gleichungen,Unbekannte);
y=Unbekannte.makelist(x^(n-i),i,1,n),l;

Maxima Online: http://maxima-online.org/?inc=r-1848088314

Erklärung der Berechnung: prog-punkte

  1. Löschen aller Speicher (nicht notwendig!).
  2. Liste der gegebenen Punkte –> EINGABE (darf verändert werden).
  3. Anzahl der gegebenen Punkte.
  4. Der Grad des gesuchten Polynoms ist um eins kleiner als die Anzahl der gegebenen Punkte.
  5. Funktionsmuster für die Bestimmungsgleichung der Polynomfunktion.
  6. Das Funktionsmuster auf die Punkteliste anwenden. Die Koordinaten der Punkte werden eingesetzt und die Liste der Gleichungen automatisch erzeugt.
  7. Die Liste der Unbekannten erzeugen. Die Verwendung von indizierten Koeffizienten ist notwendig.
  8. Lösung des Gleichungssystems.
  9. Die gesuchte Funktion mit Skalarmultiplikation (von Vektoren = Listen) erzeugen.

Noch eine Aufgabe inkl. Graph und Faktorenzerlegung:
http://maxima-online.org/?inc=r-1201857931