Dzisiaj jest 25 stycznia 2025 r.
Chcę dodać własny artykuł
Reklama

Metoda równego podziału

Chcę dodać własny artykuł

Metoda Równego Podziału

Metoda równego podziału, znana również jako metoda bisekcji, jest techniką stosowaną do rozwiązywania równań nieliniowych. Bazuje na twierdzeniu Darboux, które stwierdza, że jeśli funkcja ciągła f(x) zmienia znaki na końcach przedziału [a;b], to istnieje przynajmniej jeden pierwiastek równania f(x)=0 wewnątrz tego przedziału.

Założenia Metody

Aby zastosować metodę równego podziału, muszą być spełnione następujące warunki:

  • Funkcja f(x) jest ciągła w przedziale domkniętym [a;b].
  • Funkcja przyjmuje różne znaki na końcach przedziału: f(a)f(b)<0.

Przebieg Algorytmu

Algorytm przebiega w następujący sposób:

  1. Obliczamy punkt x_1=\tfrac{a+b}{2} i sprawdzamy, czy f(x_1)=0. Jeśli tak, algorytm kończy działanie.
  2. Jeżeli f(x_1) \neq 0, powtarzamy proces, dopóki \mid a – b \mid > \epsilon:
    • Obliczamy nowy x_1.
    • Wybieramy koniec przedziału, którego wartość funkcji ma przeciwny znak do f(x_1):
      • Jeżeli f(a)f(x_1) < 0, to b = x_1.
      • Jeżeli f(x_1)f(b) < 0, to a = x_1.
  3. Gdy osiągniemy żądaną dokładność, zwracamy wartość \tfrac{a+b}{2}.

Przykład Zastosowania

Rozważmy równanie f(x)=x^3-x+1 w przedziale [-2;2].

  • Obliczamy: f(-2)=-5, f(2)=7.
  • Dzielimy przedział: x_1=0, f(x_1)=1.
  • Wybieramy przedział [-2,0], ponieważ f(-2)f(0) < 0.
  • Kontynuujemy proces, aż osiągniemy odpowiednią dokładność.

Pseudokod

Poniżej przedstawiono prosty pseudokod metody równego podziału w języku Python:


while abs(a – b) > epsilon:
x1 = (a + b) / 2
if abs(f(x1)) <= epsilon: break elif f(x1) * f(a) < 0: b = x1 else: a = x1 print((a + b) / 2)

Metoda ta pozwala na precyzyjne wyznaczenie pierwiastka równania z dowolną dokładnością.