Toolverse
Wszystkie skille

root-finding

autor: parcadei

Znajdź pierwiastki równań numerycznych – wybierz metodę do swojego problemu

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Data Science
Wyświetlenia
1

O skillu

Skill do rozwiązywania problemów poszukiwania pierwiastków w metodach numerycznych. Zawiera strategię decyzyjną, która pomaga wybrać odpowiednią metodę: bisection, Brent, Newton-Raphson czy secant method w zależności od charakteru problemu. Obsługuje równania pojedyncze i systemy równań, z weryfikacją rozwiązań. Integruje się z scipy.optimize i sympy do obliczeń symbolicznych.

Jak używać

  1. Scharakteryzuj swój problem: czy szukasz jednego pierwiastka czy wielu, czy znasz przedział zawierający pierwiastek, czy masz dostęp do pochodnej funkcji.

  2. Wybierz metodę na podstawie decyzji z kroku 1. Jeśli pierwiastek jest w znanym przedziale i nie masz pochodnej, użyj Brenta. Jeśli masz pochodną, wybierz Newton-Raphson. Dla systemów równań zastosuj fsolve.

  3. Dla pojedynczego pierwiastka w przedziale [a, b] uruchom metodę Brenta: uv run python -c "from scipy.optimize import brentq; root = brentq(lambda x: x**2 - 2, 0, 2); print('Root:', root)"

  4. Jeśli dysponujesz pochodną funkcji, użyj Newton-Raphson z punktem startowym x0: uv run python -c "from scipy.optimize import newton; root = newton(lambda x: x*2 - 2, 1.0, fprime=lambda x: 2x); print('Root:', root)"

  5. Dla wielu pierwiastków spróbuj różnych punktów startowych lub użyj sympy do rozwiązania symbolicznego: uv run python -m runtime.harness scripts/sympy_compute.py solve "x**3 - x - 1" --var x

  6. Zweryfikuj wynik: sprawdź, czy wartość funkcji w znalezionym pierwiastku jest bliska zeru i czy pierwiastek leży w oczekiwanym obszarze.

Podobne skille