Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Левая формула прямоугольников, Численное вычисление интеграла 
:(
    Опции темы
WolfON
Дата 10.5.2007, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: нет
Всего: 8



Есть определенный интеграл какой-нибудь функции, допустим:
интеграл( x ) dx

Надо найти его численное значение при помощи "Метода двойного пересчета при помощи левой формулы прямоугольников."

Интересует как описание метода, так и примеры кода =/
PM MAIL ICQ   Вверх
WolfON
Дата 13.5.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: нет
Всего: 8



Жаль, что никто не знает =/

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

Не уверен, что все именно так - поищу описание алгоритма поподробнее.
PM MAIL ICQ   Вверх
Lomir
Дата 13.5.2007, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 30.1.2007
Где: Lithuania::Kaunas

Репутация: нет
Всего: 1



На скока я знаю, интегралы можно довольно точно и быстро считать методом Симсона
(два прямоугольника по центру dx минус одна трапеция):
Код
double integration(const double& a, const double& b, double f(const double& x), const int& n)
{
    double ret = 0.0, step = (b - a) / n;
    for (int i = 0; i < n; ++i)    
        ret += step * (f(a + i * step) + 4 * f(a - step / 2 + (i + 1) * step) + f(a + (i + 1) * step)) / 6;    
    return ret;
}

Но вот про "Метода двойного пересчета при помощи левой формулы прямоугольников" неслышал.

PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0412 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.