Poszukiwanie miejsc zerowych funkcji

0

Czy istnieje algorytm, który majac daną funkcję znajdzie jej miejsca zerowe? Słyszałem o wielu (Newton, regula falsi), które znajdują tylko jedno, ale żadnego innego nie znalazłem.
Wystarczyłby mi nwet algorytm, który sprawdza, czy w danym zakresie funkcja ma miejsce zerowe.

0

Dziel i zwyciężaj.
Mając dany przedział, dzieląc go na coraz mniejsze części możesz znaleźć miejsce zerowe z dowolnym przybliżeniem.

Pozdrawiam.

0

tzn chodzi o rozważenie szczególnego przypadku z tw. Darboux o przyjmowaniu wartości średnich :P
w tw. chodzi o to że jeżeli funkcja jest ciągła w przedziale [a;b] i w tym przedziale weźmiemy stałe alfa, beta, takie że alfa<beta to funkcja musi przyjąć wszystkie wartości z przedziału od f(alfa) do f(beta) - dlatego że jest ciągła.

Jak z tego korzystamy przy rozwiązywaniu równania? proste. jeżeli mamy dwie liczby alba i beta takie że
f(alfa)*f(beta)<0 czyli znajdują się po przeciwnych stronach osi X, to z twierdzenia wynika że w tym przedziale muszą znajdować się wartości pośrednie czyli też istnieje miejsce zerowe! teraz trzeba odpowiednio przybliżać wartości alfa i beta aż dojdziemy do zadowalającego przybliżenia, najczęściej robi się to tak:
c = (alfa+beta)/2;
i teraz jeżeli
f(alfa)*f(c) <0 to nowe beta = c w innym wypadku nowe alfa = c;

0
kz_x napisał(a)

Słyszałem o wielu (Newton, regula falsi), które znajdują tylko jedno, ale żadnego innego nie znalazłem.

Znajdzie jedno, o ile jest, w danym przedziale <a,b>. Ale to Ty ustalasz ten przedzial, moze byc on rozny.
Szukaj takiego miejsca w ktorym wartosci funkcji sie zmieniaja, wtedy wybierasz odpowiedni przedzial +/- miesjca w ktorym sie zmienia.
Moze niepowiedzenia lezy takze w zlym zapisaniu algorytmu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1