V matematiki je bisekcija numerična metoda za iskanje ničel zveznih funkcij. Metoda temelji na večkratnem zaporednem razpolavljanju intervala, na katerem leži ničla. Ime bisekcija (latinsko bisectio) pomeni razpolavljanje.
Prikaz prvih nekaj korakov bisekcije
Z metodo bisekcije iščemo rešitve enačbe oblike f(x) = 0, lahko pa tudi poljubne druge enačbe, če jo najprej preoblikujemo v obliko f(x) = 0.
Metodo bisekcije lahko uporabimo, če vemo, da je vrednost zvezne funkcije f v enem krajišču intervala [a,b] pozitivna, v drugem pa negativna. Če funkcija na intervalu [a,b] spremeni predznak in se nikjer ne pretrga, mora imeti na tem intervalu (vsaj eno) ničlo.
Opišimo postopek za primer, ko je vrednost f(a) pozitivna, f(b) pa negativna (glej sliko):
- najprej izračunamo razpolovišče intervala: c = (a+b) / 2,
- potem izračunamo f(c) (tj. vrednost funkcije v razpolovišču),
- če je f(c) = 0, smo ničlo že odkrili in postopek lahko zaključimo,
- če je vrednost f(c) pozitivna (enakega predznaka kot f(a)), potem krajišče a zamenjamo s c in postopek nadaljujemo na intervalu [c,b],
- če je vrednost f(c) negativna (enakega predznaka kot f(b)), potem krajišče b zamenjamo s c in postopek nadaljujemo na intervalu [a,c].
Postopek nadaljujemo na tistem od podintervalov, na katerem funkcija spremeni predznak. Z vsakim naslednjim korakom je interval ožji in krajišči konvergirata proti ničli funkcije. Po metodi bisekcije praviloma ne moremo dobiti povsem točne vrednosti ničle, dobimo pa lahko poljubno dober približek.
Metoda bisekcije ni uporabna za iskanje ničel sode stopnje (tj. ničel, v katerih funkcija ne spremeni predznaka), pri ničlah lihe stopnje pa je sicer počasna a zelo zanesljiva.
Uporabite lahko še ostale metode iskanje ničel, recimo:
V polje vnesi funkcijo, ki ji iščemo ničle in začetne meje intervala a in b,
kjer pričakujemo ničlo.
* Potek funkcije lahko preveriš
z naslednjim orodjem
okni_grafi.html.
Nekatere funkcije v js:
cos(x)
acos(x)
sin(x)
asin(x)
tan(x)
atan(x)
1/tan(x) = ctg(x)
PI*(1/2)-atan(x)
(exp(x)-exp(-x))/2 = sh(x)
(exp(x)+exp(-x))/2 = ch(x)
(exp(x)-exp(-x))/(exp(x)+exp(-x)) = th(x)
(exp(x)+exp(-x))/(exp(x)-exp(-x)) = cth(x)
2/(exp(x)+exp(-x))/2 = sch(x)
2/(exp(x)-exp(-x))/2 = csch(x)
abs(x)
sqrt(x)
round(x)
log(x)
exp(x)
5*random()
5*sin(tan(x/5))
5*cos(tan(x/10))
sqrt(9-x*x*9/25)
sqrt((x*x*9/25)-9)
7*cos((x/5)*sin(x))*cos(sin(x/5))/cos(sin(x/3))*cos(sin(x/3)) = kon. cos
7*sin((x/5)*sin(x))*sin(sin(x/5))/sin(sin(x/3))*sin(sin(x/3)) = kon. sin
sqrt(2*2/( (1+0.85*cos(x))*(1+0.85*cos(x)) ) -2*2*cos(x)*cos(x)/( (1+0.85*cos(x))*(1+0.85*cos(x)) ) )
-(1/3)*x-2
1/x
1/(x*x)
-30/(x*x)
(x*x)
-x*x-2*x+5
5*abs(sin(x*x/20))
2*x*x*x+x*x-4*x+3
nthroot(x,3) = x1/3 abs(nthroot((x-1),3)-1)
pow(2,x) = 2 na x
pow(x,3) = x na 3
8*pow(10,-x*x/70)*cos(x)
12
- za Gaussa daj recimo obliko 5*exp(-5*x*x/100) ali kako drugo zvonasto obliko, rec. 150*pow(10,-5*x*x/100000)
!!! n-ti koren iz x se zapiše kot nthroot(x,n),
primer za tretji koren, rec iz števila (-8): nthroot(-8,3) = -2
(nthroot je dodana funkcija,
saj vgrajena js funkcija pow(-8,1/3) vrne vrednost NaN).
Nazaj na domačo stran.