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




;; функция вычисления интеграла

( defun double_integral (ax bx ay by g f)

;; ширина ячейки

( setq h1 (/ (- bx ax) g))

;; высота ячейки

( setq h2 (/ (- by ay) g))

;; площадь ячейки

( setq S (* h1 h2))

;; переменная для вычисления интеграла

( setq I 0)

;; интегральная сумма

( setq I (sum_delt (- bx (/ h1 2)) (+ ay (/ h2 2)) ax bx ay by h1 h2 I f))

)

;; вычисление суммы площадей ячеек

( defun sum_delt (x y ax bx ay by h1 h2 I f)

(cond

((>= y by) I)

(T (sum_delt (- bx (/ h1 2)) (+ y h2) ax bx ay by h1 h2 (delta_x x y ax h1 h2 I f) f))

)

)

;; вычисление площади ячейки в точке x y

( defun delta_x (x y ax h1 h2 I f)

(cond

((<= x ax) I)

(T (delta_x (- x h1) y ax h1 h2 (+ I (* h1 h2 (funcall f x y))) f))

)

)

;; подгружаем функцию и пределы интегрирования

( load " D: \\function. txt")

;; вычисляем интеграл

( setq I (double_integral a_x b_x a_y b_y count_dot (function f)))

; открываем файл для записи

( setq output-stream (open " d: \\integral. txt": direction: output))

;; записываем результат интегрирования в файл

( format output-stream " Integral = ~a" I)

; закрываем файл

( close output-stream)

;; end

Файл function. txt

;; интегрируемая функция

( defun f (x y)

(+ (- 1 x) (* y y))

)

;; начальный предел по x

( setq a_x 0.5)

;; конечный предел по x

( setq b_x 1)

;; начальный предел по y

( setq a_y - 3)

;; конечный предел по y

( setq b_y 2)

;; количество ячеек

( setq count_dot 100)


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

 

Рисунок 6 - Входные данные

 

Рисунок 7 - Выходные данные

 

Рисунок 8 - Входные данные

 

Рисунок 9 - Выходные данные

 

Рисунок 10 - Входные данные

 

Рисунок 11 - Выходные данные

 


Заключение

 

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

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


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

 

1. Бронштейн И.Н. Справочник по математике для инженеров и учащихся втузов [Текст] / И.Н. Бронштейн, К.А. Семендяев. - М.: Наука, 2007. - 708с.

2. Васильев Ф.П. Численные методы решения экстремальных задач. [Текст] / Ф.П. Васильев - М.: Наука, 2002. - 415с.

3. Интегрирование [Электронный ресурс] - Режим доступа: https://integraly.ru/.

4. Калиткин Н.Н. Численные методы. [Электронный ресурс] / Н.Н. Калиткин. - М.: Питер, 2001. - 504с.

5. Численное интегрирование [Электронный ресурс] - Режим доступа: https://www.wikipedia.org/wiki/Численное_интегрирование.

6. Симанков В.С. Основы функционального программирования [Текст] / В.С. Симанков, Т.Т. Зангиев, И.В. Зайцев. - Краснодар: КубГТУ, 2002. - 160с.

7. Степанов П.А. Функциональное программирование на языке Lisp. [Электронный ресурс] / П.А. Степанов, А.В. Бржезовский. - М.: ГУАП, 2003. - 79c.

8. Хювенен Э. Мир Лиспа [Текст] / Э. Хювенен, Й. Сеппянен. - М.: Мир, 1990. - 460с.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-03-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: