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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
krava123
Сообщений: n/a
#1

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

06.10.2012, 16:54. Просмотров 707. Ответов 5
Метки нет (Все метки)

∫∫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++
Неправильный результат выдаёт. Помогите найти в чём ошибка. (Visual C++ 2008) #include "stdafx.h" #include <iostream> #include...

Двойной указатель - C++
Это не совсем C++ вроде, а просто C, но поясните, пожалуйста, зачем в коде в строчку **sums=NULL используется двойной указатель? ...

Двойной факториал - C++
Дано целое число N (> 0). Найти двойной факториал N: N!! = N·(N–2)·(N–4)·… (последний сомножитель равен 2, если N — четное, и 1, если N...

Двойной strtok - C++
Всем привет! Возник такой вопрос. В ходе решения одной задачи, связанной с разбиением строки на некоторые подмножества слов,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
06.10.2012, 17:59     двойной интеграл в С++ #2
В c++ нет интегралов, извини.
BumerangSP
4286 / 1408 / 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     двойной интеграл в С++
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru