Obliczanie wartości wielomianów - schemat Hornera
mgr Zofia Matusiewicz
1
Ćwiczenia
1. Wykorzystaj algorytm Hornera do obliczania wartości wielomianu w(x)
w punkcie x
0
(a) w(x) = x
4
− 3x
3
− 5x
2
− 10 w punkcie x
0
= 2.
Podany wielomian można rozpisać w(x) = x
4
− 3x
3
− 5x
2
− 10 =
x(x
3
− 3x
2
− 5x) − 10 = x(x(x
2
− 3x − 5)) − 10 = x(x(x(x −
3) − 5)) − 10. Stąd wartość wielomianu dla x
0
= 2 wynosi w(2) =
2(2(2(2 − 3) − 5)) − 10, czyli wykonując trzy mnożenia (i nie
potęgując) otrzymujemy w(2) = −38.
(b) w(x) = 2x
3
+ 2x
2
− 3x + 8 w punkcie x
0
= 3.
(c) w(x) = x
5
− 2x
3
− 3x
2
+ 7x + 6 w punkcie x
0
= −1.
(d) w(x) = −
3
71
x
11
+ x
7
− 30.7x
3
− 100x
2
− 3 w punkcie x
0
= 0.
2. Wykorzystaj algorytm Hornera do obliczenia wartości pochodnych w
punkcie. Podobnie jak dla poniższego przykładu oblicz wartości pierw-
szej, drugiej i trzeciej pochodnej wielomianów w podanych punktach
z zadania 1 (jeśli to możliwe).
Metodą Hornera wyznaczymy wartości wielomianu w(x) = −x
3
−3x
2
+
5x + 7 i trzech kolejnych pochodnych w punkcie x
0
= 2.
x = 2
−1
−3
5
7
w(2)
−1
−1 · 2 − 3 = −5
−5 · 2 + 5 = −5
−5 · 2 + 7 = −3
w
0
(2)
1!
−1
−1 · 2 − 5 = −7
−7 · 2 − 5 = −19
w
00
(2)
2!
−1
−1 · 2 − 7 = −9
w
000
(2)
3!
−1
Na podstawie tej tabelki mamy w(2) = −3, w
0
(2) = 1! · (−19) = −19,
w
00
(2) = 2! · (−9) = −18, w
000
(2) = 3! · (−1) = −6.
Metoda obliczania wartości w poszczególnych komórkach tabeli: war-
tość z komórki po lewej przemnażamy przez wartość x i dodajemy
wartość z komórki powyżej. Podczas obliczania pierwszej pochodnej
nie obliczmy ostatniej komórki, drugiej - ostatniej i przedostatniej,
etc.
1
Licząc n-tą pochodną należy ostatnią wyliczoną wartość przemnożyć
przez n!.
2
Pytania do ćwiczeń
1. Dla zadania 1 podaj ilość mnożeń (i sumowań) dla „tradycyjnej” me-
tody i metody Hornera.
2. Wykorzystując tabelą z zad. 2 możemy łatwo podzielić wielomian
w(x) = −x
3
− 3x
2
+ 5x + 7 przez (x − 2). W wyniku otrzymujemy
w(x) = (x − 2)(−x
2
− 5x − 5) − 3. (Kolejne współczynniki szukanego
wielomianu odczytujemy z kolejnych komórek wiersza w(2). Ostatnia
komórka tego jest resztą z dzielenia wielomianu przez dwumian).
Utwórz tabelę jak w zad. 2 i dokonaj dzielenia podanych wielomianów
w zad. 1 przez (x − x
0
).
2