Тема: Вычисление значений функций 1. Вычисление значения алгебраического полинома. Схема Горнера. Рассмотрим полином Наша задача – найти значение этого полинома при x = ξ. То есть вычислить Для рационального вычисление перепишем полином в виде Отсюда легко сконструировать нужную последовательность вычислений, начиная с самых внутренних скобок: b 0 =a n ; b 1 =a n-1 +b 0 ξ; b 2 =a n-2 +b 1 ξ; ……… b n-1 =a 1 +b n-2 ξ; b n =a 0 +b n-1 ξ. это искомое значение. Сравним эффективность предложенного варианта вычислений (схемы Горнера) с прямым вычислением «в лоб». В качестве критерия будем использовать количество операций умножения.
При вычислении по формуле нам потребуется выполнить …+n=n(n+1)/2 операций умножения. А по схеме Горнера только n операций. 2. Приближенное суммирование числовых рядов. Зада заключается в том, чтобы найти сумму S сходящегося числового ряда с нужной нам точностью ε (ε – абсолютная погрешность). Сумма ряда всегда представляется в виде S=S n +R n, где S n – n-ая частичная сумма, R n – остаток ряда. Остаток ряда характеризует остаточную погрешность. Задумаемся на вопросом, из-за чего появляются погрешности при суммировании ряда. Тому имеется три причины: остаточная погрешность, погрешность вычисления самих элементов ряда, погрешность при округлении результата. Наша задача корректно учесть все эти нюансы. Процедура вычислений такова. Выбираем три положительных числа ε 1, ε 2, ε 3, таких, что ε 1 + ε 2 + ε 3 = ε. Количество n слагаемых в частичной сумме S n выберем столь большим, чтобы остаточная погрешность |R n | ε 1.
Каждое из слагаемых a i частичной суммы вычисляем с предельной абсолютной погрешностью, не превышающей ε 2 /n. Тогда |a i -A i | ε 2 /n, i=1,2,…,n, а для частичной суммы s1 n = погрешность суммирования будет удовлетворять неравенству |S n -s1 n |ε 2. Полученный результат (s1 n ), при желании, может быть округлен (заменен на s2 n ). Округление необходимо производить таким образом, чтобы |s1 n -s2 n |ε 3. При выполнении такой процедуры суммирования ряда, полученный результат s2 n будет соответствовать искомой сумме с погрешностью не более ε. Это легко показать. В самом деле, рассмотрит тождество S-s2 = (S-S n ) + (S n -s1) +(s1-s2), оценим его по модулю |S-s2||S-S n |+|S n -s1|+|s1-s2| |S-s2| ε 1 + ε 2 + ε 3 ε. Теорема. Если члены ряд представляют собой соответствующие значения положительной монотонно убывающей функции f(x), то есть а n =f(n), тогда
Теорема. Если ряд знакочередующийся и модули его членов монотонно убывают, тогда |R n | |a n+1 |. 3. Вычисление значение аналитических функций. Функция f(x) аналитическая в точке x=ξ, если в окрестности этой точки она разлагается в ряд Тейлора, то есть ее можно представить в виде Остаточный член разложения R n (x) представляет собой ошибку при замене функции отрезком ряда Тейлора Для остаточного члена существует несколько форм представления. Одна из них такая
Замена функции отрезком ряда Тейлора - распространенный способ вычисления значение различных функций. Вычисление экспоненты ( е х ). Известно из курса математического анализа, что экспоненциальная функция в окрестности точки 0 разлагается в ряд Тейлора вида: Остаточный член этого ряда имеет вид: Непосредственно в таком виде использовать представление экспоненты неэффективно, так как х n+1 сильно растет, когда |x|>1. Для достижения требуемой точности придется использовать много членов разложения (большая трудоемкость). Для обхода этих затруднений предлагается следующая процедура. Представим аргумент х в виде х=Е(х) + q, Е(х) – целая часть числа х, q – дробная часть (|q|<1). Тогда е х = е Е(х) *е q.
Число е = … известно с очень высокой точностью. Поэтому величину е Е(х) = е*е*е*…*е можно считать вычисляемой с какой угодно точностью. Второй сомножитель е q будем вычислять, пользуясь разложением в ряд Тейлора. Очевидно, что при |q|<1 сходимость ряда будет быстрой, то есть потребуется мало членов разложения. Для величины остаточного члена можно получить более точную оценку. В самом деле, по определению остатка, можем записать
Если учесть, что, то получим Если обозначить, u n - последний сохраненный член частичной суммы, тогда для остаточного члена можно записать Если нам задана остаточная погрешность (ε r ), тогда количество слагаемых частичной суммы ряда легко определить в процессе вычисления. Находить новые слагаемые и суммировать их можно прекратить, как только для очередного слагаемого выполниться условие
Таким образом вычисление экспоненциальной функции сводится е х = u 0 + u 1 + u 2 +…+ u n, где u 0 =1, u k = xu k-1 /k. Предложенный ранее вариант определения количества слагаемых можно уточнить (дать более точные условия прекращения суммирования) если предположить, что выполняются следующие нежесткие условия, а именно: n 2 |x| >0. В этом случае С учетом принятого предположения, вторая дробь не может быть больше 2 (это легко проверить). Тогда, Отсюда вывод, процесс суммирования можно прекратить, если последний вычисленный член u n по модулю не превосходит ε r, то есть |u n |< ε r.
Вычисление натурального логарифма Начнем с известного представления рядом Тейлора функции натурального логарифма в окрестности 1. Недостатки этого представления: 1) диапазон чисел узкий; 2) для значений х, близких по модулю к 1, сходимость ряда становиться медленной. Получим другое представление для натурального логарифма. Найдем разность этих представлений Обозначим, откуда x=(1-z) / (1+z).
В результате получим Диапазон чисел расширили. Пусть х – положительное число, логарифм которого надо вычислить. Представим его в виде произведения х=2 m * q, где 0.5 q < 1, и далее обозначим где Теперь логарифм числа х можно представить в виде Остаточный член, по определению, имеет вид (замена знаменателей во всех слагаемых на 2n+1)
В правой части неравенства, в круглых скобках - бесконечная геометрическая прогрессия, со знаменателем меньшем 1. Сумма такой прогрессии легко находится, и равна Получаем неравенство для остаточного члена Если учесть, что тогда можно записать Окончательно получаем неравенство Сам вычислительный процесс можно организовать следующим образом.
Обозначим тогда можно получить Считая, что Ln(2) = вычисление логарифма любого положительного числа не представляет труда. Окончание процесса суммирования производим тогда, когда Где остаточная погрешность. В самом деле, в этом случае имеем