Реферат: Вычисление элементарных функций
- вычислительной eв = Fэт * - Fm (xm )/Mf
5. Расчет параметров алгоритма
Одной из задач проектирования алгоритмов таблично алгоритмических методов является удовлетворение требований по времени вычисления элементарной функции в микроЭВМ и точности вычислений, которая обусловлена заданной разрядностью представления аргумента.
Требование по времени tдоп можно выполнить, ограничивая такие параметры численных методов как число членов ряда, полинома, цепной дроби, шагов итераций и т. п. При этом учитывается время выполнения в микро-ЭВМ арифметических, логических и других используемых операций.
Необходимая точность вычислений обеспечивается путем выполнения баланса методической и вычислительной погрешностей алгоритма в виде условия eм = eв где в качестве eв выступает ее минимальное значение 2-( n+1) .
В случае разложения в ряд Тейлора баланс погрешностей имеет вид:
((D xn-s )m+1 /(m+1)!)*|F(m+1) max | = 2-( n+1)
Учитывая что D xn-s = 2-s имеем:
S ³ (n + 1 - log2 ((m+1)!)/|F(m+1) max |)/(m+1)
Для большинства элементарных функций зависимость s(m) хорошо аппроксимируется соотношением:
S ³ (n + 1 – 2m*log2 e)/(m+1)
Следовательно, по известной разрядности аргумента n и количеству членов ряда m можно оценить минимальную разрядность s старшей части аргумента X, обеспечивающую требуемый баланс методической и вычислительной погрешностей.
В случае использования кусочно-линейной интерполяции баланс погрешностей имеет вид:
(D xn-s |D xn-s – h|/2)*|F(2) max | = 2-( n+1)
Поскольку h=2-s , то левая часть этого неравенства достигает максимального абсолютного значения при D xn-s = 2-(s+1) .Тогда
2-2s *|F(2) max |/ 8 = 2-( n+1)
Отсюда окончательно получаем:
S ³ (n + log2 |F(2) max | - 2)/2
Величина s является тем параметром, который обеспечивает баланс методической и вычислительной погрешностей, а также определяет не только разрядность старшей части аргумента Х, но и значение шага таблицы h = 2-s и количество табличных значений функции F(xs ) равное 2s .
5.1. Расчёт величины S и h
y=sh(x) - исходная функция
Найдем первую и вторую производную y
y'=ch(x) у''=sh(x)
|f'max | = 1.128 |f''max | = 0.521
Зная |f''max | найдем s и h
S ³ (n + 1 - log2 ((m+1)!)/|f(m+1) max |)/(m+1) , где n = 8 и m =1
Вычисляя получим s = 4
Тогда h = 2-s = 2-4 = 0.0625
5.2.Выбор масштабных коэффициентов
Мf(x) = = 26 MD x = = = 26
Mf(xs) = = 26 Mf '( x ) = = 25 Mx ==27
6.Масштабирование алгоритма
f(x) = f(xs ) + D xn-s ×f'(xs ),