Редактирование: Расчет определённого интеграла. Фролова Ксения. 6 курс
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
==Постановка задачи== | ==Постановка задачи== | ||
Необходимо вычислить определенный интеграл <math>\int^1_0x^2dx</math> с использованием средств параллельного программирования на основе MPI. | Необходимо вычислить определенный интеграл <math>\int^1_0x^2dx</math> с использованием средств параллельного программирования на основе MPI. | ||
− | |||
− | |||
− | |||
==Реализация== | ==Реализация== | ||
Для расчета указанного интеграла используется метод трапеций - метод численного интегрирования функции одной переменной, заключающийся в замене на каждом элементарном отрезке подинтегральной функции на многочлен первой степени, то есть линейную функцию. Площадь под графиком функции аппроксимируется прямоугольными трапециями. | Для расчета указанного интеграла используется метод трапеций - метод численного интегрирования функции одной переменной, заключающийся в замене на каждом элементарном отрезке подинтегральной функции на многочлен первой степени, то есть линейную функцию. Площадь под графиком функции аппроксимируется прямоугольными трапециями. | ||
− | Отрезок [a | + | Отрезок [a, b] (в данной задаче [0,1]) разбивается на заданное количество интервалов (в данной задаче n=100000000), и на каждом из элементарных отрезков применяется формула трапеций. Cуммирование даст составную формулу трапеций:<br> |
<math>\int^b_a f(x)\,dx \approx \sum_{i=0}^{n-1} \frac{ f(x_i) + f(x_{i+1}) }{2} (x_{i+1} - x_{i}) </math> | <math>\int^b_a f(x)\,dx \approx \sum_{i=0}^{n-1} \frac{ f(x_i) + f(x_{i+1}) }{2} (x_{i+1} - x_{i}) </math> | ||
− | + | При этом нам необходимо распределить заданное количество интервалов между определенным количеством процессов. На каждом полученном таким способом интервале процесс интегрирования осуществляется отдельным процессом, при этом в связи с использованием явной схемы соседние процессы должны обмениваться крайними значениями, полученными на предыдущем шаге, для выполнения следующего шага. Так, каждый процесс рассчитывает определенное количество интервалов по методу трапеций и обменивается информацией с соседними процессами. Суммируя результаты, полученные каждым отдельным процессом, мы получаем конечный результат. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |