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);
}