
- •Тема 1: Приближенное решение алгебраических и трансцендентных уравнений.
- •Тема 2. Алгебраическое интерполирование.
- •1. Постановка задачи.
- •Тема 3. Приближенное интегрирование.
- •Тема 4. Вычислительные задачи линейной алгебры. Решение систем линейных алгебраических уравнений.
- •Тема 5. Интегрирование дифференциальных уравнений.
- •1. Постановка задачи.
- •Тема 6. Вычисление значений элементарных функций.
- •Тема 7. Нелинейная оптимизация.
Тема 6. Вычисление значений элементарных функций.
Часто в вычислительной математике ставится задача вычисления значения некоторой функции в заданной точке. При этом математический эквивалент выражения не всегда оказывается равнозначным в смысле вычисления его значения. Поэтому ставится задача об оптимальной форме представления функции для построения алгоритма вычисления ее значения. Оптимальность может рассматриваться в смысле минимизации количества вычислительных операций или времени нахождении результата.
1. Вычисление значения алгебраических многочленов.
Пусть требуется вычислить значение многочлена Pn(x)=a0xn+a1xn-1+…+an-1x+an. Вычисление значений полинома оказывается важным не только с практической точки зрения, но также связано с задачей деления многочлена на линейный двучлен, т. е. с задачей определения корней уравнения. Для вычисления значения многочленов используется так называемая схема Горнера. Согласно этой схеме, многочлен представляется в виде Pn(x)=an+x(an-1+x(an-2+…+x(a1+xa0)…)). Реализация схемы Горнера связана с последовательным определением коэффициентов bi, таких, что b0=a0; b1=a1+x*b0; b2=a2+x*b1…bn=an+x*bn-1, дающих возможность нахождения Pn(x*)=bn. Кроме того, используя схему Горнера, мы можем заменить переменную в многочлене, т. е. поделить многочлен на линейный двучлен.
2. Вычисление значений аналитических функций.
Такие
вычисления основаны на представлении
функции в виде быстросходящегося ряда
Тейлора с остаточным членом в форму
Лагранжа. Пусть требуется вычислить
значение аналитической функции f(x)
на отрезке [a,
b]
в точке x=x*[a,
b]
с заданной предельной абсолютной
погрешностью ε. Общий алгоритм решения
задачи имеет следующий вид. Выберем в
отрезке [a,
b]
точку x=c,
по возможности близкую к точке x=x*,
и такую, что функция f(x)
и ее производные могут быть легко
вычислены при x=c.
Представим ε в виде ε=ε1+ε2+ε3
(1), где ε1
– остаточная погрешность (погрешность
метода), ε2
– предельная допустимая абсолютная
погрешность вычисления суммы Sn(x*)=
,
ε3
– предельная допустимая абсолютная
погрешность округления результата. ε1,
ε2
и ε3
могут быть любыми целыми числами,
удовлетворяющими соотношению (1). Обычно
ε записываю в виде ε=10-m,
где m
– целое число. В этом случае обычно
принимают ε3=0,5•10-m,
ε1=ε2=0,25•10-m.
Иногда, если погрешность конечного
округления отсутствует, т. е. ε3=0,
то принимают ε1=ε2=0,5•10-m.
Выберем число слагаемых в Sn
так, чтобы выполнялось
неравенство
|f(x*)-Sn(x*)|=|Rn(x*)|≤ε1.
Вычислим количество слагаемых так,
чтобы приближенное значение
отличалось от точного значения Sn
не более чем на ε2.
Обычно Sn
вычисляется до тех пор, пока очередное
слагаемое сравнится с абсолютной
погрешностью
.
Затем полученную на предыдущем шаге
приближенную сумму округляют до величины
,
если ε3≠0.
Решение записывается в виде f(x*)=
±ε.
Иногда, если сходимость полученного
ряда плохая, его разбивают на части
(e2.25=e2•e0.25)
и вычисляют значения частей.
3. Итерационный метод вычисления значений функций.
Этот искусственный прием вычисления, который основан на итерационном методе Ньютона для решения алгебраических и трансцендентных уравнений.