![]() |
|
Модераторы: bsa |
![]()
|
|
| arssivka |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 28.11.2011 Репутация: нет Всего: нет |
Всем привет.
Мне нужно подсчитать интеграл функции распределения Максвелла на промежутке от v1 до v2. Поскольку у функции нет первообразной интеграл находил влоб: разбивал функцию на мелкие сектора и суммировал их площадь, после увеличивал кол-во секторов, находил их площадь, складывал и делал так пока разница между двумя суммами не была меньше одного процента от первой суммы.
Программа считает интеграл (функция s()) вполне нормально, пока он не превышает единицу, больше единицы площади он не считает. Скорее всего проблемма из-за типа double. Пробовал исправить это путем округления значений функции (функция округления до n-го знака запятой в начале приведенного кода) - результата не дало. Вопрос собстенно в том: как-нибудь можно посчитать интеграл если он больше единицы? |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 4 Всего: 49 |
А каким образом он у Вас может оказаться больше единицы? Это же нормированная функция распределения, у нее интеграл будет единичным только при интегрировании по всей области определения, от нуля до бесконечности. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |