Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ЛИСП-реализация основных способов вычисления гамма-функции

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.11.2024

СОДЕРЖАНИЕ

Введение

. Постановка задачи

2. Математические и алгоритмические основы решения задачи

2.1 Понятие гамма-функции

.2 Вычисление гамма функции

. Функциональные модели и блок-схемы решения задачи

4. Программная реализация решения задачи

5. Пример выполнения программы

Заключение

Список использованных источников и литературы


ВВЕДЕНИЕ

Выделяют особый класс функций, представимых в виде собственного либо несобственного интеграла, который зависит не только от формальной переменной, а и от параметра.

Такие функции называются интегралами зависящими от параметра. К их числу относится гамма функции Эйлера.

Гамма функция представляется интегралом Эйлера второго рода:

.

Гамма-функция расширяет понятие факториала на поле комплексных чисел. Обычно обозначается Γ(z).

Была введена Леонардом Эйлером, а своим обозначением гамма-функция обязана Лежандру.

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


1. Постановка задачи

Требуется реализовать основные способы вычисления гамма-функции:

1. Гамма-функции для целых положительных n равна

Г (n) = (n - 1)! = 1·2... (n - 1). (1)

2. Для x>0 гамма-функция получается из ее логарифма взятием экспоненты.

. (2)

3. Гамма-функции для ряда точек:

(3)

Пример 1.

Вычислить гамма-функции Г(6).

Решение:

Так как 6 –положительное целое число, воспользуемся формулой (1):

Г(6) =(6-1)! = 5! = 120

Ответ: 120.

Пример 2.

Вычислить гамма-функции Г(0,5).

Решение:

Воспользуемся формулой (2):


.

.

Ответ: .

Пример 3.

Вычислить гамма-функции Г(1,5).

Решение:

Воспользуемся формулой (3):

y = 1.5 + 2 = 3.5.

.

Ответ: .


2. Математические и алгоритмические основы решения задачи

2.1 Понятие гамма-функции

Гамма функцию определяет интеграл Эйлера второго рода

(a) = (2.1)

сходящийся при .

Рисунок 1. График гамма-функции действительного переменного

Положим =ty, t > 0 , имеем

(a) =

и после замены , через  и t через 1+t ,получим


Умножая это равенство и интегрируя по
t и пределах от 0 до , имеем:

или после изменения в правой части порядка интегрирования ,получаем:

откуда

(2.2)

заменяя в (2,1) , на  и интегрируем по частям

получаем рекурентною формулу

(2.3)

так как


Рисунок 2. График модуля гамма-функции на комплексной плоскости

При целом  имеем

(2.4)

то есть при целых значениях аргумента гамма-функция превращается в факториал, порядок которого на единицу меньше взятого значения аргумента. При n=1 в (2.4) имеем

2.2 Вычисление гамма функции

Для вычисления гамма-функции используется аппроксимация логарифма гамма-функции. Сама же гамма вычисляется через него.

Для аппроксимации гамма-функции на интервале 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).

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

Таблица 1. Значения коэффициентов Ck

Сама гамма-функция получается из ее логарифма взятием экспоненты. .


3 Функциональные модели и блок-схемы решения задачи

Функциональные модели и блок-схемы решения задачи представлены на рисунке 3, 4, 5, 6.

Условные обозначения:

  •  X –параметр функции;
  •  RS –инкремент;
  •  GN –список коэффициентов;
  •  Y –вспомогательная переменная;
  •  RES –результат вычисления гамма-функции;
  •  GAM –временная переменная, содержащая вычисление гамма-функции.

Рисунок 3 –Функциональная модель решения задачи для функции GAMMA

Рисунок 4 –Функциональная модель решения задачи для функции GAMMA_ WHOLE


Рисунок 5 –Блок-схема решения задачи для поиска логарифма гамма-функции GAMMA_LN


Рисунок 6 –Блок-схема решения задачи для поиска логарифма гамма-функции GAMMA_POINT


4. Программная реализация решения задачи

;СПИСОК КОЭФФИЦИЕНТОВ

(SETQ CN '(2.5066282746310005 1.0000000000190015 76.18009172947146 -86.50532032941677 24.01409824083091

-1.231739572450155 0.1208650973866179e-2 -0.5395239384953e-5))

;ЛОГАРИФМ ГАММА ФУНКЦИИ

(DEFUN GAMMA_LN (X)

(SETQ SER (CADR CN))

(SETQ L (CDDR CN))

(SETQ Y X)

(DO

((J 2))

((>= J 8))

(SETQ Y (+ Y 1))

(SETQ CO (CAR L))

(SETQ SER (+ SER (/ CO Y)))

(SETQ L (CDR L))

(SETQ J (+ J 1))

)

(SETQ Y (+ X 5.5))

(SETQ Y (- Y (* (+ X 0.5) (LOG Y))))

(SETQ Y (+ (* -1 Y) (LOG (* (CAR CN) (/ SER X)))))

)

;ВЫЧИСЛЕНИЕ ГАММА-ФУНКЦИИ ЧЕРЕЗ ЕЕ ЛОГАРИФМ

;ГАММА ДЛЯ ПОЛОЖИТЕЛЬНЫХ АРГУМЕНТОВ

(DEFUN GAMMA (X)

(EXP (GAMMA_LN X))

)

;ГАММА ДЛЯ ЦЕЛЫХ ЧИСЕЛ

(DEFUN GAMMA_WHOLE (X)

(SETQ X (- X 1))

(DO

((RES 1) (RS 1))

((EQL X 0) RS)

(SETQ RS (* RES RS))

(SETQ X (- X 1))

(SETQ RES (+ RES 1))

)

)

;ГАММА ДЛЯ МНОЖЕСТВА ТОЧЕК

(DEFUN GAMMA_POINT (X)

(IF (> X 0)

(PROGN

(SETQ Y (+ X 2))

(SETQ GAM (* (SQRT (* 2 (/ PI Y))) (EXP (+ (* Y (LOG Y)) (- (/ (- 1 (/ 1 (* 30 Y Y))) (* 12 Y)) Y)))))

(SETQ RES (/ GAM (* X (+ X 1))))

)

;ИНАЧЕ

(PROGN

(SETQ J 0)

(SETQ Y X)

(DO

(())

((>= Y 0))

(SETQ J (+ J 1))

(SETQ Y (+ Y 1))

)

(SETQ GAM (GAMMA_POINT Y))

(DO

((I 0))

((>= I (- J 1)))

(SETQ GAM (/ GAM (+ X I)))

(SETQ I (+ I 1))

)

(SETQ RES GAM)

)

)

RES)

;ПОЛУЧАЕМ ЭЛЕМЕНТ ФУНКЦИИ

(SETQ FUNC 0)

(SETQ INPUT_STREAM (OPEN " D:\GAMMA.TXT" :DIRECTION :INPUT))

(SETQ FUNC (READ INPUT_STREAM))

(CLOSE INPUT_STREAM)

;РЕЗУЛЬТАТ ГАММА-ФУНКЦИИ

(SETQ OUTPUT_STREAM (OPEN "D:\RESULT.TXT" :DIRECTION :OUTPUT))

(PRINT 'RESULT_OF_GAMMA_FUNCTION OUTPUT_STREAM)

;ПРИМЕНЯЕМ ДЛЯ ПОЛОЖИТЕЛЬНЫХ ЧИСЕЛ

(PRINT (MAPCAR 'GAMMA FUNC) OUTPUT_STREAM)

;ПРИМЕНЯЕМ ДЛЯ ПОЛОЖИТЕЛЬНЫХ ЦЕЛЫХ ЧИСЕЛ

(PRINT (MAPCAR 'GAMMA_WHOLE FUNC) OUTPUT_STREAM)

;ПРИМЕНЯЕМ ДЛЯ ЛЮБЫХ ЧИСЕЛ

(PRINT (MAPCAR 'GAMMA_POINT FUNC) OUTPUT_STREAM)

(TERPRI OUTPUT_STREAM)

(CLOSE OUTPUT_STREAM)

;END


5 Пример выполнения программы

Пример 1.

Рисунок 7 –Входные данные. Вычисление гамма-функции для положительных целых чисел

Рисунок 8 –Выходные данные. Вычисление гамма-функции для положительных целых чисел

Пример 2.

Рисунок 9 –Входные данные. Вычисление гамма-функции для положительных чисел


Рисунок 10 –Выходные данные. Вычисление гамма-функции для положительных чисел

Пример 3.

Рисунок 11 –Входные данные. Вычисление гамма-функции для множества чисел

Рисунок 12 –Выходные данные. Вычисление гамма-функции для множества чисел


ЗАКЛЮЧЕНИЕ

Гамма функции являются удобным средством для вычисления некоторых интегралов в частности многих из тех интегралов, которые не представимы в элементарных функциях. Благодаря этому они широко применяются в математике и ее приложениях, в механике, термодинамике и в других отраслях современной науки.

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


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ и литературы

  1.  Бронштейн, И.Н. Справочник по математике для инженеров и учащихся втузов [Текст] / И.Н.Бронштейн, К.А.Семендяев. –М.: Наука, 2007. –с.
  2.  Вычисление гамма-функции и бета-функции [Электронный ресурс] –Режим доступа: http://www.cyberguru.ru/cpp-sources/algorithms/vytchislenie-gamma-funktsii-i-beta-funktsii.html
  3.  Гамма-функция –Википедия [Электронный ресурс] –Режим доступа: http://ru.wikipedia.org/wiki/Гамма_функция
  4.  Кремер, Н.Ш. Высшая математика для экономистов: учебник для студентов вузов. [Текст] / Н.Ш.Кремер, 3-е издание –М.:ЮНИТИ-ДАНА, 2006. C. 412.
  5.  Семакин, И.Г. Основы программирования. [Текст] / И.Г.Семакин, А.П.Шестаков. –М.: Мир, 2006. C. 346.
  6.  Симанков, В.С. Основы функционального программирования [Текст] / В.С.Симанков, Т.Т.Зангиев, И.В.Зайцев. –Краснодар: КубГТУ, 2002. –с.
  7.  Степанов, П.А. Функциональное программирование на языке Lisp. [Электронный ресурс] / П.А.Степанов, А.В. Бржезовский. –М.: ГУАП, 2003. С. 79.
  8.  Хювенен Э. Мир Лиспа [Текст] / Э.Хювенен, Й.Сеппянен. –М.: Мир, 1990. –с.



1. I Определение темы постановка учебной задачи урока ~ Сегодня мы будем работать над изложением
2. Единая Россия
3. Уголовно-процессуальное право
4. Носов ЕИ
5. Авиабилетов страховых полисов ваучеров справки на вывоз наличной валюты при необходимости водитель1
6. Nonliner multi-wve coupling nd resonnce in elstic structures
7. ЗАПИСКА О ДРЕВНЕЙ И НОВОЙ РОССИИ
8.  Философия и наука в творчестве В
9. Перелік питань на іспит з курсу ’Охорона праці в галузі~~
10. ТЕМА ’ 4 1 Своеобразие философии Средневековья.html
11. ЛАБОРАТОРНАЯ РАБОТА 6 РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ 1ГО ПОРЯДКА ЧИСЛЕННЫМИ МЕТ
12. О техническом регулировании
13. Тема- Дифференциальная диагностика при кардиомегалии
14. Задание 13. Дать несколько вариантов моделей куртки заказчице младшей возрастной группы
15. Промышленновский райпотребсоюз Кемеровская область 2
16. Тема-Рационализм в эпоху нового времени.html
17. СЕВЕРООСЕТИНСКАЯ ГОСУДАРСТВЕННАЯ МЕДИЦИНСКАЯ АКАДЕМИЯ Министерства социального развития и здравоохра
18. Разрешение споров, связанных с отказом в принятии на работу
19. Эдуард Катлас. ПРАВО НА ПОРАЖЕНИЕ- Издательство АЛЬФАКНИГА; М.
20. Модуль ТСП 0303Військовоінженерна підготовка