Возможен ли бесконечный цикл по математическому уравнению?
-
09-09-2019 - |
Вопрос
У меня есть следующая проблема, и мне трудно понять часть уравнения:
Методы Монте-Карло для оценки интеграла, по сути, заключаются в том, чтобы взять множество случайных выборок и определить средневзвешенное значение.Например, интеграл от f(x) можно оценить по N независимым случайным выборкам xр к
альтернативный текст http://www.goftam.com/images/area.gif
для равномерного распределения вероятностей xr в диапазоне [x1, x2].Поскольку каждая оценка функции f (xr) является независимой, легко распространять эту работу по набору процессов.
Чего я не понимаю, так это что такое f(xр) должен делать?Возвращается ли это в то же уравнение?Разве это не будет бесконечный цикл?
Решение
Ваша цель — вычислить интеграл от f
от x1
к x2
.Например, вы можете захотеть вычислить интеграл от sin(x)
от 0
к pi
.
Используя интеграцию Монте-Карло, вы можете аппроксимировать это, выбирая случайные точки в интервале [x1,x2]
и оценка f
в этих точках.Возможно, вы хотели бы назвать это MonteCarloIntegrate( f, x1, x2 )
.
Так что нет, MonteCarloIntegrate
не «обратной связи» сам с собой.Он вызывает функцию f
, функция, которую вы пытаетесь численно интегрировать, например. sin
.
Другие советы
Должно быть написано f(xя)
f() — это функция, которую мы пытаемся интегрировать с помощью численного метода Монте-Карло, который оценивает интеграл (и его ошибку) путем оценки случайно выбранных точек из области интегрирования.
Заменять f(x_r)
к f(x_r_i)
(читать:f оценивается в x
суб r
суб i
).А r_i
выбираются равномерно случайным образом из интервала [x_1, x_2]
.
Дело в следующем:территория под f
на [x_1, x_2]
равно (x_2 - x_1)
раз среднее значение f
на интервале [x_1, x_2]
.То есть
A = (x_2 - x_1) * [(1 / (x_2 - x_1)) * int_{x_1}^{x_2} f(x)\, dx]
Доля в квадратных скобках представляет собой среднее значение f
на [x_1, x_2]
который мы будем обозначать avg(f)
.Как мы можем оценить среднее значение f
?Пробуя его в N
случайных точек и взяв среднее значение f
оценивается в этих случайных точках.А именно:
avg(f) ~ (1 / N) * sum_{i=1}^{N} f(x_r_i)
где x_r_1, x_r_2, ..., x_r_N
— это точки, выбранные равномерно случайным образом из [x_1, x_2].
Затем
A = (x_2 - x_1) * avg(f) ~ (x_2 - x_1) * (1 / N) * sum_{i=1}^{N} f(x_r_i).
Вот еще один способ подумать об этом уравнении:территория под f
на интервале [x_1, x_2]
равна площади прямоугольника длиной (x_2 - x_1)
и высотой, равной средней высоте f
.Средняя высота f
примерно
(1 / N) * sum_{i=1}^{N} f(x_r_i)
это ценность, которую мы произвели ранее.
Будь то хя или хр не имеет значения — это случайное число, которое мы передаем в функцию f().
Я, скорее всего, напишу функцию (помимо форматирования) следующим образом:
(Икс2-Икс1) * sum(f(xя))/Н
Таким образом, мы видим, что мы берем среднее значение N выборок f(x), чтобы получить среднюю высоту функции, а затем умножаем на ширину (x2-x1).
Потому что, в конце концов, интеграция — это всего лишь вычисление площади под кривой.(Хорошие картинки на http://hyperphysicals.phy-astr.gsu.edu/Hbase/integ.html#c4.
x_r — случайное значение из диапазона интеграла.
Замена Random(x_1, x_2) на x_r даст эквивалентное уравнение.