Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Mathematica] Некорректная работа Integrate 
:(
    Опции темы
alyxis
Дата 24.11.2009, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Некорректная работа Integrate при интегрировании функции мат ожидания от нормального логарифмического распределения:
user posted image
В Математике 5.2:
(1/Sqrt[2*π*s^2])*Integrate[Exp[(-(Log[x]-m)^2)/(2*s^2)],{x,0,+∞}]
При s=0.834 и m=8.272 Integrate выдает неверный удвоенный результат.
Удвоенный результат Integrate дает и для многих других s и m, хотя для остальных работает правильно. Зато NIntegrate всегда выдает правильный ответ. Кстати, если интегрировать не до +∞, а ло большого числа, то Integrate работает правильно (правильный ответ: примерно 5540.16)
Я вынужден в этом разобраться.
Кто-нибудь знает, почему так происходит?
PM MAIL   Вверх
kemiisto
  Дата 3.12.2009, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



alyxis, если посмотреть здесь, то видим в Possible Issues, Definite Integrals, пункт первый:
Цитата
Substituting limits into an indefinite integral may not give the correct result for a definite integral

Вольный перевод: подстановка пределов интегрирования в неопределённый интеграл может привести к неверному результату вычисления интеграла определённого.
Далее рассмотрен пример и в конце написана причина происходящего:
Цитата
The presence of a discontinuity in the expression for the indefinite integral leads to the anomaly

Нарушение непрерывности функции - подинтегрального выражения - приводит к аномальным результатам.

Теперь взглянем на Вашу функцию. На скорую руку выглядит как-то так:
user posted image
Только это для m = 0. Для больших значений m функция "вытягивается вдоль x и сплюшивается по y". smile Нафиг терминологию. Видно, что непрерывность нарушается. Хотя это и без графика понятно. smile У ln(x) в x = 0 - точка разрыва второго(?) рода.

Цитата(alyxis @  24.11.2009,  22:31 Найти цитируемый пост)
Кстати, если интегрировать не до +∞, а ло большого числа, то Integrate работает правильно

Ну, как раз "аномальное" поведение. smile 

P.S. Mathematica ни разу в глаза не видел... Так "от общих начал". smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
alyxis
Дата 3.12.2009, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Видно, что непрерывность нарушается. Хотя это и без графика понятно.  У ln(x) в x = 0 - точка разрыва второго(?) рода.

Но если интегрировать с Integrate от какого-то числа > 0 (например, 5000) до +∞, то ответ тоже удвоенный, хотя с 5000 и до +∞ нет точек разрыва. Или Математику шокирует сам факт того, что в какой-то точке есть разрыв?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Добро пожаловать в раздел "Другие языки" форума Vingrad!

Void
Void

Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)

  • Обязательно следуйте правилам Форума.
  • Пожалуйста, прочитайте и следуйте рекомендациям по работе в разделе и навигации по Форуму.
  • Для вставки текстов исходных кодов используйте подсветку синтаксиса из выплывающего списка Код в форме ответа. Если Ваш язык в списке не представлен, то используйте тег: [code=ваш_язык]код[/code], например, [code=ada]код[/code]. Если в будущем подсветка синтаксиса для указанного языка будет реализована, исходный код преобразится.
  • Помните, один вопрос - одна тема.

Приятного времяпрепровождения! С уважением, Void, kemiisto .

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


 




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


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

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