algorytm.org

Algorytm Hornera (pochodne)



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Algorytm Hornera (pochodne)
Ocena użytkowników:***** / 34
SłabyŚwietny 
Wpisany przez Tomasz Lubiński, 08 sierpnia 2005 21:35

Algorytm Hornera pozwala na obliczenie wartości znoramalizowanych pochodnych wielomianu postaci:
W(x)=a_nx^n+...+a_1x+a_0
gdzie n oznacza stopień wielomanu. W(x) możemy przedstawić następująco:
W(x)=(x-a)^jv(x)+r(x)
gdzie wielomian r jest stopnia mniejszego niż j. Po j-krotnym zróżniczkowaniu otrzymujemy:
W^{(j)}(a)=j!v(a)
czyli v(a) jest równy j-tej znormalizowanej pochodnej w punkcie a. Współczynniki v i jego wartość obliczamy dzieląc wielomian W(x) i kolejno otrzymywane ilorazy przez (x-a) algorytmem Hornera.

Przykład:
Obliczymy wszystkie trzy znormalizowane pochode wielomianu W(x)=x3-2x2-5x+5 w punkcie x=2
b2=a3=1
b1=b2*2+a2=0
b0=b1*2+a1=-5

Zatem po podzieleniu W(x)/(x-2) otrzymujemy x2-5, którego wartość dla x=2 wynosi -1 - zatem właśnie tyle wynosi pierwsza znormalizowana pochodna. Otrzymany wielomian dzielimy jak poprzednio.
c1=b2=1
c0=b1*2+a1=2
I otrzymujemy x+2, którego wartość dla x=2 wynosi 4 - druga znormalizowana pochodna.
d0=c1=1
I otrzymujemy 1, wartość dla x=2 wynosi 1 - trzecia znormalizowana pochodna.

Implementacje
AutorJęzyk
programowania
KomentarzOtwórzPobierzOcena
Tomasz LubińskiC/C++
.cpp
.cpp
***** / 6
Tomasz LubińskiDelphi/PascalBorland Delphi 5
.pas
.pas
***** / 2
Tomasz LubińskiJava
.java
.java
***** / 2
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język
programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie

Poprawiony: 25 września 2012 14:40
Komentarze
photo
-10 # C++ 2009-12-01 20:19
To nie jest C++, ten kod źródłowy napisany jest w C.
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
+9 # C/C++ 2016-08-04 18:29
Kod napisany w C jest prawidłowym kodem C++.
C++ jest nadzbiorem C.
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz