1. Nauka
  2. /
  3. Kursy
  4. /
  5. Symulacje statystyczne w Pythonie

Connected

ćwiczenie

Całkowanie prostej funkcji

To ćwiczenie wprowadza pojęcie całkowania metodą Monte Carlo.

Obliczamy prostą całkę \( \int_0^1 x e^{x} dx\). Dokładna wartość tej całki wynosi \(1\), ale symulacja da nam przybliżony wynik – spodziewaj się więc wartości bliskiej \(1\). Jak pokazano w filmie, proces jest prosty. Dla funkcji jednej zmiennej \(f(x)\):

  1. Wyznacz granice osi x \((x_{min}, x_{max})\) i osi y \((\max(f(x)), \min(\min(f(x)), 0))\).
  2. Wygeneruj zestaw punktów o rozkładzie jednostajnym wewnątrz tego prostokąta.
  3. Pomnóż pole prostokąta (\((\max(f(x) - \min(f(x))\times(x_{max}-x_{min})\)) przez ułamek punktów leżących poniżej \(f(x)\).

Po wykonaniu ćwiczenia będziesz dysponować gotowym schematem obliczania całek oznaczonych metodą Monte Carlo.

Instrukcje

100 XP
  • W funkcji sim_integrate() wygeneruj jednostajnie rozłożone liczby losowe z przedziału od xmin do xmax i przypisz je do x.
  • Wygeneruj jednostajnie rozłożone liczby losowe z przedziału od \(\min(\min(f(x)), 0)\) do \(\max(f(x))\) i przypisz je do y.
  • Zwróć ułamek punktów leżących poniżej \(f(x)\) pomnożony przez pole prostokąta (\((\max(f(x) - \min(f(x))\times(x_{max}-x_{min})\)).
  • Na koniec użyj funkcji lambda, aby zdefiniować func jako \(x e^{x}\).