Алгоритм вычисления определенных интегралов с оценками на бесконечности - PullRequest
1 голос
/ 23 апреля 2010

Предположим, у меня есть интеграл, ограниченный на одном (или обоих) конце (-) бесконечностью. AFAICT, я не могу аналитически решить эту проблему, она требует грубой силы (например, используя левую сумму Римана). У меня проблемы с обобщением алгоритма, чтобы он устанавливал правильные подразделения; Я либо сделаю слишком много работы, чтобы вычислить что-то тривиальное, либо не сделаю почти достаточно, и у меня будут огромные ошибки псевдонимов.

Ответ на любом языке - это круто, но, возможно, кто-то с лучшим гугл-фу сможет быстро закончить. :)

То, что я ищу, так же невозможно, как пытаться измерить британскую береговую линию?

Ответы [ 3 ]

1 голос
/ 24 апреля 2010

Существует несколько способов, большинство из которых включают в себя попытки понять поведение вашего интеграта. Часто существует преобразование x -> z (x) с конечным z (бесконечность), поэтому вы можете преобразовать свой неограниченный интеграл в ограниченный.

Кроме того, часто бывает так, что вы можете проанализировать «асимптотическое» поведение подынтегрального выражения, когда x обращается в + и - бесконечность, так что вы можете, по крайней мере, приблизительно вычислить вклады от x> x + и x

Есть много хороших книг по числовой интеграции. Тот, который часто используется в физических науках, это Числовые рецепты . (Хотя вы редко должны использовать код напрямую!)

0 голосов
/ 24 апреля 2010

Использовать изменение переменной. Например, x -> 1 / x и обратите внимание, что интеграл от a до b для f (x) dx равен интегралу от 1 / b до 1 / a от (1 / x ^ 2) f (1 / x) ) дх. Еще один удобный способ - это изменение переменной x -> -log (x), где интеграл от a до бесконечности f (x) dx равен интегралу от 0 до e ^ (- a) от f (-log ( х)) / х дх.

Различные пакеты с открытым исходным кодом содержат подпрограммы для подобных вещей. Кто-то еще должен будет порекомендовать один, потому что я написал свой, когда не существовало открытого источника для математических функций.

Книга «Численные рецепты на С» доступна онлайн http://www.nrbook.com/a/bookcpdf.php Вы можете быть в состоянии сделать что-то вместе из этого. Глава, которая вас интересует, - номер 4. Имейте в виду, что индексы массивов основаны на 1, а не на 0. Некоторые алгоритмы могут быть улучшены, но я не буду вдаваться в подробности.

0 голосов
/ 23 апреля 2010

Если вы ищете исчерпывающее решение, вам, вероятно, понадобится какой-нибудь символический математический пакет. Причины:

- Если вы действительно ищете решения для неопределенных интегралов (не имеющих границ, а не только конечных), то я не знаю другого способа, кроме как сделать цифровой эквивалент справочной таблицы или символический алгоритм (например, зная, что интеграл от x ^ n dx равен x ^ (n + 1) / (n + 1) плюс произвольное выражение, не зависящее от x).

  • Вы можете получить что-нибудь с числовым интегрированием по определенным интегралам. Если один или оба из пределов равны +/- бесконечности, то вы, вероятно, можете приблизить это с конечными числами, которые являются «достаточно бесконечными», но опять же, что вы получаете только так далеко, потому что насчет таких вещей, как интеграл 1 / х от 1 до бесконечности? Ответ - бесконечность, но он расходится как ln (x). Нет значения, которое «достаточно бесконечно», чтобы дать вам ответ. Что приводит к символическому решению.
...