Jak aproksymować następującą całkę za pomocą symulacji MC?
Dzięki!
Edycja (jakiś kontekst): Próbuję nauczyć się korzystać z symulacji w celu przybliżenia całek i ćwiczę, gdy napotkałem pewne trudności.
Edytuj 2 + 3 : Jakoś się pomyliłem i pomyślałem, że muszę podzielić całkę na osobne części. Więc właściwie to rozgryzłem:
n <- 15000
x <- runif(n, min=-1, max=1)
y <- runif(n, min=-1, max=1)
mean(4*abs(x-y))
r
self-study
monte-carlo
Moje imię
źródło
źródło
integrate(integrate(abs(x-y), y, -1, 1), x, -1, 1);
i uzyskać odpowiedź 8/3.integrate(Vectorize(function(y) integrate(function(x) abs(x-y), -1, 1)$value), -1, 1)
i uzyskać przybliżenie liczbowe. Korzystanie z kubaturze pakietadaptIntegrate(function(x) abs(x[1] - x[2]), c(-1, -1), c(1, 1))
może być używany. Ma to na celu podanie kilku pomysłów na liczbową ocenę całek, które mogą się przydać, na przykład podczas testowania, czy symulacja działa poprawnie.Odpowiedzi:
Dla porównania, całka o małych wymiarach jest zwykle bardziej efektywnie wykonywana za pomocą deterministycznej kwadratury zamiast Monte Carlo. Monte Carlo ma swoje wymiary od około 4 do 6 wymiarów. Oczywiście najpierw muszę się tego nauczyć w małych wymiarach ...
źródło
Możesz to zrobić w programie Excel za pomocą Tukhi .
Wchodzić
i naciśnij przycisk Uruchom.
źródło