2. Równania te dzielimy na algebraiczne, np. :
Pn(x)=a0xn+a1xn-1+…+an=0
i przestępne, np. :
Lg(x+5)-cosx=0.
Rozwiązać równanie nieliniowe za pomocą metody numerycznej
oznacza:
1) Ustalić istnienie pierwiastków i ich ilość;
2) Obliczyć pierwiastki z zadaną dokładnością i podać
oszacowanie błędu.
3. Niech F(x)=0 będzie równaniem nieliniowym, gdzie
funkcja F(x) jest ciągła w pewnym przedziale. Mamy za
zadanie odnaleźć pierwiastki tego równania w danym
przedziale.
Można stwierdzić, że jeśli funkcja F(x) jest ciągła i
spełnia w przedziale [a,b] warunki:
F(a)F(b)<0, oraz F’(x)<0 lub F’(x)>0,
to przedział [a,b] jest przedziałem izolacji i w nim
znajduje się pojedynczy pierwiastek p. Ponieważ znaki
funkcji na końcach przedziału są różne, pierwszy
warunek jest spełniony. Drugi warunek też.
Poszczególne metody rozwiązywania równania F(x)=0
określają sposób wyznaczenia kolejnych przybliżeń x1
wartości pierwiastka p w wyznaczonym przedziale
izolacji. Ale trzeba te przedziały ustalić.
4. Niech F(x)=0 będzie równaniem nieliniowym, gdzie
funkcja F(x) jest ciągła w przedziale [a,b].
Rozpatrzmy możliwe wykresy funkcji F(x) w tym
przedziale. Wykres może mieć jedno, dwa, kilka lub
w ogóle nie mieć przecięć z osią X. Punkty
przecięcia tego wykresu będą rozwiązaniami
rozważanego równania.
Można stwierdzić, że jeżeli znaki funkcji na granicach
przedziału są jednakowe, to równanie w przedziale
[a,b] nie ma pierwiastka lub ilość ich jest parzysta.
Jeżeli znaki są różne, oznacza to, że przedział [a,b]
zawiera chociażby jeden pierwiastek.
5. Zadanie polega na odnalezieniu takich przedziałów
[xi,xi+1] [a, b], które zawierają pojedyncze
pierwiastki. W tym celu będziemy obliczać wartości
funkcji F(x) od punktu x=a do x=b z krokiem h
(dostatecznie małym). Jeżeli w sąsiednich punktach
funkcja ma przeciwne znaki:
F(x)F(x+h)<0,
będzie to oznaczało, że przedział [x, x+h] zawiera
pierwiastek. Można dopełnić algorytm sprawdzaniem
na każdym kroku spełnienia warunku:
(F(x)-F(x-h))(F(x+h)-F(x))>0.
W przeciwnym przypadku krok należy dzielić na pół
dopóki nie przekonamy się, że pierwiastka w
przedziale nie ma.
6. Jedynym warunkiem tej metody jest ciągłość funkcji.
Niech F(x)=0 będzie równaniem nieliniowym, x należy
do przedziału [a,b]. Zakładamy, że:
1. Funkcja F(x) jest ciągła na [a,b];
2. Na końcach przedziału funkcja ta przyjmuje różne
znaki;
3. W przedziale [a,b] znajduje się dokładnie jeden
pierwiastek p.
Zadanie polega na znalezieniu przybliżonej wartości
tego pierwiastka.
7. Dzielimy przedział [a,b] (nazwiemy go [a0,b0] ) na połowę
punktem x1=(a0+b0)/2. Jest to pierwsze przybliżenie
pierwiastka. Z dwóch otrzymanych przedziałów [a0,x1] i
[x1,b0] wybieramy ten, na końcach którego funkcja F(x)
ma przeciwne znaki. U nas jest to lewy przedział [a0,x1] .
Niech teraz on będzie przedziałem [a1,b1]. Dzielimy go
na połowę punktem x2=(a1+b1)/2. Jest to drugie
przybliżenie pierwiastka. Ponownie analizujemy znaki
funkcji w środku x2 oraz na granicach przedziału [a1,b1] i
wybieramy tę połowę, na granicy której znaki są
przeciwne. Ozn. przez [a2,b2]. Powtarzamy tę procedurę,
otrzymując za każdym razem mniejsze przedziały [ai,bi]
zawierające szukany pierwiastek p. Kolejne przybliżenia
dążą do dokładnej wartości pierwiastka.
8. Niech F(x)=0 będzie równaniem nieliniowym, x należy do
przedziału [a,b]. Zakładamy, że:
1. Funkcja F(x) jest ciągła na [a,b];
2. Na końcach przedziału funkcja ta przyjmuje różne znaki;
3. W przedziale [a,b] znajduje się dokładnie jeden
pierwiastek p.
Metoda ta polega na interpolacji liniowej funkcji F(x).
Załóżmy, że a0=a, b0=b. Pierwszym przybliżeniem
pierwiastka równania F(x)=0 będziemy liczyć punkt
przecięcia osi x z linią prostą łączącą punkty (a0,F(a0)) i
(b0, F(b0)):
x1=(b0F(a0)-a0F(b0))/(F(a0)-F(b0)).
9. Z otrzymanych dwóch przedziałów [a0,x1] i [x1,b0]
wybieramy ten, w którym funkcja F(x) zmienia
swój znak i oznaczymy go jako [a1,b1]. Kroki te
powtarzamy dopóki moduł różnicy dwóch
kolejnych przybliżeń nie będzie mniejszy od
podanej dokładności e. Kolejne przybliżenia dążą
do dokładnej wartości szukanego pierwiastka.
10. Niech F(x)=0 będzie równaniem nieliniowym, x należy
do przedziału [a,b]. Zakładamy, że:
1. Funkcja F(x) jest ciągła na [a,b];
2. Na końcach przedziału funkcja ta przyjmuje różne
znaki;
3. W przedziale [a,b] znajduje się dokładnie jeden
pierwiastek p.
Metodę tę można zastosować jeżeli pierwsza i druga
pochodna funkcji F(x) nie zmieniają swoich
znaków w całym przedziale [a,b] (jest to warunek
zbieżności).
11. Niech F’(x)>0 i F”(x)>0. Za zerowe przybliżenie x0
należy wybrać ten graniczny punkt, w którym
funkcja F(x) ma taki znak jak druga pochodna. W
naszym przypadku będzie to punkt b. Prowadzimy
styczną od punktu (x0,F(x0)) do przecięcia z osią 0x.
Punkt przecięcia z osią 0x stanowi pierwsze
przybliżenie x1 pierwiastka p. Znajdujemy wartość
tego przybliżenia.
tg( )=F(x0)/(x0-x1)
tg( )=F’(x0)
F’(x0)=F(x0)/(x0-x1)
x1=x0-F(x0)/F’(x0).
Teraz od punktu (x1,F(x1)) prowadzimy styczną,
otrzymujemy kolejne przybliżenie pierwiastka:
x2=x1-F(x1)/F’(x1).
12. Postępując analogicznie otrzymujemy n-te
przybliżenie:
xn=xn-1-F(xn-1)/F’(xn-1).
Powtarzamy obliczania dopóki nie zostanie spełniona
relacja
xn-xn-1 <e, e - dokładność obliczania.
Ciąg kolejnych przybliżeń jest zbieżny i dąży do
wartości pierwiastka.
13. Niech F(x)=0 będzie równaniem nieliniowym, x należy
do przedziału [a,b].
0=F(x)
0=mF(x), m<>0
x=x+mF(x)
x=f(x) 0=F(x).
Niech p będzie jedynym pierwiastkiem równania
F(x)=0, a więc i równania x=f(x) w [a,b].
Niech x0 będzie zerowym przybliżeniem pierwiastka.
Podstawiając go do prawej strony równania x=f(x),
otrzymamy pewną liczbę x1. Teraz x1 podstawiamy
do prawej części tego równania i otrzymujemy x2
itd.:
14. x1=f(x0)
x2=f(x1)
x3=f(x2)
…
xn=f(xn-1)
…
Ciąg x0, x1, x2,…, xn,… nazywa się ciągiem przybliżeń
iteracyjnych i przy spełnieniu pewnych warunków
ciąg ten jest zbieżny.
Zatem jeżeli spełnione są warunki zbieżności, to ciąg
przybliżeń xn=f(xn-1) dąży do pierwiastka p.
15. Niech xn będzie n-tym przybliżeniem pierwiastka p
równania nieliniowego x=f(x). Błąd bezwzględny
przybliżenia xn oceniamy jako xn= xn-p .
Na jakim kroku iteracji należy zakończyć obliczenia,
aby otrzymać wynik z dokładnością do e?
Oczywiście warunkiem jest xn<=e.
Można pokazać, że
xn<=q/(1-q) xn-xn-1 , 0<q<1.
Aby xn<=e, wystarczy, żeby
q/(1-q) xn-xn-1 <=e, czyli
xn-xn-1 <=e(1-q)/q.
16. Zatem gdy chcemy odnaleźć pierwiastek z
dokładnością do e, to musimy kontynuować
obliczenia dopóki różnica nie okaże się mniej niż
e(1-q)/q. Wartość q można wyznaczyć jako
max f’(x) , x [a,b].