Форум программистов, компьютерный форум CyberForum.ru

двойной интеграл в С++ - C++

Восстановить пароль Регистрация
 
krava123
Сообщений: n/a
06.10.2012, 16:54     двойной интеграл в С++ #1
∫∫exp-r3*cos(ψ)*r*dr*dψ
межи (0,1) и (0,π*2)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2012, 16:54     двойной интеграл в С++
Посмотрите здесь:

C++ Двойной факториал
Двойной интеграл C++
C++ Двойной факториал
Двойной указатель C++
Вычислить двойной интеграл методом Гаусса C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
06.10.2012, 17:59     двойной интеграл в С++ #2
В c++ нет интегралов, извини.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.10.2012, 18:04     двойной интеграл в С++ #3
Герц, зато есть итерационные методы их решения.
vlad_light
4 / 4 / 0
Регистрация: 24.09.2012
Сообщений: 178
06.10.2012, 18:48     двойной интеграл в С++ #4
Могу подсказать идею.
Интерпретируем интеграл, как объём фигуры, ограниченной поверхностью подынтегральной функции, как цилиндрическое множество. Разбиваем эту поверхность на маленькие квадратики(вообще-то прямоугольнички, но для простоты будем использовать равномерное разбиение) и значение функции на каждом квадратике аппроксимируем значением функции в любой точке этого квадратика. Ну, а дальше объём такого цилиндрика (с основой -- квадратиком и высотой -- значение функции) -- это длина умножить на ширину и на высоту. А интеграл равен сумме всех таких цилиндриков. Данное разбиение похоже на сумму Дарбу в интеграле Римана, только там площадь квадратиков стремится к 0.
Код будет похож на такой:
Код
C++
1
2
3
4
5
6
7
8
9
10
11
const double pi = 3.14;
const double len = 1; // длина
const double wid = pi/2; // ширина
const double h = 0.01; // шаг
double sum = 0; // значение интеграла
 
for (double l = 0; l <= len; l += h)
    for (double w = 0; w <= wid; w += h)
        sum += f(l+h/2,w+h/2)*h*h; // каждый раз в цикле к sum прибавляем по цилиндрику
                                               // для примера берём точку посередине квадратика
std::cout << sum;

Код не проверял, но по идее должен работать.
Герц
06.10.2012, 22:50
  #5

Не по теме:

Герц, зато есть итерационные методы их решения.
Без КО не обошлось? :-) Если человек так компонует свое сообщение, типа "есть задание, решайте господа", то и ответ соответствующий

BumerangSP
06.10.2012, 23:09     двойной интеграл в С++
  #6

Не по теме:

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

Yandex
Объявления
06.10.2012, 23:09     двойной интеграл в С++
Ответ Создать тему
Опции темы

Текущее время: 07:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru