Potrzebuje krótkiego referatu z algorytmem o:
Wyznaczanie przybliżonej wartości miejsca zerowego funkcji
1) metoda wyznaczania przez połowienie przedziałów (bisekcję)
2) implementacja algorytmu


Odpowiedź :

metoda bisekcji polega na sprawdzaniu czy w zadanym przedziale znajduje sie miejsce zerowe przez sprawdzenie iloczynu wartosci funkcji na końcach przedzialu. jezeli f(a)*f(b)<0 to znaczy, że, przy założeniu, że funkcja jest ciągła i nieokresowa na zadanym przedziale, w przedziale <a;b> znajduje się miejsce zerowe.

Algorytm zaczynamy ustalając punkt srodkowy przedziału

c=(a+b)/2

liczmy wartosc funkcji w c

y=f(c)

jeśli wartość funkcji w c jest mniejsza od zadanej dokladnosci delta, to c jest miejscem zerowym.

W przeciwnym wypadku sprawdz czy f(a)*f(c)<0. Jeżeli warunek jest spełniony, to b=c i wróć do początku. Jeżeli warunek nie jest spełniony to a=c i wróć do początku. Operacje wykonujemy dopoki nie znajdziemy miejsca zerowego funkcji spełniającego nasze oczekiwania.

implementacja w matlabie/octave

a=-5; % min przedzialu

b=5; % max przedzialu

f=@(x) x.^2; % przykladowa funkcja

delta=0.000001; % dokladnosc

if(f(a)*f(b)<0)

while(1)

c=(a+b)/2;

fc=f(c);

if(abs(f(c))<=delta)

disp(strcat("mz w x=", num2str(c)));

else

if(f(a)*f(c)<0)

b=c;

else

a=c;

end

end

end

else

disp("brak mz");

end