Angewandte Mathematik
Satz und Algorithmus von Horner
Horner Schema - wird auf Monomdarstellung von Polynomen angewendet (Q (n))
Ausgangsschema
Auswerten an der stelle x=-2
Man addiert die Zahl nach unten (am Anfang mit der 0) und das Ergebnis
multipliziert man mit den Faktor(-2) und schreibt es diagonal wieder in das
Schema hinein.
in diesem Schema werden die unaufgelisteten Potenzen mit 0 aufgefühlt.
ein kleines Programm zur Simulation. |
#include <stdio.h> #include <math.h> void moncoef(void); double horner(double,int,double); feld a; int n; void moncoef(void) { /* Verzicht auf Einleseroutine und direkter Zugriff auf Aufgabendaten des Skripts */ n=5; a[0]=8.0; a[1]=-4.0; a[2]=0.0; a[3]=2.0; a[4]=-4.0; a[5]=2.0; } double horner(double x0, int n, double a) { int k; double b; b=a; for(k=1;k<=n;k++) b=b*x0+a; return b; } /* Hauptprogramm */ int main(void) { int k; double x0=-1.0,px0; moncoef(); px0=horner(x0,n,a); printf("\n"); printf("\n"); printf("Auszuwerten ist ein Polynom p vom Grad %i.\n",n); printf("\n"); printf("\n"); for(k=0;k<=n;k++) printf("Der %i-te Monom-Koeffizient des Polynoms p lautet % .12E.\n",k,a[k]); printf("\n"); printf("\n"); printf("Der Auswertungspunkt ist gegeben als x0 = %.12E.\n",x0); printf("\n"); printf("Der Horner-Algorithmus liefert p(x0) = %.12E.\n",px0); return(0); } |