Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вычисление значений полиномов по схеме Горнера



После построения аппроксимирующего полинома наступает этап работы с ним. И здесь важно уметь как можно экономичнее вычислять значение такого полинома для различных значений аргумента x=x.

На первый взгляд, наиболее естественный способ – провести n– 1 умножений, найдя степени x. Затем, выполнив еще n умножений и n сложений, получить Pn (x). Итого 3 n– 1 действий.

Другой способ, называемый схемой Горнера, состоит в перезаписи полинома в виде

Pn (x) = a 0 + x (a 1 + x (a 2 +... + x (an –2 + x (an –1 + xan )) ...).

Эта запись легко программируется. Поиск Pn (x) организуется следующим способом:

bn = an; bn –1 = an –1 + x bn; bn –2 = an –2 + x bn –1 ;...

b 1 = a 1 + x b 2; b 0 = a 0 + x b 1 = Pn (x).

Этот способ реализуется за n умножений и n сложений, итого 2 n действий[2].

Он весьма экономичен при реализации на ЭВМ, т.к. в памяти необходимо хранить только коэффициенты ак и одну промежуточную величину b.

Схема счета вручную очень наглядна и имеет вид:

аn an –1 an –2 ... a 0 x

+ x bn x bn –1 ... x b 1

bn = an bn –1 bn –2 ... b 0 = Pn (x).

Пример 1. Вычислить P 3 = 6 x 3 47 x 2 + 12 x + 27 при х= 8.

6 -47 12 27 8

+ 48 8 160

6 1 20 187 = P 3(8).

Схему Горнера удобно применять для проведения замены х = у + x в полиномах Pn (x).

Известно, что всегда можно полином n -ой степени поделить на бином х–x, в общем случае с остатком, т.е.

Pn (x) = (bn xn –1 + bn –1 xn –2 +... +b 1)(x – x) + b 0,

где, очевидно, b 0 = Pn (x).

C другой стороны, если произвести в Pn (x) замену x = y + x, то, раскрыв скобки и сгруппировав подобные, получим:

Pn (y+x) = An yn + An –1 yn –1 +... + A 1 y + A 0 =

= (An yn –1 + An –1 yn –2 +... + A 1) y + A 0.





Дата публикования: 2015-01-23; Прочитано: 798 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...