Algorithmensammlung: Numerik: Horner-Schema

Aus Wikibooks

Wechseln zu: Navigation, Suche

Algorithmensammlung: Numerik

[Bearbeiten] Horner-Schema

Das Horner-Schema beschreibt in der numerischen Mathematik eine einfache Art, Polynome aufzuschreiben und auszuwerten.

Es nutzt aus, dass sich jedes Polynom p(x)=b_0 + b_1 x + b_2 x^2 + \dots + b_n x^n schreiben lässt als p(x)= (\dots ( b_n x + b_{n-1} )x + \dots )x + b_0.[1].

Die verwendeten Koeffizienten bn lassen sich mithilfe eines Interpolationsalgorithmus bestimmen.

Für nähere Informationen über das Horner-Schema siehe Wikipedia-logo.png Horner-Schema.

Inhaltsverzeichnis


[Bearbeiten] C

double horner(double Ac[], double Ax[], int n, double x) {
    /* Ac ist der Vektor mit den Koeffizienten,
       Ax sind die Stützstellen und, n die Anzahl von Stützstellen und
       x der Punkt, an dem ausgewertet werden soll. */
    int i;
    double y = 0;
    for(i=n; i>=0; i--) {
        y = y * (x - Ax[i]) + Ac[i];
    }
    return y;
}

[Bearbeiten] Matlab

Siehe Octave.

[Bearbeiten] Octave

function y = horner(Ac, Ax, x)
    % Ac ist der Vektor mit den Koeffizienten,
    % Ax sind die Stützstellen und
    % x der Punkt, an dem ausgewertet werden soll.
    %
    y = 0;
    for i = length(Ax):-1:1
        y = y * (x - Ax(i)) + Ac(i);
    end
end

[Bearbeiten] Quellen

  1. Artikel in der deutschsprachigen Wikipedia
Persönliche Werkzeuge