Задание
Разработать алгоритм и программу на языке С++ вычисления площади, ограниченной двумя кривыми, заданными вариантом индивидуального задания дляинтервала, определяемого пользователем в диалоговом режиме.Также в диалоговом окне предусмотреть поля ввода значений коэффициентов функций: a, b, c,d.Интерфейс программыразработать с использованием MFC. Предусмотреть проверку ввода данных на корректностьи графическое отображение заданных функций. Предусмотреть в программе вызов справки.
* Дополнительное (необязательное) задание: реализовать графическуювизуализацию графиков функции, соответствующих варианту индивидуального задания, сотображением области, площадь которой необходимо вычислить.
Вариант задания (A3B9C7D18E3) представлен на таблице 1.
Таблица 1 – Вариант индивидуального задания
Основание системысчисления входных данных | Основание системы счисления выходных данных | Функция 1 | Функция 2 | Метод интегрирования |
A | B | C | D | E |
5 | 16 | y= | y=asin(bx)-ecos(dx) | Симпсона |
Введение
В ходе данной работы требуется выполнить вычисления площадей методом Симпсона. Метод Симпсона – это метод численного интегрирования, основанный на том, что на частичном промежуткедуга некоторой параболы в общем случае теснее прилегает кривой y = f(x), чем хорда,соединяющая концы дуги этой кривой (метод трапеций).
Формула Симпсона (также Ньютона-Симпсона) относится к приёмам численного интегрирования. Получила название в честь британского математикаТомаса Симпсона (1710—1761).
Суть метода заключается в приближении графика функции на отрезке параболой. Метод Симпсона имеет алгебраический порядок точности 3.
Алгебраический порядок точности численного метода (порядок точности численного метода, степень точности численного метода, порядок точности, степень точности) — наибольшая степень полинома, для которой численный метод даёт точное решение задачи.
Другое определение: говорят, что численный метод имеет порядок точности d, если его остаток равен нулю для любого полинома степени d, но не равен нулю для полинома степени d+1.
Численное интегрирование — вычисление значения определённого интеграла (как правило, приближённое). Под численным интегрированием понимают набор численных методов для нахождения значения определённого интеграла.
Разработка алгоритма
Разработка математического алгоритма.
Математический алгоритм представляет собой понятия и формулы, которые используются в работе, поэтому рационально будет его разделить на два подраздела. Первый подраздел включает себя алгоритм перевода из одной системы счисления (далее с.с.) в другую с.с.. Второй подраздел включает в себя алгоритм нахождения площади, ограниченной двумя графиками и границами нахождения площади по оси 0x.
1.1.1 Алгоритм перевода из одной системы счисления в другую.
Исходя из варианта индивидуального задания было решено производить перевод вводимых данных из начальной с.с. с основанием 5 в систему с основанием 10, далее ответ, полученный в результате вычислений требуется вывести в с.с. с основанием 16.
При переводе числа из какой-либо с.с. в десятичную, числонадо представить в виде суммы степеней основания его системы счисления.
Рассмотрим пример перевода целого числа 334125:
334125=2*50+1*51+4*52+3*53+3*54=235710
Для перевода рациональных чисел требуется совместить перевод целой части и перевод части числа после запятой.
В данной работе, с целью повышения точности выводимого ответа, используется библиотечная функция форматирования численных значений из одной с.с. в другую, однако при отсутствии таковой использовался бы следующий алгоритм:
Рассмотрим пример перевода рационального числа 0,2110в шестнадцатеричную систему счисления:
0, | 2100 * 16 |
3 | 3600 * 16 |
5 | 7600 |
Получается, что 0,2110 = 0,3616
Часть переводимого числа после запятой переводится из 10 с.с. в другую при помощи последовательного умножения на основание последней с “собиранием целых частей”. Полученные при умножении целые части собираются, но не участвуют в следующих операциях. Умножаются только дробные. Если исходное число больше 1, то целая и дробная части переводятся отдельно, а потом “собираются”.
1.1.2 Площадь фигуры, ограниченной одним и более графиками.
Вычисление площади фигуры, ограниченной двумя графиками-сводится к задаче нахождения интеграла функции-сочетания двух ограничивающих её функций, который и будет равен искомой площади. Для достижения большей точности используется метод парабол (Симпсона).
Разделим введенный пользователем диапазон [A;B] на заданное четное количество отрезков N.
Длина данного отрезка , точками деления будут x0=A, x1, x2,…xn-2, xn-1, xn=B, а y0, y1, y2, …yn-2, yn-1, yn – соответствующие значения подынтегральных функций на отрезке [A;B].
Применяя малую формулу Симпсона найдем площади криволинейных трапеций для каждой пары получившихся отрезков:
……………………………
|
Тогда
|
………………
Сделав замену по формулам (2), вынося общий множитель за скобку и группируя слагаемые в (1) получаем «большую» формулу Симпсона, которая имеет вид:
|
Конечный вид формулы можно записать следующим образом:
|
где , , , .
Для расчета площади фигуры ограниченной двумя функциями необходимо найти модуль разности функций в каждой точке и проинтегрировать:
|