Вычисление элементарных функций
Рефераты >> Радиоэлектроника >> Вычисление элементарных функций

Принципы использования частных методов вычисления поправок, основанных на применении известных тождеств для каждой конкретной элементарной функции. Этот подход характеризуется точностью базовой формулы, зависимостью поправки для большинства элементарных функций только от младшей части аргумента. Чаще всего данный метод является нерациональным из-за значительного числа дополнительных операций.

Формула для вычисления значения F(x) на интервале (xs, xs+h) с использованием ряда Тейлора имеет следующий вид:

F(x)= F(xs) + D xn-s/k!)*F(k)( xs),

где m – количество членов ряда , D xn-s=x - xs,

F(k)( xs) – значение k-ой производной функции F(x) в точке xs.

Методическая погрешность приведенного алгоритма можно оценить по формуле:

eм£((D xn-s)m+1/(m+1)!)*F(m+1)max

где F(m+1)max – максимальное значение (m+1)-ой производной функции F(x) на интервале (xs, xs+h).

Формула для вычисления значения F(x) на интервале (xs, xs+h) с помощью линейной интерполяции имеет следующий вид:

F(x)= F(xs) + (D xn-s/h)*(F(xs, xs+h) - F(xs))

Методическая погрешность приведенного алгоритма можно оценить по формуле:

eм£(D xn-s(D xn-s – h)/2)*F(2)max

Формулы для вычисления погрешностей:

- полной e = Fэт(х) - Fm(xm)/Mf

- методической eм £ ((D xn-s)m-1/(m+1)!)*F(m+1)max

- вычислительной 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*log2e)/(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 MDx = = = 26

Mf(xs) = = 26 Mf '(x) = = 25 Mx==27

6.Масштабированиеалгоритма

f(x) = f(xs) + D xn-s×f'(xs),

F(X)/Mf(x) = F(Xs)/Mf(xs) + (D Xn-s/ MDx)×F'(Xs)/ Mf '(x)

Умножим все выражение на Mf(x)

F(X) = F(Xs)×Mf(x)/Mf(xs) + D Xn-s×F'(Xs) Mf(x)/(Mf '(x)×MDx)

Подставляя значения полученные выше получим

F(X) = F(Xs) + 2-5 ×D Xn-s×F'(Xs)

где F(X)=f(x)×Mf(x), F(Xs)=f(xs)×Mf(xs), D Xn-s= D xn-s×MDx,

F'(Xs)= f'(xs)×Mf '(x), X = x*Mx - масштабированные значения

7. Граф – схема программы

Подпись: Масштабирование табличных значений F(xs) = f(xs)×Mf , F'(xs) = f '(xs)×Mf ' , округление масштабированных значений до ближайшего целого и преставление их в виде целых чисел,Подпись: Получение масштабированного значения аргумента Х=х×Мх в виде целого числа для исходного не масштабированного значения х из заданного интервала аппроксимации ,Подпись: Вычисление приближенных, целочисленных (масштабированных) значений функции F(x) по разработанному алгоритму с использованием подпрограммы функции

,Подпись: Вычисление эталонного значения функции f(x) в виде вещественного числа с использованием библиотеки TURBO PASCAL, (eм » 0, eв » 0 – для эталона)

,Подпись: Вычисление полной погрешности e = f(x) – F(x)/Mf,Подпись: Вычисление функции f(*)(x) по разработанному не масштабированному алгоритму в виде вещественного числа (eв»0)

Подпись: Нахождение вычислительной погрешности eв=f*(x) – F(x)/Mf,Подпись: Нахождение методической погрешности eм=e-eв или f(x)–f*(x)


Страница: