2 Математические и алгоритмические основы решения задачи
Функция называется элементарной, если она задана одной формулой посредством конечного числа операций: сложения, вычитания, умножения, деления и взятия функции от функции - над основными элементарными функциями.
К числу элементарных функций относятся многочлены
,
логарифмическая функция, экспоненциальная функция, тригонометрические функции и их конечные комбинации.
Примерами некоторых неэлементарных функций могут служить:
1) гамма-функция Эйлера
G(x) =,
обобщающая факториал целого числа на нецелые значения x; при положительных целых x функция Г(x) сводится к (x – 1)!;
2) ;
3) ;
4) .
Для вычисления гамма-функции используется аппроксимация логарифма гамма-функции. Сама же гамма вычисляется через него.
Для аппроксимации гамма-функции на интервале x>0 используется формула (для комплексных z) такого вида:
.
Она похожа на аппроксимацию Стирлинга, но в ней имеется корректирующая серия. Для значений g=5 и n=6, проверено, что величина погрешности eps не превышает . Кроме того, погрешность не превышает этой величины на всей правой половине комплексной плоскости: Re z > 0.
Для получения действительной гамма-функции на интервале x>0 используется рекуррентная формула Gam(z+1)=z*Gam(z) и вышеприведенная аппроксимация Gam(z+1). Также можно заметить, что удобнее аппроксимировать логарифм гамма-функции, чем ее саму. Во-первых, при этом потребуется вызов только одной математической функции – логарифма, а не двух – экспоненты и степени (последняя все равно использует вызов логарифма), во-вторых, гамма-функция – быстро растущая для больших x, и аппроксимация ее логарифмом снимает вопросы переполнения.
Для аппроксимации LnGam() – логарифма гамма-функции – получается формула:
Значения коэффициентов Ck являются табличными данными (Таблица 1).
Таблица 1. Значения коэффициентов Ck
k | C |
1 | 2.5066282746310005 |
2 | 1.0000000000190015 |
3 | 76.18009172947146 |
4 | -86.50532032941677 |
5 | 24.01409824083091 |
6 | -1.231739572450155 |
7 | 0.1208650973866179e-2 |
8 | -0.5395239384953e-5 |
Сама гамма-функция получается из ее логарифма взятием экспоненты.
.
3 Функциональные модели и блок-схемы решения задачи
Функциональные модели и блок-схемы решения задачи представлены на рисунке 3-9.
Условные обозначения:
§ X – параметр функции.
Рисунок 3 – Функциональная модель решения задачи для функции GAMMA_LN_X
Рисунок 4 – Функциональная модель решения задачи для функции FACTORIAL
Рисунок 5 – Блок-схема решения задачи для функции GAMMA_ALL_X
Рисунок 6 – Функциональная модель решения задачи для функции GAMMA_INT
Рисунок 7 – Функциональная модель решения задачи для функции ABS_FUNCTION
Рисунок 8 – Функциональная модель решения задачи для функции FUNCTION1
Рисунок 9 – Функциональная модель решения задачи для функции FUNCTION2
... . В частности: (8) Из (7) и (8) следует, что в M нет двух неравных натуральных чисел. Доказательство закончено. 3.2 Рекурсия Особое место для систем функционального программирования приобретает рекурсия, поскольку она позволяет учитывать значения функции на предыдущих шагах. С теоретической точки зрения рекурсивные определения являются теоретической основой всей современной ...
... По теореме 9.3 в силу результатов шагов 3 и 8. (Шаг 10). Имеет место свойство (9.4) по теореме 9.5 в силу результатов шагов 1 и 9. Литература к лекции 9. 9.1. С.А. Абрамов. Элементы программирования. - М.: Наука, 1982. С. 85-94. 9.2. М. Зелковец, А. Шоу, Дж. Гэннон. Принципы разработки программного обеспечения. - М.: Мир, 1982. С. 98-105. Лекция 10. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММНОГО ...
... проектирование и программирование 0.8 Структурное проектирование включает в себя: - нисходящее проектирование ("сверху вниз"), - модульное программирование, - структурное программирование. 0.8.1.Нисходящее проектирование Метод предполагает последовательное разложение функции обработки данных на простые функциональные элементы ("сверху ...
... . Объясните, для чего служат разрешения и привилегии в Windows NT. Зав. кафедрой -------------------------------------------------- Экзаменационный билет по предмету СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Билет № 22 Перечислите возможности и инструменты системы программирования Microsoft Developer Studio. Укажите для чего предназначается буфер в системах ввода-вывода, ...
0 комментариев