![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
После построения аппроксимирующего полинома наступает этап работы с ним. И здесь важно уметь как можно экономичнее вычислять значение такого полинома для различных значений аргумента 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; Прочитано: 821 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!