Προσέγγιση Λύσεων Μη Γραμμικών Εξισώσεων

ΚΕΦΑΛΑΙΟ ΙI
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Στο κεφάλαιο αυτό µελετάµε µερικές κλασικές µεθόδους για την αριθµητική επίλυση µη γραµµικών
εξισώσεων. Το πρόβληµα της προσεγγιστικής επίλυσης των γραµµικών εξισώσεων είναι από τα πιο
κλασικά και συχνά δυσεπίλυτα προβλήµατα της Αριθµητικής Ανάλυσης. Μη γραµµικές εξισώσεις
προκύπτουν από την επίλυση µη γραµµικών συνήθων διαφορικών εξισώσεων, ολοκληρωτικών
εξισώσεων και εξισώσεων µε µερικές παραγώγους.
Οι µη γραµµικές εξισώσεις συνήθως δεν δέχονται αναλυτική λύση. Όµως, ακόµα και στην
περίπτωση που η λύση µπορεί να δοθεί αναλυτικά, ο υπολογισµός της τιµής του αντίστοιχου
αναλυτικού τύπου απαιτεί συχνά περισσότερο υπολογιστικό χρόνο, απ’ ό,τι µια κατάλληλη
αριθµητική µέθοδος. Εκτός αυτού, οι υπολογισµοί µέσω των αναλυτικών τύπων υπόκεινται σε
σφάλµατα στρογγύλευσης που επιδρούν στην ακρίβεια των αποτελεσµάτων. Χαρακτηριστική είναι η
περίπτωση του Παρ.1.5.5. Έτσι, ακόµα και αν υπάρχει κλειστή µορφή της λύσης, είναι προτιµότερη
από υπολογιστική άποψη η προσέγγισή της από ένα αριθµητικό αλγόριθµο.
Οι µέθοδοι που θα περιγράψουµε είναι επαναληπτικές, δηλαδή κατασκευάζουν σε επαναληπτικά
βήµατα προσεγγίσεις xk+1=g(xk), k=1,2,…, όπου η ακολουθία {xk} συγκλίνει κάτω από κατάλληλες
προϋποθέσεις σε µια ρίζα µιας µη γραµµικής εξίσωσης f(x)=0. Συχνά δύο µέθοδοι συνδυάζονται
έτσι ώστε η πρώτη να εντοπίζει µια πρώτη «πρόχειρη» προσέγγιση της ρίζας και στη συνέχεια να
εφαρµόζεται µια δεύτερη ταχύτερη για την ικανοποιητική προσέγγισή της. Ως κριτήρια λαµβάνονται
κατά περίπτωση, είτε ανοχές για την απόσταση διαδοχικών προσεγγίσεων, είτε εκτιµήσεις σχετικού
σφάλµατος είτε άλλες κατάλληλες εκτιµήσεις σφαλµάτων. Η ταχύτητα σύγκλισης εξαρτάται από την
χρησιµοποιούµενη µέθοδο και από τις ιδιότητες της συνάρτησης f.
2.1 Μέθοδος ∆ιχοτόµησης
Η µέθοδος αυτή (bisection method) είναι ασφαλής αλλά αργή. Χρησιµοποιείται στην πράξη µόνον για
τον εντοπισµό περιοχής της ρίζας. Αν µια συνάρτηση f είναι συνεχής στο διάστηµα [a,b], µε
f(a)f(b)<0, η αρχή της µεθόδου βασίζεται στο γνωστό κριτήριο Bolzano της Μαθηµατικής Ανάλυσης:
Θεώρηµα 2.1.1
Έστω µια συνάρτηση f συνεχής στο διάστηµα [a, b], µε f(a)f(b)<0. Τότε υ̟άρχει τουλάχιστον µια ρίζα r της f
στο διάστηµα [a,b].
Θεωρούµε ότι η f έχει µόνο µια ρίζα r στο εξεταζόµενο διάστηµα [a,b]. Αν υπάρχουν περισσότερες
τότε βρίσκουµε ένα στενότερο διάστηµα που περιέχει µια µόνον ρίζα. Η µέθοδος έγκειται στη
διαδοχική διχοτόµηση διαστηµάτων που περιέχουν τη ρίζα αυτή. Θέτουµε αρχικά a0=a και b0=b
και υπολογίζουµε το µέσο του [a0,b0], x0=(a0+b0)/2. Τότε, η ρίζα r ανήκει σε ένα από τα διαστήµατα
[a0,x0], [x0,b0] (σχ. 2.1). Αν f(x0)=0 τότε r=x0 και η ρίζα έχει εντοπισθεί. Αν f(x0)f(a0)<0 ορίζεται ως
νέο διάστηµα αναζήτησης το [a1,b1] µε a1=a0, b1=x0. Αν f(x0)f(a0)>0 το διάστηµα αναζήτησης είναι
[a1,b1], µε a1=x0, b1=b0. Η διαδικασία επαναλαµβάνεται για το διάστηµα [a1,b1] κοκ., και έτσι
κατασκευάζεται µια ακολουθία διαστηµάτων [an, bn] και µια ακολουθία προσεγγίσεων xn:
a0=a, b0=b
xn = (an+bn)/2, µε f(an)f(bn)<0, n=1,2,…
(2.1.1)
Αποδεικνύεται και τυπικά ότι η ακολουθία (2.1.1) συγκλίνει στη ρίζα και µάλιστα ότι η ακολουθία
[an, bn] συγκλίνει στο µηδενικό διάστηµα [r, r], δηλαδή limn→∞an = limn→∞bn = r.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-2
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
y
y=f(x)
a=a1
x1=a2 r
x2 x0= b1= b2
b=b0 x
Σχ. 2.1.1 Γραφική ερµηνεία της µεθόδου διχοτόµησης
Θεώρηµα 2.1.2
Αν η συνάρτηση f είναι συνεχής στο διάστημα [a, b] και ισχύει f(an)f(bn)<0, τότε η ακολουθία
(2.1.1) συγκλίνει σε μια ρίζα της f.
Α̟όδειξη ∆είχνουµε ότι η ακολουθία (2.1.1) συγκλίνει. Από το Θ2.1.1 υπάρχει µια ρίζα της f στο
[a, b]. H ακολουθία an από την κατασκευή της είναι αύξουσα και κάτω φραγµένη από το a, εποµένως
συγκλίνει. Όµοια, συγκλίνουσα είναι και η bn, ως φθίνουσα και άνω φραγµένη από το b. Για την
ακολουθία:
xn =
bn + an
∈ [ an , bn ]
2
ισχύει εκ κατασκευής an ≤ xn ≤ bn. Άρα η xn συγκλίνει. Οµοίως εκ κατασκευής είναι:
bn − an =
bn −1 − an −1 bn − 2 − an − 2
b −a b −a
=
= ... = 1 n −1 1 = 0 n 0
2
22
2
2
Εποµένως:
lim n →∞ ( bn − an ) =
b0 − a0
= 0 ⇒ lim n →∞ xn = lim n →∞ an = lim n →∞ bn = r ∈ [ a, b ]
2n
Τώρα, επειδή f(an)f(bn)<0 και η f συνεχής, ισχύει
lim n →∞ f ( an ) f ( bn ) = lim n →∞ ( an ) lim n →∞ ( bn ) = ( f ( r ) ) ≤ 0
2
Εποµένως f(r)=0. Άρα κατασκευαστικά δείξαµε ότι υπάρχει τουλάχιστον µια ρίζα r της f στο [a,b]
στην οποία συγκλίνει η ακολουθία xn.
■
Εκτίµηση Σφάλµατος
Aν ek=|xk-r| είναι το απόλυτο σφάλµα στην k προσέγγιση, τότε από την κατασκευή της ακολουθίας
(2.1.1) λαµβάνουµε ότι για τα διαστήµατα [ak, bk] ισχύει:
ek = xk − r =
ak + bk
b −a
b −a
− r ≤ k −1 2 k −1 = ⋯ = 0 k +1 0
2
2
2
δηλαδή:
ek ≤
b0 − a0
2k +1
(2.1.2)
Αυτό σηµαίνει ότι |ek|=O(1/2k+1). H (2.1.2) δίνει ένα φράγµα για το απόλυτο σφάλµα. Εξ’ άλλου
παρατηρούµε ότι για k αρκετά µεγάλο η σχέση |ek+1|≤ (bk - ak)/2 δίνει:
ek +1 ≈
ek
2
(2.1.3)
Αυτό σηµαίνει ότι το απόλυτο σφάλµα περίπου υ̟οδι̟λασιάζεται σε κάθε βήµα της ε̟ανάληψης, δηλαδή
µειώνεται γραµµικά. Στην §2.3 θα δούµε ότι το γεγονός αυτό αποτελεί περίπτωση γραµµικής σύγκλισης.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-3
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Με βάση την (2.1.2) µπορεί τώρα να προσδιορισθεί το µέγιστο αριθµό nmax των απαιτούµενων
επαναλήψεων (διχοτοµήσεων) για να είναι το µέσο σηµείο µία προσέγγιση της ρίζας µε απόλυτο
σφάλµα µικρότερο από µια δοσµένη ανοχή ε>0. Λογαριθµίζοντας λαµβάνουµε:
k≤
log(b − a) − log ε
−1
log 2
απ’ όπου:
 log(b − a) − log ε 
 log(b − a) − log ε 
 = round 
nmax = int 

 + 1
log 2
log 2




(2.1.4)
Το επαναληπτικό σχήµα της µεθόδου βασίζεται σε µια ακολουθία διαστηµάτων φθίνοντος µήκους,
µε τα άκρα τους ak και bk να τείνουν να συµπέσουν. Εποµένως, το ενδεδειγµένο κριτήριο σύγκλισης
είναι αυτό που βασίζεται στον έλεγχο του απολύτου ή σχετικού µεγέθους της διαφοράς ak – bk:
| ak – bk | ≤ ε
| ak – bk |/|bk| ≤ ε
(2.1.5)
(2.1.6)
όπου ε>0 δοθείσα ανοχή σφάλµατος.
Ο αλγόριθµος της µεθόδου ακολουθεί. Ως συνθήκη σύγκλισης χρησιµοποιείται η (2.1.5).
Αλγόριθµος 2.1.1: Μέθοδος ∆ιχοτόµησης
Input: συνάρτηση f συνεχής στο [a, b], µε f(a)f(b)<0,
Output: προσέγγιση x της ρίζας r
begin
eps := 1e-6
{ανοχή µήκους διαστήµατος}
i := 1; satisfied := False ;
{σηµαία τερµατισµού βρόγχου}
Read(a,b);
{θα πρέπει f(a)*f(b)<0}
fa := f(a); fb := f(b);
if Sign(fb) == Sign(fx) then exit (‘δεν υπάρχει ρίζα’) ;
Nmax := 1+Int([ln(b-a)-ln(eps)]/ln(2);
{µέγιστο πλήθος επαναλήψεων}
repeat
x := (a+b)/2 ; fx := f(x) ;
if fx=0 then { a := x ; b := x }
else if Sign(fb) ≠ Sign(fx) then { a := x ; fa := fx }
else { b := x ; fb := fx } ;
satisfied := abs(b-a) ≤ eps
{έλεγχος απολύτου σφάλµατος}
i := i+1;
until satisfied or (i>Nmax);
Write(x, i-1, b-a)
end
♦ Παράδειγµα 2.1.1
Εφαρµόζουµε τη µέθοδο της διχοτόµησης για να βρούµε µια ρίζα της xsin(x)-1=0. Για a0=0 και b0=2
είναι f(0)= -1 και f(2)= 0.81859 και άρα υπάρχει µια ρίζα της f στο [0,2]. Έχουµε x0=1 και βρίσκουµε
f(1)= -0,15852, δηλ. η f αλλάζει σηµείο στο [1,2]. Θέτουµε a1=c0 και b1=b0 και βρίσκουµε x1=1.5,
f(c1)=0,49624. Αφού f(a1)f(c1)<0, η ρίζα βρίσκεται στο [a1, c1]=[1.0,1.5], και άρα παίρνουµε a2=a1,
b2=c1. Συνεχίζοντας, παίρνουµε µια ακολουθία {xk} που συγκλίνει στη ρίζα r≈1.114157141. Στον
παρακάτω πίνακα δίνεται ένα σύνολο επαναλήψεων.
k
ak
xk
bk
f(xk)
0
1
2
3
0
1.0
1.00
1.000
1
1.5
1.25
1.125
2
2.0
1.50
1.250
-0.15852
0.49624
0.18623
0.01505
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-4
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
4
5
6
7
8
1.0000
1.06250
1.093750
1.0937500
1.10937500
...
1.0625
1.09375
1.109375
1.1171875
1.11328125
...
1.1250
1.12500
1.125000
1.1250000
1.11718750
...
-0.07182
-0.02836
-0.006643
0.004208
-0.001216
...
Εφαρµόζουµε τώρα την (2.1.2) για k=30 k=31 και παίρνουµε:
|e30| ≤ |2-0|/231 ≈ 9.313225746154785×10-10 ≤ 5×10-9 = 0.5×10-8 ≥ 5×10-10
|e31| ≤ |2-0|/232 ≈ 4.656612873077393×10-10 ≤ 5×10-10 = 0.5×10-9 ≥ 5×10-11
Οι επαναλήψεις x30 και x31 είναι προσεγγίσεις της ρίζας µε ακρίβεια 9 και 10 σ.ψ. αντίστοιχα. Μια
ισοδύναµη διατύπωση είναι ότι χρειάστηκαν 31 επαναλήψεις για να επιτευχθεί προσέγγιση µε ακρίβεια
10 σ.ψ.
□
♦ [Matlab] Παράδειγµα 2.1.2
Η παρακάτω συνάρτηση bisect υλοποιεί τη µέθοδο διχοτόµησης.
function [c,yc,err,P] = bisect(f,a,b,delta)
%--------------------------------------------------------------------------%BISECT
The bisection method is used to locate a root.
% Sample calls
%
[c,yc,err] = bisect('f',a,b,delta)
%
[c,yc,err,P] = bisect('f',a,b,delta)
% Inputs
%
f
name of the function
%
a
left endpoint
%
b
right endpoint
%
delta
convergence tolerance
% Return
%
c
solution: the root
%
yc
solution: the function value
%
err
error estimate in c
%
P
History vector of the iterations
%--------------------------------------------------------------------------P = [a b];
ya = feval(f,a); yb = feval(f,b);
if ya*yb > 0, return
end
max1 = 1 + round((log(b-a)-log(delta))/log(2));
for k=1:max1,
c = (a+b)/2;
yc = feval(f,c);
if yc == 0,
a = c; b = c;
elseif yb*yc > 0,
b = c; yb = yc;
else
a = c; ya = yc;
end
P = [P;a b];
if b-a < delta, break, end
end %for loop
c = (a+b)/2;
yc = feval(f,c);
err = abs(b-a)/2;
s=input('plot the solution? (y/n)','s');
if s=='y',
x=P(1,1):00.1:P(1,2);
y=feval(f,x);
plot(x,y,'r',c,yc,'o'),grid;
end
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-5
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Εφαρµόζουµε τη συνάρτηση bisect για το Παρ.2.1.1. Η συνάρτηση f(x)=xsinx-1 ορίζεται σε ένα Μ-file
µε όνοµα func.m:
function y=func(x)
y=x.*sin(x)-1;
H bisect καλείται µε την εντολή:
[c,yc]=bisect('func',0,2,1e-9)
Έξοδος:
plot the solution? (y/n)y
c =
1.11415714072064
yc =
-2.101191443060202e-010
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
□
Παρατήρηση 2.1.1: Αξιολόγηση Η µέθοδος διχοτόµησης έχει το πλεονέκτηµα ότι πάντα συγκλίνει
σε µία ρίζα. Όµως είναι (από την (2.1.2)) αρκετά αργή, και συγκεκριµένα έχει γραµµική σύγκλιση.
Επιπλέον, διαπιστώνεται ότι λόγω των διχοτοµήσεων, µερικές ενδιάµεσες καλές προσεγγίσεις
χάνονται λόγω των διχοτοµήσεων. Πρόσθετα µειονεκτήµατα είναι δεν εντοπίζει ρίζες εκτός του
[a,b], ούτε όταν υπάρχει άρτιος αριθµός ριζών στο [α,b] (τότε ισχύει f(a)f(b)>0). Για τους λόγους
αυτούς χρησιµοποιείται για τον εντοπισµό διαστηµάτων της ρίζας, ή για τον υπολογισµό αρχικών
προσεγγίσεων για άλλες ταχύτερες µεθόδους, όπως η Newton-Raphson.
Ασκήσεις
2.1.1 Εφαρµόζοντας τον αλγόριθµο διχοτόµησης να υπολογισθούν µε ακρίβεια 4 δεκαδικών ψηφίων οι
πραγµατικές ρίζες των εξισώσεων:
(a) ex + 2-x + 2cosx – 6 = 0, για 1≤x≤2
(b) x3 – 7x2 + 14x – 6 = 0, όλες οι ρίζες
(c) lnx + x = 2, όλες οι ρίζες
Να γίνει εκτίµηση σφάλµατος για κάθε µία από τις εξισώσεις.
2.1.2 Εφαρµόζοντας τον αλγόριθµο διχοτόµησης να βρεθεί µια προσέγγιση της ρίζας 251/3 µε ακρίβεια
4 σ.ψ. Να γίνει επίσης εκτίµηση απολύτου σφάλµατος.
2.1.3 Εφαρµόζοντας τον αλγόριθµο διχοτόµησης, πόσες επαναλήψεις απαιτούνται για την επίλυση της
x-2-x=0, όπου x∈[1/2,1], µε ακρίβεια ε=10-5 ;
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-6
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
2.2 Εντοπισµός Ριζών
Αν µια συνάρτηση f έχει σε ένα διάστηµα [a,b] περισσότερες της µιας πραγµατικές ρίζες, τότε για
τον υπολογισµό τους επιβάλλεται αρχικά να εντοπισθούν διαστήµατα τα οποία να περικλείουν κάθε
µια εξ αυτών µε τρόπο µοναδικό. Κατόπιν, για κάθε ρίζα πρέπει να καθορισθεί στο επιλεγµένο
διάστηµα µια αρχική προσέγγιση για να χρησιµοποιηθεί από µια κατάλληλη υπολογιστική µέθοδο.
Η µέθοδος διχοτόµησης προσφέρεται για το σκοπό αυτό, αφού παρέχει όπως είδαµε µια µέθοδο
«αποµόνωσης» µιας ρίζας σε ένα κλειστό διάστηµα. Και άλλες µέθοδοι, όπως η Regula Falsi (§2.4),
ακολουθούν την ίδια αρχή εγκλεισµού της ρίζας σε προοδευτικά ελαττούµενα διαστήµατα. Για το
λόγο αυτό οι µέθοδοι αυτές καλούνται µέθοδοι εγκλεισµού της ρίζας (bracketing methods).
O εντοπισµός των περιοχών ριζών µπορεί κατ’ αρχήν να γίνει εξετάζοντας το γράφηµα της f, αν η
µορφή της το επιτρέπει. Ακόµα, ένας εναλλακτικός τρόπος έγκειται στην µετατροπή της f(x) σε µια
ισοδύναµη κατάλληλη µορφή f1(x)=f2(x), όπου τα γραφήµατα των f1 και f2 να µπορούν να
προσδιορισθούν εύκολα. Αν αυτά τέµνονται, τότε οι προβολές των σηµείων τοµής τους στον άξονα
Οx αποτελούν προσεγγίσεις των πραγµατικών ριζών της f (βλ. Παρ.2.5.3).
Μια πιο συστηµατική µέθοδος βασίζεται στην εξέταση των προσήµων της f και των τιµών της f΄.
Από τη Μαθηµατική Ανάλυση είναι γνωστό ότι αν η f είναι συνεχής και παραγωγίσιµη, και δοθεί ένα
διάστηµα [a,b] τέτοιο ώστε f(a)f(b)<0, τότε αν f΄(x)≠0 για κάθε x[a,b], η f έχει µια µοναδική ρίζα
στο [a,b]. Αν f΄(x)=0, για κάποιο x∈[a,b], τότε η f έχει περιττό αριθµό ριζών στο [a,b]. Αν ισχύει
f(a)f(b)>0, τότε είτε δεν υπάρχει ρίζα στο [a,b], είτε υπάρχει άρτιος αριθµός ριζών.
Σχήµα 2.2.1 Γράφηµα της xsin(x)-1=0 στο διάστηµα [0,40]. Εντοπισµός ριζών.
Για τον προσδιορισµό όλων των υποδιαστηµάτων του πεδίου ορισµού [a,b] µιας συνεχούς
συνάρτησης f, έκαστο των οποίων περικλείει ακριβώς µια ρίζα, εφαρµόζεται η αρχή της κατάτµησης.
Χωρίζουµε το [a,b] σε n ίσα διαδοχικά υποδιαστήµατα µικρού µήκους h, λαµβάνοντας n+1
ισαπέχοντα σηµεία xi=a+hi, i=0,…,n, µε h=(b-a)/n. Στη συνέχεια εξετάζουµε τα πρόσηµα της f στα
άκρα τους, εφαρµόζοντας το κριτήριο f(xi)f(xi-1)≤0, i=1,…,n, για τον εγκλωβισµό των ριζών. Όπου
το κριτήριο επαληθεύεται, παίρνουµε καλύτερες αρχικές προσεγγίσεις xi=(xi+xi-1)/2, i=1,…,n. Π.χ.
για την συνάρτηση y=xsinx-1, στο διάστηµα [0, 40] παίρνουµε για h=1 τα διαδοχικά σηµεία:
0,1,...,40 (Σχ. 2.2.1). Κατόπιν βρίσκουµε τα πρόσηµα των f(xi)f(xi+1), για i=0,…,39.
Ειδικός χειρισµός πρέπει να γίνει στην περίπτωση των ̟ολλα̟λών ριζών. Για τον εντοπισµό µιας
πολλαπλής ρίζας r (f΄(r)=0), ή ακόµα και πολύ κοντινών ριζών που απέχουν µεταξύ τους λιγότερο
από h, εξετάζουµε την τιµή f(xi) ως προς µια ανοχή ε:
|f(xi)| < ε
(2.2.1)
σε συνδυασµό µε µια εκτίµηση αλλαγής κλίσης της καµπύλης, δηλ. του σηµείου της παραγώγου,
κοντά στο xi. Αυτό ισοδυναµεί µε f΄(xi) f΄(xi+1)<0, οπότε ελέγχουµε αν
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
yi − yi −1 yi+1 − yi
×
<0 ή (yi-yi-1)(yi+1+yi)<0
xi − xi −1 xi+1 − xi
II-7
(2.2.2)
Στην περίπτωση που ισχύουν συγχρόνως οι (2.2.1) και (2.2.2), αποφαινόµαστε ότι το xi αποτελεί
πιθανή προσέγγιση πολλαπλής ρίζας. Στο Σχ. 2.2.2 δίνεται ένα παράδειγµα εντοπισµού µιας απλής
και µιας διπλής ρίζας.
Η παραπάνω διαδικασία µπορεί να σχηµατοποιηθεί µε έναν απλό επαναληπτικό αλγόριθµο για τον
εντοπισµό των ριζών (άσκηση 2.2.1). Όσον αφορά τα κριτήρια σφάλµατος (και τερµατισµού),
ισχύουν όσα αναφέρθηκαν στην §1.6 (συνθήκες (1.6.2)-(1.6.4)).
Σχήµα 2.2.2 Εντοπισµός των ριζών της x3-3x+2=0. Ρίζες x=-2 (απλή) και x=1 (διπλή).
Ασκήσεις
2.2.1 Γράψτε έναν αλγόριθµο και ένα κώδικα σε Matlab για τον εντοπισµό των ριζών µιας εξίσωσης
σε ένα διάστηµα [a,b], έτσι όπως περιγράφτηκε στην §2.2.
2.2.2 Εφαρµόστε το πρόγραµµα της άσκησης 2.2.1 για τον εντοπισµό των ριζών της xsinx=1 στο
διάστηµα [0, 40].
2.2.3 Βρείτε προσεγγίσεις και διαστήµατα των ριζών για τις εξισώσεις:
(α) x-cosx=0 στο διάστηµα [-2,2],
(β) lnx=(x-2)2 στο διάστηµα [0,4.5],
(γ) –x3+8x2-10x+3=0 στo διάστηµα [0,8]
2.3 Γενική Επαναληπτική Μέθοδος
Αν θεωρήσουµε µια συνάρτηση g, τότε µια ρίζα (λύση) της g(x)=x, καλείται σταθερό σηµείο της g. Για
παράδειγµα η συνάρτηση g(x)=x-cos̟x έχει ακριβώς τρία σταθερά σηµεία στο διάστηµα [-1,2], τα
-0.5, 0.5, 1.5 (βλ. Σχ. 2.3.1.(α)). Αν τώρα θεωρήσουµε µια εξίσωση f(x)=0, και τη θέσουµε στην
ισοδύναµη µορφή, «λύνοντας ως προς x»:
x = g(x)
(2.3.1)
τότε οι ρίζες της f είναι τα σταθερά σηµεία της g. Αλλά και αντιστρόφως: κάθε σταθερό σηµείο της g(x)
είναι ρίζα της f. Οι επιλογές της µορφής (2.3.1) από µια εξίσωση f(x)=0 είναι φυσικά πολλές. Γενικά
για την f, δύο ισοδύναµες εξισώσεις είναι οι g(x)=x-f(x) και g(x)=x-f(x)/g(x) µε g(x)≠0. Για την
f(x)=x3-3x+1 µπορούµε να λάβουµε τις εναλλακτικές µορφές g(x)=x3-2x+1, g(x)=(3x-1)1/3,
g(x)=3x-1/x2 κλπ. Τέλος, για την f(x)=ex-2x2 δυνατές µορφές είναι οι g(x)=(1/2)1/2(ex)1/2,
g(x)=ln(x)+2ln(2) κλπ.
Με βάση τη γενική µορφή (2.3.1), µπορούµε να κατασκευάσουµε διάφορες επαναληπτικές
µεθόδους για τον υπολογισµό λύσεων µη γραµµικών εξισώσεων. Οι µέθοδοι αυτές καλούνται
ε̟αναλη̟τικές µέθοδοι του σταθερού σηµείου ή γενικές ε̟αναλη̟τικές µέθοδοι και δίδονται από την
επαναληπτική ακολουθία:
xk+1 = g(xk), k = 0,1,2…
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
(2.3.2)
6/5/2014
II-8
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Το αρχικό x0 είναι δοθέν και επιλέγεται συνήθως κοντά σε µια ρίζα της f. Η ακολουθία (2.3.2)
λέγεται ε̟ανάληψη σταθερού σηµείου (fixed-point iteration).
y
y=x
b
g(x0)
g(x1)
y=g(x)
a
a
(α)
x0 x2ξ x1 b
x
(β)
Σχήµα 2.3.1 (α) Σταθερά σηµεία της g(x) = x-cosx στην περιοχή [-1.5 , 2.5 ].
(β) Γραφική ερµηνεία της µεθόδου του σταθερού σηµείου.
Θεώρηµα 2.3.1 nlim
xn+1 = w
→∞
Έστω μια συνεχής συνάρτηση g(x), και μια ακολουθία {xk} παραγόμενη από μια
επανάληψη σταθερού σημείου xk=g(xk-1). Τότε άν η {xk} συγκλίνει στο w, το w είναι
σταθερό σημείο της g.
Α̟όδειξη Υποθέτοντας ότι lim xn+1 = w , από τη σχέση xn+1=g(xn) παίρνουµε:
n→∞
w = lim xn+1 = lim g ( xn ) = g ( lim xn ) = g ( w)
n →∞
n →∞
n →∞
■
Παράδειγµα 2.3.1
Έστω η συνάρτηση g(x)=exp(-x). Το σταθερό σηµείο της βρίσκεται από την x=exp(-x). Αν λάβουµε
την ακολουθία xk+1=exp(-xk), για k=0,1,2..., µε x0=0.5, βρίσκουµε:
x1=exp(0.5)=0.606531, x2=exp(0.606531)=0.545239, ...., x10=exp(0.567560)=0.566907
Από την πορεία των υπολογισµών φαίνεται ότι η {xk} συγκλίνει. Επιπλέον υπολογισµοί δείχνουν
limn→∞xn = 0.567143, άρα το σταθερό σηµείο της exp(-x) είναι το 0.567143.
□
Θα εξετάσουµε τώρα πότε µια συνάρτηση έχει σταθερά σηµεία και πως αυτά µπορούν να
υπολογισθούν. To Θ2.3.2 που ακολουθεί δίνει ικανές συνθήκες για την ύπαρξη και µοναδικότητα
ενός σταθερού σηµείου σε ένα διάστηµα.
Συµβολισµός 2.3.1 Το σύνολο όλων των συνεχών συναρτήσεων στο διάστηµα [a, b] θα συµβολίζεται
µε C[a, b]. Επίσης το σύνολο των συναρτήσεων που έχουν συνεχείς παραγώγους µέχρι τάξης n στο
[a, b] θα συµβολίζεται µε Cn[a, b].
Θεώρηµα 2.3.2
Έστω μια συνάρτηση g∈C[a, b].
(i) Αν ισχύει
g(x)∈[a, b] για κάθε x∈[a, b]
(2.3.3)
τότε η g έχει ένα σταθερό σημείο στο [a, b].
(ii) Επιπλέον, αν η g είναι παραγωγίσιμη στο (a, b) και ισχύει
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
|g′(x)| ≤ Κ < 1, για κάθε x∈(a,b),
II-9
(2.3.4)
τότε η g έχει ένα μοναδικό σταθερό σημείο στο [a, b] (βλ. Σχ. 2.3.1(β)).
Α̟όδειξη α) ∆ιακρίνουµε τις παρακάτω περιπτώσεις
i. Αν g(a)=a ή g(b)=b, τότε προφανώς υπάρχει σταθερό σηµείο.
ii. Αν g(a)≠a και g(b)≠b, ορίζουµε τη συνάρτηση φ(x)=g(x)-x που προφανώς είναι συνεχής στο
[a,b]. Επιπλέον, παρατηρούµε ότι οι φ(a)=g(a)-a>0 και φ(b)=g(b)-b<0. Τότε από Θ2.1.1
υπάρχει ξ∈(a,b) ώστε φ(ξ)=0, δηλαδή g(ξ)-ξ=0, και εποµένως το ξ είναι σταθερό σηµείο της g.
β) Έστω ότι υπάρχουν δύο διαφορετικά σταθερά σηµεία ξ1,ξ2∈(a,b) µε ξ1<ξ2 . Τότε από την (2.3.3)
και το Θεώρηµα Μέσης Τιµής (1), προκύπτει ότι υπάρχει θ∈(ξ1,ξ2), άρα και θ∈(a,b), ώστε:
|ξ1-ξ2| = |g(ξ1)-g(ξ2)| = g΄(θ) |ξ1- ξ2| ≤ K | ξ1- ξ2| < | ξ1- ξ2 |
που είναι άτοπο. Εποµένως ξ1=ξ2, δηλ. το σταθερό σηµείο είναι µοναδικό.
■
2.3.1 Σύγκλιση
Η σύγκλιση της µεθόδου του σταθερού σηµείου εξασφαλίζεται όταν ισχύουν οι δύο βασικές υποθέσεις
του Θ2.3.2, δηλαδή όταν η επαναληπτική συνάρτηση g που επιλέγεται τις ικανοποιεί. Αυτό είναι το
αντικείµενο του Θ2.3.3 που ακολουθεί. Επί πλέον η σύγκλιση εξασφαλίζεται ακόµα κα όταν όταν δεν
τηρείται το πρώτο κριτήριο, δηλ. g(x)∈[a,b], αλλά το αρχικό σηµείο επιλέγεται σε µια αρκούντως
µικρή περιοχή του σταθερού σηµείου, δηλ. κοντά στη ρίζα (Θ2.3.4).
Θεώρηµα 2.3.3
Αν μια συνάρτηση g ικανοποιεί τις υποθέσεις του Θ2.3.2 και x0 είναι μια οποιαδήποτε
αρχική προσέγγιση στο [a, b], τότε η ακολουθία xn=g(xn-1), n=1,2,…, συγκλίνει στο σταθερό
σημείο της g.
Α̟όδειξη Από το Θ2.3.2, υπάρχει ένα µοναδικό σταθερό σηµείο ξ στο [a,b]. Από την (2.3.4) και το
Θεώρηµα Μέσης Τιµής παίρνουµε :
|xn - ξ | = |g(xn-1) -g(ξ)| ≤ g΄(h) |xn-1 - ξ | ≤ K |xn-1 - ξ |για κάποιο h∈(a,b).
Εφαρµόζουµε επαγωγικά την παραπάνω σχέση και έχουµε:
|xn - ξ | ≤ K |xn-1 - ξ | ≤ K2|xn-1 - ξ | ≤ ... ≤ Kn |x0 - ξ |
Tώρα, επειδή K<1, είναι limn→∞(|xn - ξ |) = Kn |x0 - ξ | = 0.
■
Στη πράξη είναι συχνά αρκετά δύσκολο να επαληθεύσουµε την πρώτη υπόθεση (2.3.3) των Θ2.3.2
και Θ2.3.3, δηλαδή η συνάρτηση να παίρνει τιµές στο πεδίο ορισµού της. Συνήθως προσπαθούµε να
εξασφαλίσουµε ότι η επανάληψη αρχίζει από ένα σηµείο x0 που βρίσκεται επαρκώς κοντά στο ξ.
Πόρισµα 2.3.1 Αν η g(x) είναι συνεχώς παραγωγίσιµη σε κάποιο ανοικτό διάστηµα που περιέχει το
σταθερό σηµείο ξ, και αν |g΄(ξ)|<1, τότε υπάρχει h>0 τέτοιο ώστε, για κάθε x0 µε |x0-ξ|<h, η
ακολουθία xn=g(xn-1) να συγκλίνει.
1 Θεώρηµα Μέσης Τιµής: Αν µια συνάρτηση f∈C[a,b] είναι παραγωγίσιµη στο (a,b), τότε υπάρχει
h∈(a,b) τέτοιο ώστε :
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-10
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Α̟όδειξη Επειδή η g΄(x) είναι συνεχής κοντά στο ξ και |g΄(ξ)|<1, τότε για κάθε k µε |g΄(ξ)|<K<1,
υπάρχει h>0, τέτοιο ώστε |g΄(ξ)|≤K, για κάθε x∈[ξ-h, ξ+h]. Εποµένως, αν θεωρήσουµε ένα
συγκεκριµένο k και το αντίστοιχο h, η υπόθεση (2.3.4) ισχύει για το διάστηµα [ξ-h, ξ+h]. Αν τώρα
πάρουµε ένα x∈[ξ-h, ξ+h], έχουµε (Θ. Μέσης Τιµής) ότι υπάρχει κάποιο θ µεταξύ x και ξ, δηλ. εντός
του [ξ-h, ξ+h], τέτοιο ώστε:
g(x) - ξ = g(x) - g(ξ) = g΄(θ)(x-ξ) ⇒ |g΄(x) - ξ | ≤ |g΄(θ)| |x - ξ | ≤ kh < h
∆ηλαδή g(x)∈[ξ-h, ξ+h]. Εποµένως ισχύει και η πρώτη υπόθεση του Θ2.3.2. Συνεπώς το
συµπέρασµα έπεται άµεσα από το Θ2.3.2.
■
Θεώρηµα 2.3.4
Αν η g είναι συνεχώς παραγωγίσιμη σε ένα ανοικτό διάστημα που περιέχει ένα σταθερό
σημείο της ξ, και αν |g΄(x)| ≤ Κ < 1, για κάθε x∈[ξ-h, ξ+h], τότε για κάθε x0∈[ξ-h, ξ+h] η
ακολουθία xn=g(xn-1) συγκλίνει στο ξ το οποίο είναι μοναδικό σταθερό σημείο στο [ξ-h,
ξ+h].
Α̟όδειξη Όµοια µε αυτήν του Θ2.3.3. Η µοναδικότητα του ξ εξασφαλίζεται από το Θ2.3.2.
■
2.3.2 Εκτίµηση Σφάλµατος και Σύγκλιση
Σύµφωνα µε το Θ2.3.4 η επιλογή της g πρέπει να γίνεται µε κριτήριο τη σύγκλισή της σε µια
περιοχή ενός σταθερού της σηµείου. Ένα πρόσθετο βασικό κριτήριο είναι η ταχύτητα, ή τάξη
σύγκλισης, της g. Το κριτήριο αυτό δίνεται από την παρακάτω πρόταση:
Πρόταση 2.3.1
Αν η συνάρτηση g ικανο̟οιεί τις υ̟οθέσεις του Θ2.3.2 ή του Θ2.3.4, και en=|xn - ξ| είναι το α̟όλυτο
σφάλµα, τότε ισχύουν οι ̟αρακάτω εκτιµήσεις σφάλµατος:
|en| ≤ Κn |x0- ξ|, για κάθε n≥1
|en| ≤ Κn max(x0-a , b-x0), για κάθε n≥1
|en| ≤ Κn/(1-k) |x0– x1|, για κάθε n≥1
(2.3.5)
(2.3.6)
(2.3.7)
Παρατήρηση 2.3.1 Από τις σχέσεις (2.3.5)-(2.3.7) φαίνεται ότι η τάξη σύγκλισης της g σχετίζεται µε
το µέγεθος του φράγµατος Κ και είναι O(Κn). Όσο µικραίνει το Κ, τόσο µικραίνει και το Κn, δηλ. ο
λόγος Κn/(1-Κ), άρα και το απόλυτο σφάλµα.
Ο τύπος της σύγκλισης καθορίζεται από το σηµείο της g΄(x) στην εξεταζόµενη περιοχή της ρίζας [ξh, ξ+h]. Γραφικά αυτό ερµηνεύεται από το προς τα που στρέφει η f τα κύλα ή τα κυρτά στην περιοχή
αυτή, δηλ. από τη γωνία ω της καµπύλης της g στην ρίζα ξ. Η γραφική ερµηνεία της σύγκλισης της
γενικής επαναληπτικής µεθόδου δίνεται στο Σχ. 2.3.2. ∆ιακρίνουµε τις εξής περιπτώσεις:
•
•
•
•
Αν είναι 0<g΄(x)<1 για κάθε x∈[ξ-h, ξ+h], τότε 0<ω<̟/4. Μπορούµε να δείξουµε εύκολα
(άσκηση 2.3.5) ότι τότε έχουµε µονότονη σύγκλιση.
Αν -1<g΄(x)<0, δηλ. αν 3̟/4<ω<̟, για κάθε x∈[ξ-h,ξ+h], έχουµε κυµαινόµενη σύγκλιση.
Αντίστοιχα συµπεράσµατα µπορούν να εξαχθούν προκειµένου και για τα είδη απόκλισης: η
συνθήκη g΄(x)>1 για κάθε x∈[ξ-h,ξ+h] (̟/4<ω<̟/2), προκαλεί µονότονη α̟όκλιση.
Αν g΄(x)<-1 για κάθε x∈[ξ-h,ξ+h] (̟/2<ω<3π/4), έχουµε κυµαινόµενη α̟όκλιση.
Όπως είδαµε στην Παρατήρηση 2.3.1), όσο µικρότερο είναι το φράγµα Κ, τόσο ταχύτερη είναι η
σύγκλιση. Αν εφαρµόσουµε τώρα το Θ. Μέσης Τιµής, καταλήγουµε ότι για k αρκετά µεγάλο ισχύει η
ακόλουθη προσέγγιση στην περιοχή της ρίζας ξ:
|ek+1| = |xk - ξ| = |g΄(h)| |xk - ξ| ≈ |g΄(x)| |ek|, xk≤h≤ξ
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
(2.3.8)
6/5/2014
II-11
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Αυτό σηµαίνει ότι τότε το |ek+1| πλησιάζει στο 0. Εποµένως, η σύγκλιση είναι ταχύτερη όταν g΄(ξ)=0,
δηλαδή όταν η ξ είναι τουλάχιστον διπλή ρίζα (δηλ. τουλάχιστον πολλαπλότητας m=2).
Υποθέτουµε τώρα ότι g∈Cm[ξ-δ, ξ+δ], µε xk∈[ξ-δ, ξ+δ], για k=0,1,… Λαµβάνουµε το ανάπτυγµα
Taylor της g στην περιοχή της ρίζας ξ :
m−1
e m g ( i ) ( h)
1
ek +1 = xk +1 − ξ = g( xk ) - g(ξ ) = ∑ eki g (i ) (ξ ) + k
m!
i =1 i!
(2.3.9)
για h∈[ξ,xk] ή h∈[ xk, ξ]. Αν ισχύει g(i)(ξ)=0 για i=1,...,m-1, δηλ. αν η ρίζα ξ έχει πολλαπλότητα m,
τότε η (2.3.9) δίνει:
ek +1 =
g ( m ) ( h)
m!
ek
m
Για k αρκετά µεγάλο, παίρνουµε την προσέγγιση:
ek +1 ≈
g ( m ) (ξ )
m!
ek
m
(2.3.10)
y
y=x
y=g(x)
ξ
(α)
x
x0
(β)
y
y
g
y=g(x)
ξ
x0
x
ξ x0
(γ)
Σχήµα 3.2.2 Σύγκλιση της γενικής επαναληπτικής µεθόδου:
(α) Μονότονη Σύγκλιση: g΄(x)≤Κ<1,
(β) Κυµαινόµενη Σύγκλιση: -1≤Κ<g΄(x)<0.
(γ) Μονότονη Απόκλιση: g΄(x)<-1.
(δ) Κυµαινόµενη Απόκλιση: g΄(x)>1.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
x
(δ)
6/5/2014
II-12
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Ορισµός 2.3.1 – Τάξη Σύγκλισης Mια ακολουθία {xn} µε lim xn = a θα λέγεται ότι έχει τάξη
n →∞
σύγκλισης m, όταν η ακολουθία
en +1
en
m
, µε |en|=|xn-a|, συγκλίνει για n→∞. Αν m=1, η σύγκλιση
λέγεται γραµµική, ενώ αν m=2, τετραγωνική.
Είναι φανερό ότι όσο µεγαλύτερη είναι η τάξη σύγκλισης µιας ακολουθίας, τόσο ταχύτερη είναι η
σύγκλιση. Στην περίπτωση της γενικής επαναληπτικής µεθόδου, αν g΄(x)≠0 έχουµε γραµµική
σύγκλιση, αν g(ξ)=0 τουλάχιστον τετραγωνική, ενώ όταν οι m-1 πρώτες παράγωγοι µηδενίζονται στη
ρίζα ξ (δηλ. η ξ έχει πολλαπλότητα m) έχουµε σύγκλιση τάξης m.
Ο τύπος σύγκλισης περιγράφει την ταχύτητα µεταβολής του απολύτου σφάλµατος κατά τις
διαδοχικές επαναλήψεις. Στην περίπτωση της τετραγωνικής σύγκλισης, το απόλυτο σφάλµα στο
βήµα k+1 είναι:
ek +1 ≈
g ( 2 ) (ξ )
m!
ek
2
(2.3.11)
Στην (2.3.11) παρατηρούµε ότι το απόλυτο σφάλµα στο βήµα k+1 είναι ανάλογο του τετραγώνου
του σφάλµατος στο βήµα k. Αυτό σηµαίνει ότι αν µια προσέγγιση είναι ακριβής σε 1 σ.ψ. σε κάποιο
βήµα i της επανάληψης, τότε στο βήµα i+1 θα είναι ακριβής σε 2 σ.ψ., στο βήµα i+2 σε 4, στο βήµα
i+3 σε οκτώ και στο βήµα i+k σε 2k. Αυτή είναι και η συµπεριφορά της σύγκλισης της ακολουθίας
(2.5.5) του Παρ.2.5.1 που θα δούµε στην συνέχεια. Αντίθετα, η µέθοδος διχοτόµησης παρουσιάζει
γραµµική σύγκλιση, αφού το σφάλµα σε κάθε βήµα µειώνεται στο µισό, δηλ. αυξάνεται γραµµικά.
Αυτό άλλωστε φαίνεται και στο Παρ.2.1.1
Στις βιβλιοθήκες, εφαρµογές και υπολογιστικά περιβάλλοντα χρησιµοποιούνται αλγόριθµοι µε
τουλάχιστον τετραγωνική σύγκλιση. Όταν όµως προέχει η εξασφάλιση της σύγκλισης παρά η τάξη
της, είναι προτιµότερο να δοκιµάζεται αρχικά µια µέθοδος πρώτης τάξης, που να περιέχει
ασφαλέστερη σύγκλιση.
Παρατήρηση 2.3.2 Είδαµε ότι στις επαναληπτικές µεθόδους τάξης m>1 είναι g΄(ξ)=0. Συνεπώς, και
σύµφωνα µε την Π2.3.1, υπάρχει µια περιοχή Ι της ρίζας στην οποία να ισχύει |g΄(x)|≤Κ<1.
Εποµένως όλες οι επαναληπτικές µέθοδοι τάξης m>1 συγκλίνουν για κάθε x0 που επιλέγεται αρκετά
κοντά στη ρίζα.
Παρατήρηση 2.3.3 Στην κατηγορία της γενικής επαναληπτικής µεθόδου υπάγονται αρκετές
αποδοτικές και ευρέως χρησιµοποιούµενες µέθοδοι, όπως η Newton-Raphson, Regula Falsi κ.α. Σε
αυτές επιλέγεται:
g ( x) = x −
f ( x)
, µε s(x)≠0
s( x)
(2.3.12)
Ο επαναληπτικός τύπος είναι
xk +1 = xk −
f ( xk )
, k=0,1,2,...
s ( xk )
(2.3.13)
♦ Παράδειγµα 2.3.2
Ας θεωρήσουµε την εξίσωση x2 – x – 2 = 0. Οι ρίζες είναι οι 2 και -1. Θα υπολογίσουµε την ρίζα ξ=2
µε την γενική επαναληπτική µέθοδο. Μερικές από τις πιθανές της g είναι:
(α) g(x) = x2 - 2
(β) g(x) = (x + 2) 1/2
(γ) g(x) = 1 + 2/x
Αν πάρουµε την (α), για |x|>1/2 έχουµε |g΄(x)|=|2x|>1, δηλαδή η δεύτερη υπόθεση του Θ2.3.2 δεν
ικανοποιείται και η µέθοδος δεν συγκλίνει.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
II-13
Αν επιλέξουµε την (β), έχουµε g΄(x)=1/2(x+2)1/2. Τώρα, για x≥0 παίρνουµε g(x)≥0 και 0≤g΄(x)≤1/√8.
Επίσης για x≤7, θα είναι 0<g(x)≤(2+7)1/2=3<7, δηλαδή η g παίρνει τιµές εντός του [0,7]. Εποµένως,
σύµφωνα µε το Θ2.3.2, η g συγκλίνει για κάθε x0∈[0,7].
Αν θέσουµε τώρα x0=0, υπολογίζουµε την ακολουθία:
x1=√2=1.41421
x2 = (3.41421)1/2 = 1.84775
....
x5= (3.99036)1/2 = 1.99759
που προφανώς συγκλίνει στη ρίζα ξ=2 (βλ. Σχ. 2.3.3)
□
Σχήµα 2.3.3 Επανάληψη σταθερού σηµείου για τον υπολογισµό της
ρίζας ξ=2 της εξίσωσης x2-x-2=0
♦ Παράδειγµα 2.3.3
Για κάθε µία από τις εξισώσεις (α) x3-x-1=0 και (β) e-x-cosx=0 να καθορισθεί µία επαναληπτική
συνάρτηση καθώς και ένα διάστηµα στο οποίο η επανάληψη του σταθερού σηµείου να συγκλίνει.
Υποθέτουµε ότι αναζητούµε τη µικρότερη ρίζα. Κατόπιν, εφαρµόζοντας την επαναληπτική
συνάρτηση, να υπολογισθούν οι ρίζες µε ακρίβεια 3 σ.ψ.
Απάντηση
α) Σύµφωνα µε το Θ2.3.2, για την ύπαρξη σταθερού σηµείου οι συνθήκες που πρέπει να ικανοποιεί η
επαναληπτική συνάρτηση είναι:
1) g∈C[a,b]
2) g(x)∈[a,b] , ∀x∈[a,b]
3) |g΄(x)|<1, ∀x∈[a,b]
Αρχικά θα βρούµε ένα αρχικό διάστηµα Ι στο οποίο ανήκει η µικρότερη ρίζα της f(x)=x3-x-1. Επειδή
είναι f(1)f(2)=-1×5<0, µια ρίζα βρίσκεται στο (1,2). Εύκολα συµπεραίνουµε ότι είναι και η µοναδική
(γιατί;). Μερικές από τις πιθανές επαναληπτικές συναρτήσεις σταθερού σηµείου είναι:
(i) g1(x)=x3 – 1
(ii) g 2 ( x) = 3 x + 1
(iii) g3 ( x) = 1 +
1
x
(iv) g4(x)= g 4 ( x) = x −
x3 − x − 1
,m≠0
m
Από τις παραπάνω συναρτήσεις επιλέγουµε την g2(x), διότι είναι η µόνη που ικανοποιεί τις συνθήκες
του Θ2.3.2. Συγκεκριµένα έχουµε:
1
g 2 ( x) = 3 x + 1 ⇒ g 2′ ( x) =
3
3
( x + 1)
2
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-14
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
x > 1 ⇒ g'(x) < 1
3
3
1 ≤ x ≤ ⇒ 1 ≤ g ( x) ≤
2
2
Συνεπώς, η αντίστοιχη επαναληπτική ακολουθία είναι:
xk +1 = g 2 ( xk ) = 3 xk + 1 , k=1,2,…
(2.3.14)
Το διάστηµα στο οποίο ικανοποιούνται οι απαιτούµενες συνθήκες είναι το [1, 3/2]. Εφαρµόζοντας
τώρα την (2.3.14), θέτουµε αρχικά x0=1 και υπολογίζουµε την παρακάτω ακολουθία προσεγγίσεων:
Επανάληψη
Ακριβή σ.ψ.
xk
x1 = 1,26
x2 = 1,3123
x3 = 1,32235
x4 = 1,32427
x5 = 1,32463
Εκτίµηση σχετικού σφάλµατος Ακριβή σ.ψ.
|xk-xk-1/xk-1|
(x1-x0)/x0 = 0.2600 < 5e-1
1
2
(x2-x1)/x1 = 0.0415 < 5e-2
(x3-x2)/x2 = 0.0077 < 5e-2
2
(x4-x3)/x3 = 0.0015 < 5e-3
(x4-x3)/x3 = 2.7185e-004 < 5e-4
Εκτ. Απολ. Σφ.
|xk-xk-1|
0,26<5e-1
0,0523<5e-1
0,01005<5e-2
3 0,00192<5e-3
4 0,00036 <5e-4
1
1
2
3
4
Στον παραπάνω πίνακα έχουν συµπεριληφθεί οι εκτιµήσεις σχετικού και απολύτου σφάλµατος, όπως
και η προκύπτουσα ακρίβεια σ.ψ. της προσέγγισης. Γενικά, η εκτίµηση σχετικού σφάλµατος είναι
ασφαλέστερη. Η προσέγγιση x* της ρίζας µε ακρίβεια 4 δεκαδικών ψηφίων είναι x*=x5=1,324. Το Σχ.
2.3.4(α) αναπαριστά το γράφηµα της συνάρτησης και την πορεία των επαναλήψεων.
β) Η εξίσωση e-x-cosx=0 έχει προφανώς θεωρητική λύση x=0. Εξετάζουµε τις ισοδύναµες εξισώσεις:
g1(x) = -ln(cosx)
g2(x) = arc[cos(exp(-x))]
Είναι g1'(x)=tanx και g2'(x)=xexp(x)/[1+exp(-2x)]. Για την g1(x) θεωρούµε το διάστηµα Ι=(-π/4, π/4).
∆ιαπιστώνουµε εύκολα ότι σ’ αυτό ικανοποιούνται οι προϋποθέσεις του Θ2.3.2. Για την ακολουθία
xk+1=g1(xk), µε x0=0, οι 3 πρώτες επαναλήψεις είναι:
x1 = 0.0201347
x2 = 0.0002027
x3 = 0.0000002
Στο Σχ. 2.3.4(β) φαίνεται το γράφηµα της συνάρτησης και η πορεία των επαναλήψεων.
□
(α)
(β)
Σχήµα 2.3.4 (α) Επανάληψη σταθερού σηµείου για τον υπολογισµό της ρίζας της x3- x-1=0.
(β) Επανάληψη σταθερού σηµείου για τον υπολογισµό της ρίζας της e-x-cosx = 0.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
II-15
Ασκήσεις
2.3.1 Για την εξίσωση x - 2sinx = 0 βρείτε ένα διάστηµα για το x0 που να εξασφαλίζει την σύγκλιση
της γενικής επαναληπτικής µεθόδου g(x) = 2sinx.
2.3.2 Για κάθε µια από τις παρακάτω εξισώσεις
(a)
(b)
(c)
x5 - 2x - 1 = 0
x2 - cosx = 0
lnx – e2 sinx = 0
καθορίστε µια γενική επαναληπτική µέθοδο και ένα διάστηµα Ι, ώστε να ικανοποιούνται οι συνθήκες
σύγκλισης. Στη συνέχεια υπολογίστε τις µικρότερες ρίζες των εξισώσεων µε ακρίβεια 3 σ.ψ.
2.3.3 Να δειχθεί ότι η συνάρτηση f(x)=(x2-1)/3, x∈[-1,1], έχει µοναδικό σταθερό σηµείο στο διάστηµα
[-1,1]. Να υπολογισθεί το σταθερό σηµείο αυτό.
2.3.4 Αποδείξτε τις ανισότητες (2.3.6) και (2.3.7).
2.3.5 Αποδείξτε ότι η συνθήκη g΄(x) ≤ Κ < 1 οδηγεί σε µονότονη σύγκλιση. Επίσης αιτιολογείστε και
τις υπόλοιπες περιπτώσεις σύγκλισης και απόκλισης της g.
2.3.6 Βρείτε µεθόδους για την εύρεση όλων των ριζών της εξίσωσης xsinx=1 στο διάστηµα [0,10] µε
ακρίβεια 3 σ.ψ. Να γίνει αρχικά εντοπισµός των ριζών της στο ίδιο διάστηµα.
2.4 Μέθοδος Regula Falsi
H µέθοδος Regula Falsi (false position method), προκύπτει από τη γενική επαναληπτική µέθοδο θέτοντας
στην (2.3.12):
s( x) =
f ( x) − f (a)
x−a
όπου α σηµείο κοντά στη ρίζα. Λαµβάνεται άµεσα ο επαναληπτικός τύπος:
xk +1 =
af ( xk ) − xk f (a)
f ( xk )( xk − a )
f ( xk )( xk − xk −1 )
, k=0,1,...
= xk −
= xk −
f ( xk ) − f (a)
f ( xk ) − f (a)
f ( xk ) − f ( xk −1 )
(2.4.1)
Ως αρχική προσέγγιση επιλέγεται ένα σηµείο x0=b τέτοιο ώστε f(a)f(b)<0. H (2.4.1) εκφράζει µια
«σταθµισµένη» µέση τιµή των a και xk, ως προς τα αντίστοιχα «βάρη» τους f(a) και f(b). Ισοδύναµα, η
(2.4.1) προκύπτει εφαρµόζοντας γραµµική παρεµβολή στα σηµεία xk-1, xk που περιέχουν την ρίζα,
αντί του κριτηρίου της «µέσης τιµής» που εφαρµόζει η µέθοδος διχοτόµησης.
Η επανάληψη (2.4.1) ερµηνεύεται γραφικά ως εξής. Στο βήµα k+1 η προσέγγιση xk+1 της ρίζας είναι
το σηµείο τοµής του άξονα Ox και της ευθείας που ενώνει τα σηµεία (a, f(a)) και (xk, f(xk)) (βλ. Σχ.
2.4.1). Αν δοθούν δύο αρχικά σηµεία a και b τέτοια ώστε f(a)f(b)<0 (ανεξάρτητα από το ποιο
θεωρείται σταθερό σηµείο και ποιο αρχική προσέγγιση), µε βάση την (2.4.1) κατασκευάζεται µια
ακολουθία διαστηµάτων {[ak,bk]} που περιέχουν την ρίζα µε την ίδια διαδικασία αποφάσεων µε αυτήν
της µεθόδου της διχοτόµησης. Η σύγκλιση εξασφαλίζεται από το παρακάτω Θεώρηµα.
Θεώρηµα 2.4.1
Αν f∈C[a, b], με f(a)f(b)<0, τότε η ακολουθία (2.4.1), με x0=b, συγκλίνει στην ρίζα της f και
έχει τουλάχιστον γραμμική σύγκλιση.
Α̟όδειξη Αφήνεται ως άσκηση (άσκηση 2.4.1)
Παρατήρηση 2.4.1: Αξιολόγηση. Η µέθοδος αυτή συγκλίνει πάντα, ενώ είναι σαφώς ταχύτερη από
την µέθοδο διχοτόµησης. Όµως, πέραν του ότι µοιράζεται τα υπόλοιπα µειονεκτήµατα µε αυτήν,
δεν δίνει πάντα µικρά διαστήµατα που να εγκλείουν την ρίζα r. Είναι πιθανό οι προσεγγίσεις να
τοποθετούνται µετά από µερικές επαναλήψεις πάντα από την ίδια πλευρά της r. Αν π.χ. η f είναι
αύξουσα και κοίλη προς τα άνω στην περιοχή της ρίζας (όπως φαίνεται στο Σχ. 2.4.1), τότε το δεξιό
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-16
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
άκρο παραµένει σταθερό, ενώ το αριστερό (η προσέγγιση xk=ak) πλησιάζει από τη µια κατεύθυνση
την ρίζα. Συνέπεια αυτού, το πλάτος του διαστήµατος bk-ak, αν και ελαττώνεται, δεν πλησιάζει στο 0.
Συνεπώς η συνθήκη τερµατισµού δεν µπορεί να βασιστεί στο µέγεθος του διαστήµατος, διότι τότε
πιθανά να οδηγήσει σε ατέρµονα βρόγχο. Ένα πιο αποτελεσµατικό κριτήριο βασίζεται στον έλεγχο
των µεγεθών της απόστασης |∆x|=|xk+1-xk| µεταξύ δύο διαδοχικών προσεγγίσεων και της τιµής f(xk),
σε σχέση µε δοσµένες ανοχές ε και δ:
|∆x| = |f(bk) (bk-ak) / (f(bk) - f(ak))| < ε,
|f(xk)| < δ
y
y=f(x)
α=a0
a1
a2
a3
r
b=b1=b2=b3
x
Σχήµα 2.4.1 Γραφική ερµηνεία της µεθόδου Regula Falsi
Αλγόριθµος 2.4.1: Regula Falsi
Input: συνάρτηση f συνεχής στο [a, b], µε f(a)f(b)<0.
Output: προσέγγιση x της ρίζας r
begin
clos:=10e-6; tol:=10e-6;
Read(a,b);
Satisfie := false;
fx := f(a);
fb := f(b);
i :=0
repeat
i := i + 1;
Dx := fb*(b-a)/(fb-fa) ;
x := x-Dx;
fx := f(x);
if fx≠0 then if sign(fb) = sign(fx) then
{ b := x; fb := fx }
else { a := x ; fa := fx }
else satisfied := true ;
if (abs(dx) < clos) and (abs(fx) < tol)
then satisfied := true ;
until satisfied or (iter=max);
if satisfied then Write (x, dx, fx)
else Write(‘Αποτυχία σύγκλισης’)
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
% ανοχές σφάλµατος
% πρέπει f(a)*f(b)<0
% κριτήριο τερµατισµού
6/5/2014
II-17
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
end Regula Falsi
Παρατήρηση 2.4.2 Μια από τις βελτιώσεις της µεθόδου Regula Falsi, η τρο̟ο̟οιηµένη Regyla Falsi,
χρησιµοποιεί την τέµνουσα που ενώνει το ένα άκρο µε το µέσο της απόστασης του άλλου από το
γράφηµα της f, όπως φαίνεται στο Σχ. 2.4.2. Με τον τρόπο αυτό η προσέγγιση προφανώς
βελτιώνεται, αφού επιπλέον εξασφαλίζεται ότι σε κάποιο βήµα η προσέγγιση θα βρεθεί από την άλλη
πλευρά της ρίζας (η x3 στο Σχ. 2.4.2). Έτσι τα άκρα των διαστηµάτων θα αρχίσουν να συγκλίνουν.
Μια άλλη βελτίωση είναι η µέθοδος της Χορδής που συζητείται στην §2.6.
y
f(b0)/2
f
a0
a1
f(b0)/4
a2
b3=x3
b0=b1= b2
x
Σχήµα 2.4.2 Γραφική αναπαράσταση της τροποποιηµένης µεθόδου Regula Falsi
Ασκήσεις
2.4.1 Να αποδειχθεί το Θεώρηµα 2.4.1
2.4.2 Να εντοπισθεί η θετική ρίζα της εξίσωσης 1/(x-0.5)= sinx. Κατόπιν, εφαρµόζοντας την µέθοδο
Regula Falsi, να υπολογισθεί προσεγγιστικά η ρίζα αυτή, µε 3 επαναλήψεις.
2.4.3 Γράψτε στο Matlab µια συνάρηση RegFal για την υλοποίηση της τροποποιηµένης µεθόδου
Regula Falsi.
2.4.4 Εφαρµόστε τη µέθοδο Regula Falsi για τον υπολογισµό της ρίζας της εξίσωσης xsinx=1 στο
διάστηµα [0,2], µε ακρίβεια 5 σ.ψ. Κατόπιν συγκρίνετε τα απαιτούµενα βήµατα µε αυτά της µεθόδου
διχοτόµησης (Παράδειγµα 1.1.1).
2.5 Επαναληπτική Μέθοδος Newton-Raphson
Η επαναληπτική µέθοδος Newton-Raphson είναι µια από τις ταχύτερες µεθόδους για την προσέγγιση
µιας ρίζας µιας συνάρτησης f∈C2[a,b]. Προκύπτει από τη γενική επαναληπτική µέθοδο θέτοντας
s(x)= f΄(x) στην (2.2.12). Η επαναληπτική ακολουθία δίνεται:
xn = xn−1 −
f ( xn−1 )
, n = 1,2,...
f ′( xn−1 )
(2.5.1)
µε γνωστή την αρχική προσέγγιση. Η διαδικασία κατασκευής των επαναλήψεων (3.5.1) µπορεί να
περιγραφεί γραφικά (Σχ. 3.5.1): ξεκινώντας από µια αρχική προσέγγιση x0 «κοντά» στην ρίζα ξ,·
κατασκευάζεται ως νέα προσέγγιση x1 η τοµή της εφαπτοµένης του γραφήµατος της f στο x0 µε τον
άξονα Οx. Προφανώς είναι f΄(x0)=εφω= f(x0)/(x0-x1), ή x1=x0- f(x0)/f΄(x0). Όµοια κατασκευάζονται
και οι επόµενες προσεγγίσεις xn για n≥2.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-18
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Η µαθηµατική θεµελίωση της ακολουθίας (3.5.1) περιγράφεται ως εξής. Αν f∈C2[a,b], τότε το
ανάπτυγµα Taylor τάξης 1·στην περιοχή ενός σηµείου x0∈[a,b] γράφεται:
f ( x) = f ( x0 ) + f ′( x0 )( x − x0 ) + f ′′(h)
( x − x0 ) 2
, h ∈ [x, x0 ] ή h ∈ [x0 , x ]
2
(2.5.2)
Θέτοντας x=ξ και θεωρώντας ότι ο τρίτος όρος είναι αµελητέος σε σύγκριση µε το υπόλοιπο άθροισµα,
παίρνουµε την προσέγγιση της ρίζας:
0 ≈ f ( x0 ) + f ′( x0 )(ξ − x0 ) ⇒ ξ ≈ x0 −
f ( x0 )
= x1
f ′( x0 )
Επαναλαµβάνοντας την ίδια διαδικασία στην περιοχή του x, παίρνουµε µια καλύτερη προσέγγιση x2,
κοκ., και τελικά την (2.5.1).
y
y=f(x)
f(x0)
ξ
x2
x1
x0
x
Σχήµα 2.5.1 Γραφική ερµηνεία της µεθόδου Νewton-Raphson.
Σύγκλιση
Η σύγκλιση εξαρτάται από την επιλογή της αρχικής προσέγγισης. Οι προϋποθέσεις σύγκλισης
υπαγορεύονται από το παρακάτω Θεώρηµα.
Θεώρηµα 2.5.1
Έστω μια συνάρτηση f∈C2[a, b] με μια απλή ρίζα ξ∈[a, b] (δηλ. f΄(ξ)≠0). Τότε υπάρχει δ>0,
ώστε η ακολουθία {xn}, n=1,2…, της (2.5.1) να συγκλίνει στην ρίζα ξ για κάθε αρχική
προσέγγιση x0∈[ξ-δ, ξ+δ]. Δηλαδή αν f∈C2 στη γειτονιά μιας απλής ρίζας, η μέθοδος
Newton-Raphson συγκλίνει.
Α̟όδειξη Θεωρούµε την g ( x) = x −
f ( x)
f ′( x)
Επειδή ξ είναι µοναδική ρίζα ισχύει f΄(ξ) ≠0. Άρα:
g ′(ξ ) =
d 
f ( x) 
f (ξ ) f ′′(ξ )
x − ′  = x −
dx 
f ( x)  x =ξ
f ′2 (ξ )
απ’ όπου προκύπτει g΄(ξ)<1. Από Πόρ.2.3.1 έπεται άµεσα το ζητούµενο.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
(2.5.3)
■
6/5/2014
II-19
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
y
f'(x)=0
x0
x
Σχήµα 2.5.2 Γραµµική σύγκλιση της µεθόδου Newton-Raphson. Περίπτωση πολλαπλής ρίζας.
Σχήµα 2.5.3 Παράδειγµα απόκλισης µε διακυµάνσεις των προσεγγίσεων.
Σχετικά τώρα µε την τάξη σύγκλισης, έχουµε το ακόλουθο αποτέλεσµα:
Θεώρηµα 2.5.2
Αν η ακολουθία xn της (2.5.1) συγκλίνει σε μια ρίζα ξ, τότε εάν η ξ είναι απλή, η σύγκλιση
είναι τετραγωνική και ισχύει:
ek +1 ≈
f ′(ξ ) 2
ek , για k αρκετά µεγάλο
f ′′(ξ )
(2.5.4)
ενώ εάν η ρίζα είναι πολλαπλότητας m>1, η σύγκλιση είναι γραμμική:
ek +1 ≈
m −1
ek , για k αρκετά µεγάλο
m
(2.5.5)
Α̟όδειξη (i) Αν ξ είναι απλή ρίζα, είναι f΄(ξ) ≠0 και επειδή από (2.5.3) είναι f΄(ξ)=0, η µέθοδος
είναι τουλάχιστον τετραγωνική. Τώρα από την (2.5.1) παίρνουµε:
xn+1 = xn −
f ( xn )
⇒
f ′( xn )
ξ − xn+1 = ξ − xn +
en+1 = en +
f ( xn )
⇒
f ′( xn )
f (ξ − en )
f ′(ξ − en )
Αναπτύσσουµε σε σειρά Taylor τον αριθµητή και παρονοµαστή του κλάσµατος στο β’ µέλος:
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-20
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
en2 ( 2)
f (ξ ) + …
2
en+1 = en +
=
2
e
f ′(ξ ) − en f ( 2 ) (ξ ) + n f (3) (ξ ) + …
2
2
e
0 − en f ′(ξ ) + n f ( 2 ) (ξ ) + …
e 2 f ′(ξ )
e 2 f ′(ξ )
2
= en +
≈ en − en − n
=− n
2
2 f ′′(ξ )
2 f ′′(ξ )
e
f ′(ξ ) − en f ( 2) (ξ ) + n f (3) (ξ ) + …
2
f (ξ ) − en f ′(ξ ) +
Εποµένως είναι:
en+1 ≈
f ′(ξ ) 2
en .
f ′′(ξ )
■
(ii) Αν µια ρίζα της f είναι πολλαπλότητας m, τότε ως γνωστόν είναι f(i)(ξ)=0, 0≤i≤m-1, και f(m)(ξ)≠0.
Τότε η f εκφράζεται:
f(x) = (x-ξ)ms(x), µε s΄(ξ)≠0
Από την (2.3.12) προκύπτει
g ( x) = x −
f ( x)
⇒
f ′( xn )

d 
f ( x)  d 
f ( x)
=
x−
x −
=
dx 
f ′( x)  dx 
( x − ξ ) m s( x) 
1
2s′( x)
2s′′( x)
+ ( x - ξ )2 2
1 − + (x − ξ )
m
ms ( x)
m s( x)
g ′( x) =
=

s′( x) 
1 − ( x − ξ )

ms( x) 

2
Θέτουµε x=ξ και παίρνουµε:
g ′(ξ ) = 1 −
1
<1
m
Συνεπώς έχουµε αποδείξει, αφ’ ενός ότι η µέθοδος συγκλίνει στη περιοχή της ρίζας ξ (αφού g΄(ξ)<1),
και αφ’ εταίρου, ότι η σύγκλιση είναι γραµµική (g΄(ξ)≠0). Τέλος η (2.5.5) προκύπτει άµεσα από τη
σχέση (2.3.8) που ορίζει τη γραµµική σύγκλιση:
|ek+1| ≈ |g΄(ξ)||ek| = (1-1/m) |ek|
■
♦ Παράδειγµα 2.5.1 Υπολογισµός Τετραγωνικής Ρίζας
Μια εφαρµογή της µεθόδου Newton-Raphson είναι η χρήση της σε υπορουτίνα υπολογισµού της
τετραγωνικής ρίζας (σε βιβλιοθήκες µαθηµατικού υπολογισµού). Η √a, a≥0, είναι η θετική λύση της
εξίσωσης f(x) = x2 - a = 0.
Είναι f'(x)=2x και η µέθοδος δίνει την ακολουθία:
xn = xn−1 −
xn2−1 − a 1 
a 
, n = 1,2,...
=  xn−1 +
2 xn−1
2
xn−1 
2.5.6)
x0: δοθείσα αρχική τιµή
Εφαρµογή: Υπολογίζουµε την √10 µε ακρίβεια 7 σ.ψ. Ξεκινώντας µε x0=1, λαµβάνουµε τις
προσεγγίσεις:
x1 =5.5
x2 =3.66
x3 =3.181
x4 =3.1623
x5 =3.162278
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-21
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Η σύγκλιση είναι τετραγωνική. Μπορούµε να επιβεβαιώσουµε: √10=sqrt(10)≈3.1622776601683.
Παρατηρούµε ότι µόνον 5 επαναλήψεις ήταν αρκετές για να εξασφαλισθεί ακρίβεια 7 σ.ψ. Αυτό
σηµαίνει ότι η µέθοδος είναι ιδιαίτερα αποδοτική για το σκοπό αυτό.
□
♦ Παράδειγµα 2.5.2 Βελτίωση σύγκλισης στην περίπτωση πολλαπλής ρίζας
Στην περίπτωση πολλαπλής ρίζας η τάξη σύγκλισης µπορεί να βελτιωθεί µε την επιλογή εναλλακτικού
επαναληπτικού σχήµατος. Αν ξ είναι µια ρίζα της f τάξης (πολλαπλότητας) m>1, τότε η ξ είναι απλή
ρίζα της y=(f(x))1/m. Θεωρούµε λοιπόν για τη συνάρτηση αυτή την επανάληψη Newton-Raphson µε:
g ( x) =
m
(
m
f ( x)
f ( x)
′
)
=
f ( x)
mf ( x)
=
1
−1
f ′( x)
f ′( x) m f ( x) ( f ( x) )
m
m
Εποµένως προκύπτει η ακολουθία:
xn = xn−1 − m
f ( xn−1 )
, n = 1,2,...
f ′( xn−1 )
(2.5.7)
Με τρόπο ανάλογο µε αυτόν της απόδειξης του Θ2.5.2(i) µπορούµε τώρα να δείξουµε ότι η (2.5.7)
συγκλίνει τετραγωνικά στη ρίζα ξ.
□
Παρατήρηση 2.5.1 Η αρχική προσέγγιση x0 πρέπει να επιλέγεται µε προσοχή κοντά στην ρίζα,
διαφορετικά η ακολουθία (2.5.1) µπορεί να αποκλίνει (βλ. Σχ. 2.5.3). Χαρακτηριστική περίπτωση
είναι η f να προσεγγίζει ασυµπτωτικά το 0 και, λόγω λανθασµένης επιλογής του x0, οι επαναλήψεις να
αποµακρύνονται από την ρίζα. Η επιλογή της τιµής x0 µπορεί να γίνει µε τις µεθόδους που
αναπτύχθηκαν στην §2.2. Για το σκοπό αυτό µπορεί να χρησιµοποιηθεί µια µέθοδος εγκλεισµού των
ριζών, όπως αυτή της διχοτόµησης, ή ακόµα και η µέθοδος Regula Falsi. Επίσης, για την εξέταση
του είδους των ριζών, όπως και για την επιλογή της αρχικής προσέγγισης, είναι συχνά χρήσιµη, ή και
απαραίτητη, η µελέτη της συνάρτησης.
Παρατήρηση 2.5.2: Αξιολόγηση Μια αδυναµία της µεθόδου Newton-Raphson είναι η διαίρεση µε 0.
Αυτό προκύπτει όταν σε ένα βήµα k συµβεί f΄(xk)=0, ή f΄(xk)≈0. Η περίπτωση αυτή µπορεί να
προβλεφτεί εύκολα, όµως ταυτόχρονα πρέπει να εξετασθεί και το ενδεχόµενο ύπαρξης διπλής ρίζας:
αν και το f(xk) είναι αρκετά µικρό, δηλαδή αν f(xk)≈0, τότε το xk µπορεί να είναι ικανοποιητική
προσέγγιση διπλής ρίζας. Σε αντίθεση περίπτωση (f(xk)≠0), δεν εξασφαλίζεται αριθµητική σύγκλιση
και θα πρέπει να αναζητηθεί νέα αρχική προσέγγιση.
Άλλη περίπτωση αποτυχίας είναι για δύο διαδοχικές προσεγγίσεις xk, xk+1 να συµβεί f(xk)=-f(xk+1)
και f΄(xk)=f΄(xk+1). Τότε είναι xk=xk+1-f(xk+1)/f΄(xk+1)=xk+2, οπότε η ακολουθία Newton-Raphson
εισέρχεται σε κλειστό ατέρµονα βρόγχο.
Συµπερασµατικά, ο αλγόριθµος Newton-Raphson είναι ταχύς στην περίπτωση των απλών ριζών,
παρουσιάζει όµως το µειονέκτηµα ότι απαιτεί τη γνώση της f΄(x), καθώς και πρόσθετους
υπολογισµούς για τον υπολογισµό της. Το πρόβληµα αυτό αντιµετωπίζεται είτε µε µια παραλλαγή
της µεθόδου, τη µέθοδο της Χορδής (§2.6), είτε µε εφαρµογή της µεθόδου Horner (§2.7), όταν η f είναι
πολυωνυµική συνάρτηση. Επιπλέον, η µέθοδος Newton-Raphson είναι επιρρεπής σε ταλαντώσεις, και
παρουσιάζει πρόβληµα όταν f΄(xk)=0.
Ο αλγόριθµος της µεθόδου Newton-Raphson ακολουθεί.
Αλγόριθµος 2.5.1: Newton-Raphson
Input: f : συνεχής συνάρτηση, x0: αρχική προσέγγιση
Output: προσέγγιση x
begin
tol :=10-6; eps :=10-6; eps1:=10-6;
Nmax := 100;
fx0 := f(x0); i :=1;
DivByZero := false; Converge := false;
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
% ανοχές σφάλµατος
% µέγιστο πλήθος επαναλήψεων
% σηµαίες για έλεγχο της επανάληψης
6/5/2014
II-22
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
repeat
df := f'(x0);
% υπολογισµός παραγώγου
if df=0 then { DivByZero:=true ; dx :=0 }
% περίπτωσηf'(x)=0
else dx := fx0/df;
x1 := x0 - dx ;
fx1 := f(x1);
RelError := 2*abs(dx)/(abs(x1)+eps1);
% έλεγχος σχετικού σφάλµατος βλ. (1.6.5)
if ( RelError ≤ tol ) and ( abs(fx1)<eps )
% έλεγχος συνάρτησης
then if not DivByZero then Converge := true;
x0 := x1;
fx0 := fx1;
i := i+1;
until DivByZero or Converge or (i>Nmax) ;
if Converge then write('προσέγγιση x=', x1, 'βήµα i=', i-1, 'f(x)=', fx1)
else if DivByZero then Write('διαίρεση µε 0')
else Write('εξάντληση µέγιστου αριθµού επαναλήψεων')
end Newton-Raphson
♦ Παράδειγµα 2.5.3
Θα προσεγγίσουµε µε 3 επαναλήψεις της µεθόδου Newton-Raphson τη θετική λύση της συνάρτησης
f(x)=|x+1|-2e-|x|=0
Θέτουµε την εξίσωση στη µορφή f1(x)=f2(x), δηλαδή: |x+1|=2e-|x|. Οι λύσεις ορίζονται από τα σηµεία
τοµής των f1(x) και f2(x). Από τα γραφήµατα των f1(x)=|x+1| και f2(x)=2e-|x| (Σχ. 2.5.4) προσδιορίζουµε
αρχικές προσεγγίσεις για τις πραγµατικές λύσεις: s1≈0.5 και s2≈-1.3.
Για x>0 είναι f(x)=2e-x- x-1 και f'(x) = -2e-x-1. Άρα η (2.5.1) γράφεται:
xn+1 = xn +
2e − xn − xn − 1
, n = 1,2,...
2e − xn + 1
Επιλέγουµε x0=0.5 και υπολογίζουµε: x1=0.37034, x2=0.37482 και x3=0.37482.
□
Σχήµα 2.5.4 Γραφική προσέγγιση των ριζών της |x+1|-2e-|x|=0
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
II-23
Σχήµα 2.5.5 Γραφική προσέγγιση ριζών της εξίσωσης 2x2-ex= 0
♦ Παράδειγµα 2.5.4
Θα υπολογίσουµε τις λύσεις της εξίσωσης f(x) = 2x2-ex = 0 µε ακρίβεια 6 σ.ψ. Η πρώτη προσέγγιση θα
προσδιορισθεί µε εφαρµογή της µεθόδου διχοτόµησης µε δύο επαναλήψεις.
Η εξίσωση γράφεται 2x2=ex, µε f΄(x)=4x-ex. Τα γραφήµατα των f1(x)=2x2 και f2(x)=ex (Σχ. 2.5.5)
τέµνονται σε τρία σηµεία. Παρατηρούµε όµως ότι δεν βοηθούν στον εντοπισµό της τρίτης λύσης.
∆ουλεύοντας τώρα πιο συστηµατικά, αναζητούµε τις ρίζες στο διάστηµα [-1,3] µε βήµα h=1. Έχουµε:
f(-1)f(0)=-(2-1/e)<0,
f(1)f(2)=(2-e)(8-e2)>0,
f(0)f(1)=-1(2-e)>0,
f(2)f(3)=(8-e2)(18-e3)<0
Άρα υπάρχουν τρείς ρίζες στα διαστήµατα [-1,0], [1,2], [2,3]. Θεωρώντας το πρώτο εξ αυτών, θέτουµε
x0=-0.5. Επειδή f(x0)f(0)=-1.148(-1)>0, η ρίζα βρίσκεται στο [-1, 0.5]. Παίρνουµε x1=(-1-0.5)/2=-0.75
και την θέτουµε ως αρχική προσέγγιση για την ακολουθία Newton-Raphson:
xn+1 = xn- (2x2 - exn)/(4xn - exn), n=0,1,2,...
Υπολογίζουµε τις διαδοχικές επαναλήψεις και σταµατάµε όταν |xn+1 - xn| < 10e-6:
x1 = -0.54087066
x2 = -0.53983592
x3 = -0.53983527
x4 = -0.53983527
Για τις ρίζες που ανήκουν στα διαστήµατα [1,2] και [2,3] παίρνουµε x0=1.5 και x0=2.5 αντίστοιχα, και
συνεχίζουµε όπως προηγουµένως.
□
♦ [Matlab] Παράδειγµα 2.5.5
Μια υλοποίηση της µεθόδου Newton-Raphson δίνεται από τη συνάρτηση newton που ακολουθεί.
function [p0,y0,err,P] = newton(f,df,x0,delta,epsilon,maxit,h)
%--------------------------------------------------------------------------%NEWTON
Newton's method is used to locate a root.
% Sample calls
%
[p0,y0,err] = newton('f','df',x0,delta,epsilon,max1,h)
%
[p0,y0,err,P] = newton('f','df',x0,delta,epsilon,max1,h)
% Inputs
%
f
name of the function
%
df
name of the function's derivative input
%
x0
starting value
%
delta
convergence tolerance for p0
%
epsilon
convergence tolerance for y0
%
max1
maximum number of iterations
%
h
space around the root where the fuction is plotted
% Return
%
p0
solution: the root
%
y0
solution: the function value
%
err
error estimate in the solution p0
%
P
History vector of the iterations
%--------------------------------------------------------------------------format long E;
%All numbers are 16-digit-floating-point.
P(1) = x0;
%Creation of matrix P containing the iterates.
p0 = x0;
y0 = feval(f,p0);
%Evaluate f(x0).
for k=1:maxit,
df0 = feval(df,p0);
%Evaluate df(x0).
if df0 == 0,
dp = 0;
else
dp = y0/df0;
end
p1 = p0 - dp;
y1 = feval(f,p1);
err = abs(dp);
relerr = err/(abs(p1)+eps);
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-24
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
p0 = p1;
y0 = y1;
P = [P;p1];
%Add new value of x0 in P.
if (err<delta)|((relerr<delta)&(abs(y1)<epsilon)) , break, end ;
end
clc
home
flag=1;
%check divergence cases
if (err<delta)&~(abs(y0)<epsilon) ,
%check for derivative's value
disp(['The method diverges']);
disp([' ']);
disp(['Press enter to continue ...']);
flag=0;
pause
%The derivative f is zero and the
end
%current p0 is not a root.
if (k==max1)&~(abs(y0)<epsilon) ,
disp(['Failure to approximate after ' ...num2str(max1) ' repetitions .']);
disp([' ']);
disp(['Press enter to continue ...']);
flag=0;
pause
end
% plotting the function in intervall [p0-h,p0+h].
if flag
x=p0-h:.001:p0+h;
y=feval('f',x);
plot(x,y,p0,y0,'o');
grid
title('Newton Raphson')
end
∆οκιµάζουµε τη συνάρτηση Νewton για τη συνάρτηση f του Παρ.2.5.4. Πρώτα ορίζουµε την f και την
παράγωγό της σε 2 M-files µε ονόµατα f.m και df.m αντίστοιχα:
function y = f(x)
y=2*x.^2-exp(x);
function y = df(x)
y=4*x-exp(x);
Στη συνέχεια εκτελούµε τη συνάρτηση newton µε την εντολή:
[p0,y0, err]=Newton('f','df',-0.5,1e-6,1e-10,1000,2)
Στην έξοδο λαµβάνουµε:
p0 = -0.539883527690310
y0 = 7.605027718682322e-013
err = 6.671770352659245e-007
'
2.5.1 ∆εύτερης τάξης Newton-Raphson (Halley)
Η µέθοδος αυτή αναφέρεται ως µέθοδος του Halley και αποτελεί βελτίωση της µεθόδου NewtonRaphson. Η θεµελίωσή της έχει ως εξής. Θεωρούµε το σφάλµα e=xn+1-xn και χρησιµοποιούµε το
ανάπτυγµα Taylor κοντά στην ρίζα ξ της εξίσωσης f(x)=0:
f ( xn +1 ) = f ( xn + e) = f ( xn ) + ef ′( xn ) +
e2
f ′′( xn ) +…
2
(2.5.8)
Αν θεωρήσουµε f(xn+1)=0, τότε:
e


f ( xn ) + e  f ′( xn ) + f ′′( xn )  = 0
2


ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-25
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Εκφράζουµε στη συνέχεια την (2.5.8) ως προς το εκτός αγκύλης e:
f ( xn )
e
f ′( xn ) + f ′′( xn )
2
e=
και αντικαθιστάµε το e του παρονοµαστή από τη σχέση της µεθόδου Newton-Raphson:
e≈−
f ( xn )
f ′( xn )
Καταλήγουµε έτσι στην αναδροµική σχέση της µεθόδου Halley:
xn +1 = xn −
f ( xn )
2 f ( xn ) f ′( xn )
= xn −
2
f ( xn ) f ′′( xn )
2 f ′ ( xn ) − f ′′( xn ) f ( xn )
f ′( xn ) −
2 f ′( xn )
(2.5.9)
Αν θέσουµε f ′′( xn ) = 0 , η (2.5.9) συµπίπτει προφανώς µε την επαναληπτική σχέση (2.5.1) της
Newton-Raphson.
Σύγκλιση
Μπορεί να δειχθεί (άσκηση) ότι η σύγκλιση της µεθόδου Halley είναι κυβική (m=3), γεγονός που την
κατατάσσει ως ιδιαίτερα αποδοτική µέθοδο. Συγκεκριµένα αποδεικνύεται ότι για το απόλυτο
σφάλµα ισχύει η σχέση:
2
en +1
1 f ′′′(ξ ) 1  f ′′(ξ ) 
=
− 
 en
6 f ′(ξ ) 4  f ′(ξ ) 
3
(2.5.10)
♦ Παράδειγµα 2.5.6
H µέθοδος Halley µπορεί να χρησιµοποιηθεί για τον υπολογισµό της τετραγωνικής ρίζας ενός αριθµού
α. Τότε θα είναι f(x) = x2-a και f΄(x) = 2x, f΄΄(x) = 2. Αντικαθιστώντας στην (2.6.?) παίρνουνε την
αντίστοιχη αναδροµική σχέση:
xn +1 = xn −
4 xn ( xn 2 − α )
2 xn ( xn 2 − α ) xn3 + xnα
x
=
−
=
n
8 xn 2 − 2( xn 2 − α )
3xn2 + α )
3xn2 + α
Για να κατανοηθεί η δυναµική της κυβικής σύγκλισης, δίνεται ο παρακάτω συγκριτικός πίνακας των
αποτελεσµάτων των µεθόδων Newton-Raphson και Halley για τον υπολογισµό της τετραγωνικής ρίζας
του 9. Ως αρχική προσέγγιση ορίζεται µια τιµή µακριά από τη ρίζα: x0=15.
Μεθ. NewtonRaphson
x0=15
x1= 7.8
x2= 4.477
x3= 3.2436
x4= 3.0092
x5= 3.00001
Μεθ. Halley
Σφάλµα
e0=12
e1=4.8
e2=1.477
e3=0.243
e4=9.15×10e-3
e5=1.39×10e-5
x0=15
x1= 5.526
x2= 3.16024
x3= 3.00011
x4= 3.0000000...
x5= 3.0000000...
Σφάλµα
e0=12
e1=2.5
e2=0.16
e3=1.05×10e-4
e4=3.24×10e-14
e5=0.0
Πίνακας 2.5.1 Σύγκριση των µεθόδων Newton-Raphson και Halley
'
Ασκήσεις
2.5.1 Εφαρµόζοντας τη µέθοδο Newton-Raphson, να προσεγγισθούν µε ακρίβεια 4 σ.ψ. οι ρίζες των
παρακάτω εξισώσεων
(a) x3-2x2-5=0, x∈[1,2] (x0 = 2.5)
(b) x3-25=0 (x0 = 1)
(c) 4cosx-ex=0 (x0 = 1)
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-26
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
2.5.2 Με εφαρµογή της µεθόδου Newton-Raphson, να υπολογισθούν οι προσεγγιστικές λύσεις των
παρακάτω εξισώσεων. Οι αρχικές προσεγγίσεις να εκτιµηθούν µε την βοήθεια γραφηµάτων.
(a) exp(-x2)-cosx=0 (ακρίβεια: 10e-3)
(b) ln|1+x| = cosx (θετική λύση, 3 επαναλήψεις)
2.5.3 Εφαρµόστε τη µέθοδο Newton-Raphson για την εύρεση της ρίζας (-15)1/3, µε ακρίβεια 5 σ.ψ.
2.5.4 Να υπολογισθεί η προσεγγιστική λύση της εξίσωσης 2x2-ex=0 µε την µέθοδο Newton-Raphson µε
ακρίβεια ε=10-3. Η αρχική προσέγγιση να εκτιµηθεί µε την βοήθεια γραφικών παραστάσεων.
2.5.5 Να υπολογισθούν µε τη µέθοδο της διχοτόµησης οι τρείς πρώτες προσεγγίσεις της ρίζας της
εξίσωσης x2-1+ln(1+x)=0 στο διάστηµα [0,1]. Στη συνέχεια να εφαρµοστεί η µέθοδος Newton-Raphson
µε αρχική προσέγγιση την τελευταία προσέγγιση που προέκυψε από την εφαρµογή της µεθόδου της
διχοτόµησης. Η εφαρµογή της µεθόδου να σταµατήσει όταν εξασφαλιστεί ακρίβεια 4 σ.ψ.
2.5.3 Να αποδειχθεί η σχέση (2.5.10) που διέπει το απόλυτο σφάλµα και την τάξη σύγκλισης της
µεθόδου Halley.
2.6 Μέθοδος της Χορδής
Η µέθοδος της Χορδής, ή µέθοδος της Τέµνουσας (secant method) είναι παραλλαγή της µεθόδου NewtonRaphson. ∆εν απαιτεί υπολογισµό της παραγώγου f΄(xn-1) αλλά την προσεγγίζει µε µια έκφραση
(διαιρεµένη διαφορά) των δύο προηγούµενων προσεγγίσεων. Αρχικά επιλέγονται δύο αρχικές
προσεγγίσεις x0 και x1 κοντά στην ρίζα ξ, από τις οποίες στη συνέχεια υπολογίζονται οι υπόλοιπες
προσεγγίσεις xn µε τρόπο ανάλογο µε αυτόν της µεθόδου Regula Falsi.
Αν η f είναι συνεχής, τότε µια προσέγγιση της f΄(xn-1) µπορεί να δοθεί ως εξής. Εξ’ ορισµού είναι:
f ′( xn−1 ) = lim
x → xn −1
f ( x) − f ( xn−1 )
x − xn−1
Αν υποθέσουµε ότι οι προσεγγίσεις xn-1 και xn-2 βρίσκονται αρκετά κοντά – και αυτό ισχύει για τις x0
και x1 – τότε η παράγωγος προσεγγίζεται από τη διαιρεµένη διαφορά:
f ′( xn −1 ) ≅
f ( xn − 2 ) − f ( xn −1 )
xn − 2 − xn −1
(2.6.1)
y
y=f(x)
x
ξ
x4
x3
x2
x1
x0
Σχήµα 2.6.1 Γραφική ερµηνεία της µεθόδου της Xορδής
Αντικαθιστώντας τώρα στην (2.5.1) την τιµή της f΄(xn-1) από την (2.6.1), παίρνουµε τον επαναληπτικό
τύπο της µεθόδου:
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
II-27
f ( xn −1 )( xn −1 − xn − 2 )
, n = 1, 2,…
f ( xn −1 ) − f ( xn − 2 )
(2.6.2)
xn = xn −1 −
Η γραφική ερµηνεία φαίνεται στο Σχ. 2.6.1. Κάθε προσέγγιση xn ορίζεται ως η τοµή της ευθείας που
συνδέει τα σηµεία (xn-1, f(xn-1)) και (xn-2, f(xn-2)) µε τον άξονα Οx.
Παρατήρηση 2.6.1: Αξιολόγηση
Η επανάληψη (2.6.2) δεν συγκλίνει πάντοτε, αφού η ρίζα δεν εγκλωβίζεται σε κάποιο διάστηµα.
Πάντως εάν συγκλίνει, µπορεί να δειχθεί ότι είναι ταχύτερη της µεθόδου Regula Falsi. Μπορεί φυσικά
να υπολογίσει προσεγγίσεις και πέραν των αρχικών τιµών x1, x2. Μπορεί επίσης να δειχθεί ότι κάτω
από ορισµένες προϋποθέσεις η µέθοδος είναι ταχύτερη και από την µέθοδο Newton-Raphson.
Επιπλέον, δεν απαιτεί πρόσθετους υπολογισµούς για τον υπολογισµό της παραγώγου.
Η µέθοδος περιγράφεται σύντοµα από τον πιο κάτω αλγόριθµο. Ισχύουν οι ανάλογες εκλεπτύνσεις
µε αυτές του αλγορίθµου 2.5.1 (Newton-Raphson).
Αλγόριθµος 2.6.1: Μέθοδος Χορδής
Input: συνεχής συνάρτηση f, αρχικά σηµεία x-1, x0 κοντά στη ρίζα
Output: προσέγγιση ρίζας
begin
for n:=0 to Nmax until satisfied do
x n+1 = (f(xn-1) xn - f(xn) xn-1) / (f(xn-1) - f(xn))
end
Ασκήσεις
2.6.1 Να εφαρµοστεί η µέθοδος της Χορδής για τον υπολογισµό των λύσεων των εξισώσεων των
ασκήσεων 2.5.1 και 2.5.5. Ως δεύτερη αρχική προσέγγιση να δοθεί µια τιµή κοντά στην τιµή της
πρώτης προσέγγισης. Να γίνει σύγκριση των απαιτούµενων βηµάτων για την επίτευξη της επιθυµητής
ακρίβειας.
2.6.2 Εφαρµόστε τη µέθοδο της Χορδής για τον υπολογισµό της ρίζας (-8)1/2, µε ακρίβεια 5 σ.ψ. Να
δοθούν κατάλληλες αρχικές προσεγγίσεις.
2.6.3 Γράψτε σε κώδικα Matlab µια function που να υλοποιεί τη Μέθοδο της Χορδής. Η συνάρτηση θα
δέχεται ως παραµέτρους την ανοχή σφάλµατος και τη συνάρτηση της οποίας θα προσεγγισθεί η ρίζα.
Στη συνέχεια δοκιµάστε τον κώδικα µε τη συνάρτηση του Παρ.2.5.4.
2.7 Υπολογισµός Ριζών Πολυωνύµου - Μέθοδος Newton-
Ηorner
Η µέθοδος ή σχήµα Horner παρέχει ένα βέλτιστο γραµµικό αλγόριθµο για τον υπολογισµό της τιµής
ενός πολυωνύµου (βλ. και στην §1.1), γνωστό και ως αλγόριθµο της συνθετικής διαίρεσης.
Θεώρηµα 2.7.1 [Αλγόριθµος Ηorner]
Έστω το πολυώνυμο p(x) = anxn + ... + a0, βαθμού n, και μια πραγματική τιμή x0. Τότε p(x0)=b0,
όπου το b0 υπολογίζεται από την αναδρομική ακολουθία:
bn = an
bk = ak + bk+1x0, για k=n-1,n-2,...,0
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
(2.7.1)
6/5/2014
II-28
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Παρατήρηση 2.7.1 Ο αλγόριθµος Horner ερµηνεύεται από το σχήµα των εµ̟εριεχόµενων
̟ολλα̟λασιασµών (nested multiplication):
p(x0) = a0+x0(a1+x0(a2+x0(…x0(αn-1+x0an)…)))
Οι πράξεις γίνονται από δεξιά προς τα αριστερά. Ο αλγόριθµος απαιτεί µόνον n πολλαπλασιασµούς
και n προσθέσεις για τον υπολογισµό της τιµής ενός πολυωνύµου βαθµού n.
Π.χ. αν p(x)=3x4+2x2-x+5, τότε p(2)=(((3×2+0)×2+2)×2-1)×2+5=59, ενώ εκτελούνται 4
προσθέσεις και 4 πολλαπλασιασµοί.
Πέραν του υπολογιστικού πλεονεκτήµατος αυτού, ο αλγόριθµος Horner µπορεί να εφαρµοσθεί και
για τον υπολογισµό και της παραγώγου p΄(x). Πράγµατι, αν θεωρήσουµε το πολυώνυµο:
q(x)=bnxn-1+bn-1xn-2+...+b1
µε συντελεστές τα ενδιάµεσα αποτελέσµατα της µεθόδου Horner, τότε το q(x) προκύπτει ως πηλίκο
της διαίρεσης του p(x) δια του (x-x0): (το ίδιο προκύπτει και αν πολλαπλασιάσουµε τις (2.7.1) µε x0k,
k=0,1…n, και κατόπιν προσθέσουµε κατά µέλη):
p(x) = (x-x0)q(x) + p(x0) = (x-x0)q(x) + b0
(2.7.2)
Παραγωγίζοντας και τα δύο µέλη της (2.7.2) παίρνουµε
p΄(x) = q(x) + (x-x0) q΄(x)
(2.7.3)
από όπου προκύπτει
p΄(x0) = q(x0)
(2.7.4)
Το q(x0) προφανώς δίνεται από την ίδια ακολουθία υπολογισµών: q(x0)= z0, µε zn=bn, zk=bk+zk+1x0,
k=n-1,…,1. Συνεπώς, η (2.7.4) δείχνει ότι τα p(x0) και p΄(x0) υπολογίζονται ταυτόχρονα από την
ίδια υπολογιστική διαδικασία. Η διαδικασία αυτή διατυπώνεται στον παρακάτω αλγόριθµο:
Αλγόριθµος 2.7.1: Υπολογισµός Τιµής Πολυωνύµου και Παραγώγου (Horner)
Input: βαθµός n, συντελεστές πολυωνύµου a0,a1,...,an, σηµείο x
Output: y = p(x), z = p'(x)
begin
y := an ;
% υπολογισµός bn για το p
z := an ;
% υπολογισµός bn-1 για το q
for i := n-1 downto 1 do
{ y := x*y + ai ;
z := x*z + y };
y:= x*y + a0 ;
% υπολογισµός b0 για το p
write(y, z)
end Horner
Είναι φανερό ότι για τον υπολογισµό των τιµών p(x) και p΄(xk) απαιτούνται συνολικά 2n-1
πολλαπλασιασµοί και 2n-1 προσθέσεις.
Ένα δεύτερο επακόλουθο της (2.7.2) είναι ότι η µέθοδος Horner µπορεί να εφαρµοσθεί για τον
υπολογισµό προσεγγίσεων όλων των πραγµατικών ριζών ενός πολυωνύµου p(x) συνδυαζόµενη µε τη
µέθοδο Newton-Raphson. Αν xn είναι µια ικανοποιητική προσέγγιση µιας ρίζας του p(x) κατά την
εφαρµογή της µεθόδου Newton-Raphson (αν µάλιστα η αρχική προσέγγιση x0 ληφθεί αρκετά κοντά
στη ρίζα, αυτό επιτυγχάνεται µε λίγες επαναλήψεις), τότε προσεγγιστικά θα είναι p(xn)≈0. Από την
(2.7.2) προκύπτει:
p(x) = (x - xn)q(x) + b0 = (x - xn)q(x) + p(xn) ≈ (x - xn)q(x)
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
(2.7.5)
6/5/2014
II-29
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Συνεπώς, τo x-xn είναι ένας προσεγγιστικός παράγων του p(x). Το q(x) είναι βαθµού n-1 και είναι
γνωστό, αφού έχει υπολογισθεί µε τη µέθοδο Horner. Θέτοντας r1=xn και q1(x)=q(x) λαµβάνουµε:
p(x) ≈ (x - r1) q1(x)
(2.7.6)
Αν το p(x) έχει πραγµατικές ρίζες, η παραπάνω διαδικασία µπορεί να εφαρµοσθεί στο q1(x) για την
προσέγγιση της επόµενης ρίζας, προσδιορίζοντας ένα πολυώνυµο q2(x) βαθµού n-2 κοκ., µέχρι να
φθάσουµε σε ένα πολυώνυµο 1ου βαθµού. ∆ιαδοχικές εφαρµογές λοιπόν του αλγορίθµου NewtonHorner ελαττώνουν βαθµιαία το βαθµό του p(x), µέχρι να αποσπασθούν όλες οι πραγµατικές ρίζες.
Η µέθοδος Newton-Horner για τον υπολογισµό όλων των ριζών συνοψίζεται στο εξής επαναληπτικό
σχήµα:
q0(x) = p(x)
qk(x) = (x - rk+1) qk+1(x) για k=0,1,..,n-2 (το qk(x) είναι βαθµού n-k)
(2.7.7)
Η µέθοδος µπορεί να εφαρµοσθεί και για τον υπολογισµό µιγαδικών ριζών. Για την προσέγγιση
µιας µιγαδικής ρίζας θα πρέπει να λαµβάνεται ως αρχική προσέγγιση µια µιγαδική τιµή και στη
συνέχεια όλοι οι σχετικοί υπολογισµοί να γίνονται µε χρήση µιγαδικής αριθµητικής (άσκηση 2.7.3).
Η µέθοδος Newton-Horner διατυπώνεται από τον αλγόριθµο (2.7.2):
Αλγόριθµος 2.7.2: Υπολογισµός Πραγµατικών Ριζών Πολυωνύµου (Newton-Horner)
Input : P(x): πολυώνυµο n βαθµού, x: αρχική προσέγγιση
Output : r: ρίζα πολυωνύµου, Q(x):προσεγγιστικός παράγων του P(x)
begin
Delta:=1.0e-6;
% καθορισµός ανοχών
Epsilon:=1.0e-6;
maxit:=100;
Read(n);
Read(P(0), P(1),...,P(n));
% είσοδος συντελεστών πολυωνύµου P(x)
A:=P;
% το A περιέχει το P
for k:=1 to n-1 do
{ Read (x);
% αρχική προσέγγιση για την ρίζα r(k)
rootfound:=false;
y:=A(n-k+1) ; dy:=A(n-k+1) ;
B(n-k) := y;
% το Q αποθηκεύεται στο B
For j:=1 to maxit until rootfound
% υπολογισµός ρίζας r(k)
{ for i:=n-k downto 1 do
%
αλγόριθµος
Horner,
υπολογισµοί
y=P(x),
dy=P΄(x)=Q(x)
{ y:=x*y +A(i) ;
dy:= x*dy + y ;
B(i-1):=dy ; }
% το Q αποθηκεύεται στο B
y:=x*y+A(0) ;
% y=P(x)=b0
Dx:=y/dy;
% dy=B(0)
xnew:=x-Dx;
% υπολογισµός προσέγγισης Newton
RelErr:=2*|Dx|/(|new|+|x|);
% εκτίµηση σχετικού σφάλµατος
if RelErr ≤Delta and |y| ≤ Epsilon % έλεγχος σχετικού σφάλµατος και τιµής p(x)
then { rootfound:=true; r:=xnew }
else x:=xnew;
}
if rootfound then
% είναι
P(x)≈(x-r(k))Q(x),
άρα στο επόµενο βήµα
υπολογίζονται
{
A:=B;
% οι ρίζες του Q: P=Q.
write('Ρίζα', k, '=', r, 'προσεγγιστικός παράγων: ', B);
}
else exit ('Αποτυχία υπολογισµού', k, 'ρίζας');
}
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-30
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
if k=n-1 then r(k):=-B(0)/B(1);
end Newton Horner
%υπολογισµός τελευταίας ρίζας του P
Το σχήµα Horner µπορεί επίσης να εφαρµοσθεί και για τον γρήγορο υπολογισµό του
ολοκληρώµατος του P(x) σε ένα σηµείο x:
I ( x) = ∫ P ( x)dx =
an n+1 an−1 n
a
x +
x + … + 1 x 2 +a0 x + c
n +1
n
2
(2.7.8)
όπου c είναι σταθερά ολοκλήρωσης. Ο σχετικός αλγόριθµος ακολουθεί:
Αλγόριθµος 2.7.3: Υπολογισµός ολοκληρώµατος πολυωνύµου
Input: βαθµός πολυωνύµου n, συντελεστές a1,a2,,...,an, σηµείο x,
σταθερά ολοκλήρωσης c
Output: Integ = I(x) = Tιµή ολοκληρώµατος στο x
begin
Integ := an / (n+1);
for i := n downto 1 do
Integ := ai-1/ i + Integ*x ;
Integ := c + Integ*x ;
Write(Integ)
end
♦ Παράδειγµα 2.7.1
Να υπολογισθούν µε τη µέθοδο Newton-Horner προσεγγίσεις των πραγµατικών ριζών του
πολυωνύµου p(x) = 2x4 - 3x2 + 3x – 4 µε ακρίβεια 3 σ.ψ.
Απάντηση Παρατηρούµε ότι p(-2)p(-1)<0, εποµένως υπάρχει µια ρίζα r1 στο [-1,-2]. Οµοίως
p(2)p(3)<0, δηλ. η δεύτερη ρίζα r2 βρίσκεται στο [1,2]. Είναι p΄(x)=8x3-6x+3, p''(x)= 24x2-6. Επειδή
p΄(x)≠0 για x∈[-2,-1] και x∈[1,2], οι r1,r2 είναι οι µόνες πραγµατικές στα αντίστοιχα διαστήµατα.
Περαιτέρω µελέτη της f δείχνει ότι δεν υπάρχουν άλλες πραγµατικές ρίζες, συνεπώς υπάρχουν δύο
µιγαδικές συζυγείς. Το γράφηµα της f φαίνεται στο Σχ. 2.7.1. Ως αρχικές προσεγγίσεις της µεθόδου
Newton-Raphson λαµβάνουµε x0=-2 για την r1 και x0=(1+2)/2=1.5 για την r2. Εκτελώντας τώρα το
υπολογιστικό σχήµα της (2.7.7), λαµβάνουµε τις επαναλήψεις:
• Υπολογισµός r1 για το q0(x) = p(x) = 2x4-3x2+3x– 4
1η επανάληψη x0=-2. Υπολογισµός q0(x0), q0΄(x0) (µέθοδος Horner):
a4 = 2
a3 = 0
a2 = -3
a1 = 3
a0 = -4
b4 = 2
b3 = a3 + b4 x0 = -4
b2 = a2 + b3 x0 = 5
b1 = a1 + b2 x0 = -7
b0 = a0 + b1 x0 = 10
Άρα q0(-2) = b0 = 10 και q(x) = 2x3-4x2+5x-7.
Υπολογισµός q(x0) (µέθοδος Horner):
a3 = 2
a2 = -4
a1 = 5
a0 = -7
b3 = 2
b2 = a2 + b3 x0 = -8
b1 = a1 + b2 x0 = 21
b0 = a0 + b1 x0 = -49
Άρα q0΄(-2) = q(-2) = b0 = -49.
Επανάληψη Newton-Raphson: x1 = x0-q0(x0)/q0΄(x0) = -2 - 10/(-49) ≈ -1.796.
Είναι ∆1=|(x1-x0)/x0|=0.1020<5e-1. Συνεπώς το x1 είναι προσέγγιση ακριβής σε 1 σ.ψ.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-31
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
2*x**4-3*x**2+3*x-4
10
5
0
-5
-10
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Σχήµα 2.7.1
2η επανάληψη: x1=-1.796. Υπολογισµός q0(x1), q0΄(x1) (µέθοδος Horner):
a4 = 2
b4 = 2
a3 = 0
b3 = a3 + b4 x1 = -3.592
a2 = -3
b2 = a2 + b3 x1 = 3.451
a1 = 3
b1 = a1 + b2 x1 = -3.197
a0 = -4
b0 = a0 + b1 x1 = 1.742
Άρα q0(x1) = b0 = 1.742 και q(x) = 2x3-3.592x2+3.451x-3.197.
Υπολογισµός q(x1) (µέθοδος Horner):
a3 = 2
a2 = -3.592
a1 = 3.451
a0 = -3.197
b3 = 2
b2 = a2 + b3 x1 = -7.184
b1 = a1 + b2 x1 = 16.353
b0 = a0 + b1 x1 = -32.565
Άρα q0΄(x1) = q(x1) = b0= -32.565.
Επανάληψη Newton-Raphson: x2 = x1-q0(x1)/q0΄(x1) = -1.796-1.742/(-32.565) ≈ -1.7425
Είναι ∆2=|(x2-x1)/x1|= 0.0298<5e-2. Συνεπώς το x2 είναι ακριβές σε 2 σ.ψ.
3η επανάληψη: x2=-1.7425. Υπολογισµός q0(x2), q0΄(x2) (µέθοδος Horner):
a4 = 2
a3 = 0
a2 = -3
a1 = 3
a0 = -4
b4 = 2
b3 = a3 + b4 x2 = -3.4850
b2 = a2 + b3 x2 = 3.0726
b1 = a1 + b2 x2 = -2.3540
b0 = a0 + b1 x2 = 0.1019
Άρα q0(x2) = b0 = 0.1019 και q(x) = 2x3-3.4850x2+3.0726x-2.3540.
Υπολογισµός q(x2) (µέθοδος Horner):
a3 = 2
a2 = -3.485
a1 = 3.0726
a0 = -2.354
b3 = 2
b2 = a2 + b3 x2 = -6.9700
b1 = a1 + b2 x2 = 15.2178
b0 = a0 + b1 x2 = -28.8711
Άρα q0΄(x2) = q(x2) = b0 = -28.8711
Επανάληψη Newton-Raphson: x3 = x2-q0(x2)/q0΄(x2) = -1.7425-0.1019 /(-28.8711) ≈ -1.7390.
Είναι ∆3=|(x3-x2)/x2|= 0.0020<5e-3. Συνεπώς το x3 είναι ακριβές σε 3 σ.ψ.
• Υπολογισµός r2 για το q1(x) = q(x) = 2x3-3.485x2+3.0726x-2.354
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-32
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Είναι q1΄(x)= 6x2-6.97x2+3.0726>0, ∀x∈R αφού D=β-4αγ=6.972-4×6×3.0726=-25.1615<0. Συνεπώς το
q1(x) έχει µόνον µια πραγµατική ρίζα, την r2. ∆ηλαδή επαληθεύεται ότι το αρχικό p(x) έχει δύο
πραγµατικές και δύο µιγαδικές ρίζες. Για την r2 θέτουµε x0=1.5 και έχουµε:
1η επανάληψη x0=1.5. Υπολογισµός q1(x0), q1΄(x0) (µέθοδος Horner):
a3 = 2
a2 = -3.485
a1 = 3.0726
a0 = -2.354
b3 = 2
b2 = a2 + b3 x0 = -0.4850
b1 = a1 + b2 x0 = 2.3451
b0 = a0 + b1 x0 = 1.1637
Άρα q1(1.5) = b0 = 1.1637 και q(x) = 2x2-0.485x+2.3451.
Υπολογισµός q(x0) (µέθοδος Horner):
a2 = 2
a1 = -0.4850
a0 = 2.3451
b2 = 2
b1 = a1 + b2 x0 = 2.5150
b0 = a0 + b1 x0 = 6.1176
Άρα q1΄(1.5) = q(1.5) = b0 = 6.1176.
Επανάληψη Newton-Raphson: x1 = x0-q1(x0)/q1΄(x0) = 1.5 - 1.1637 /6.1176 ≈ 1.3098.
Είναι ∆2=|(x1-x0)/x0|=0.1268<5e-1. Συνεπώς το x1 είναι ακριβές σε 1 σ.ψ.
2η επανάληψη x1=1.3098. Υπολογισµός q1(x1), q1΄(x1) (µέθοδος Horner):
a3 = 2
a2 = -3.485
a1 = 3.0726
a0 = -2.354
b3 = 2
b2 = a2 + b3 x1 = -0.8654
b1 = a1 + b2 x1 = 1.9391
b0 = a0 + b1 x1 = 0.1858
Άρα q1(1.3098) = b0 = 0.1858 και q(x) = 2x2-0.8654x+1.9391.
Υπολογισµός q(x1) (µέθοδος Horner):
a2 = 2
a1 = -0.8654
a0 = 1.9391
b2 = 2
b1 = a1 + b2 x1 = 1.7542
b0 = a0 + b1 x1 = 4.2368
Άρα q1΄(x1) = q(1.3098) = b0 = 4.2368.
Επανάληψη Newton-Raphson: x2 = x1-q1(x1)/q1΄(x1) = 1.3098-0.1858/4.2368 ≈ 1.2659.
Είναι ∆2=|(x2-x1)/x1|=0.0335<5e-2. Συνεπώς το x2 είναι ακριβές σε 2 σ.ψ.
3η επανάληψη x2=1.2659. Υπολογισµός q1(x2), q1΄(x2) (µέθοδος Horner):
a3 = 2
a2 = -3.485
a1 = 3.0726
a0 = -2.354
b3 = 2
b2 = a2 + b3 x2 = -0.9532
b1 = a1 + b2 x2 = 1.8659
b0 = a0 + b1 x2 = 0.0081
Άρα q1(1.2659) = b0 = 0.0081 και q(x) = 2x2-0.9532x+1.8659.
Υπολογισµός q(x2) (µέθοδος Horner):
a2 = 2
a1 = -0.9532
a0 = 1.8659
b2 = 2
b1 = a1 + b2 x2 = 1.5786
b0 = a0 + b1 x2 = 3.8642
Άρα q1΄(x2) = q(1.2659) = b0 = 3.8642.
Επανάληψη Newton-Raphson: x3 = x2-q1(x2)/q1΄(x2) = 1.2659-0.0081/3.8642 ≈ 1.2638.
Είναι ∆3=|(x3-x2)/x2|= 0.0017<5e-3. Συνεπώς το x3 είναι ακριβές σε 3 σ.ψ.
Συνοψίζοντας, υπολογίσαµε τις ρίζες r1≈-1.7390 και r2≈ 1.2638 µε ακρίβεια 3 σ.ψ. Θα ισχύει:
p(x) = p0(x) ≈ (x-r1) q1(x) ≈ (x-r1) (x-r2) q2(x) = (x-r1) (x-r2) (2x2-0.9532x+1.8659)
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
II-33
Για το q2(x) είναι D=0.95322-8×1.8659=-14.0186<0, εποµένως q2(x)>0, ∀x∈R. Άρα το q2(x) –
εποµένως και το p(x) – έχει µιγαδικές ρίζες.
Αν υπολογίσουµε τώρα τις ρίζες του p(x) σε ένα υπολογιστικό περιβάλλον (π.χ. Matlab), βρίσκουµε:
r1* = -1.73895625645189…., r2* = 1.25488188483429…
► Παρατήρηση. Παρατηρούµε ότι οι r1, r1* συµφωνούν σε 4 σ.ψ. ενώ οι r2, r2* µόνον σε 2 σ.ψ. Αυτό
οφείλεται στην πεπερασµένη ακρίβεια µε την οποία έγιναν οι πράξεις κατά τον υπολογισµό της r1 και
των συντελεστών του πολυωνύµου q1(x). Έτσι τα σφάλµατα µεταδόθηκαν µέσω του q1(x) στον
υπολογισµό της r2 και εκεί ενισχύθηκαν µε νέα σφάλµατα. Είναι σαφές ότι αν είχε χρησιµοποιηθεί
µεγαλύτερη ακρίβεια στους υπολογισµούς, η r2 θα ήταν πιο ακριβής.
Μια καλή αντιµετώπιση στο πιο πάνω πρόβληµα, είναι να διοχετευθεί η r2 ως αρχική προσέγγιση στη
µέθοδο Newton-Horner (για το αρχικό πολυώνυµο p(x)). Επειδή βρίσκεται κοντά στην ρίζα, θα
λάβουµε πολύ γρήγορα µια καλύτερη προσέγγιση.
♦ [Matlab]
Ένα πολυώνυµο ορίζεται στο Matlab µέσω του πίνακα συντελεστών του. Π.χ. για το πολυώνυµο
p(x)=2x4–3x2+3x–4, εισάγεται:
p = [2 0 -3 3 -4];
Οι τιµές ενός πολυωνύµου και της παραγώγου του υπολογίζονται από τις εντολές polyval και polyder.
Ο κώδικας της πρώτης χρησιµοποιεί το σχήµα Horner.
Π.χ., η τιµή p(-2) (=10) υπολογίζεται:
polyval(p,-2)
Η polyder υπολογίζει την παράγωγο του p, δηλαδή τους συντελεστές του p΄:
>>dp=polyder(p)
dp = 8 0 -6 3 (δηλ. p΄(x)=8x3-6x+3)
Η τιµή p΄(-2) (=-49) υπολογίζεται:
>>polyval(dp,-2)
Για την δεύτερη επανάληψη του παραδείγµατος δίνουµε:
>>polyval(p,-1,796)
ans = 1.744
>>polyval(dp,-1.796)
ans = -32.569
'
Παρατήρηση 2.7.1 Κατά την εφαρµογή της Newton-Horner σφάλµατα οφειλόµενα στην αριθµητική
πεπερασµένης ακρίβειας συσσωρεύονται και µεταδίδονται µέσω των πολυωνύµων q από τις πρώτες
στις τελευταίες υπολογιζόµενες ρίζες. Για τον λόγο αυτό οι τελευταίες προσεγγίσεις υπολείπονται σε
ακρίβεια. Ένα τέτοιο φαινόµενο παρατηρήσαµε και στο Παρ.2.7.1. Το πρόβληµα αυτό µπορεί να
αντιµετωπισθεί εφαρµόζοντας εκ νέου τη µέθοδο Newton-Horner µε τις προσεγγίσεις αυτές ως
αρχικές τιµές.
Ασκήσεις
2.7.1 Εφαρµόζοντας την µέθοδο Νewton-Raphson και τον αλγόριθµο Horner, να υπολογισθούν µε
ακρίβεια ε=10-4 όλες οι πραγµατικές ρίζες των πολυωνύµων:
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-34
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
α) p(x) = x3 - 2x2 - 5,
β) p(x) = x4 + 2x2 - x - 3
2.7.2 Εφαρµόζοντας τη µέθοδο Horner, υπολογίστε τις τιµές p(2.3), p΄(2.3) και I(2.3) (ολοκλήρωµα)
για το πολυώνυµο p(x)= x5+2x4-4x3+x2-6x- 3.
2.7.3 ∆είξτε αναλυτικά πώς µπορεί να εφαρµοσθεί ο αλγόριθµος της συνθετικής διαίρεσης για τον
υπολογισµό µιας µιγαδικής ρίζας ενός πολυωνύµου, κάνοντας χρήση µιγαδικής αριθµητικής.
∆ιατυπώστε τον αντίστοιχο αλγόριθµο.
2.7.4 Με τη µέθοδο Νewton-Raphson και τον αλγόριθµο Ηorner, να υπολογισθούν µε ακρίβεια ε=10-3
όλες οι ρίζες (και οι µιγαδικές) του πολυωνύµου 2x3-3x2+2x-3.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
II-35
2.8 Μέθοδος Μuller
Οι περισσότερες µέθοδοι επίλυσης µη γραµµικών εξισώσεων επιτρέπουν τον υπολογισµό µιας
αποµονωµένης ρίζας µιας συνάρτησης όταν είναι γνωστή τουλάχιστον µια αρχική προσέγγισή της.
Είναι λοιπόν φυσικό οι µέθοδοι αυτές να είναι ανεπαρκείς όταν αναζητούνται όλες οι ρίζες (και οι
πολλαπλότητές τους) ή όταν δεν είναι διαθέσιµη µια αρχική προσέγγιση. Από την άλλη πλευρά, η
µέθοδος Newton-Raphson µπορεί βέβαια να χρησιµοποιηθεί για την εύρεση και πολλαπλών ριζών,
αλλά µε γραµµική ταχύτητα.
Έχουν όµως αναπτυχθεί µέθοδοι που προσεγγίζουν όλες τις ρίζες µιας εξίσωσης. Θα δώσουµε εδώ
µια τέτοια ιδιαίτερα αποδοτική µέθοδο, τη µέθοδο Muller. Η µέθοδος είναι επαναληπτική και έχει
τα εξής χαρακτηριστικά-πλεονεκτήµατα:
•
•
•
•
Εφαρµόζεται για την εύρεση οποιουδήποτε αριθµού ριζών, πραγµατικών ή µιγαδικών,
οποιασδήποτε συνάρτησης.
Συγκλίνει σχεδόν τετραγωνικά και δεν χρειάζεται τον υπολογισµό της παραγώγου της
συνάρτησης.
Υπολογίζει τις πραγµατικές ή µιγαδικές ρίζες ακόµα και αν δεν είναι απλές.
∆εν απαιτεί αρχική προσέγγιση της ρίζας.
Έτσι µπορεί να χρησιµοποιηθεί στην αναζήτηση των µιγαδικών ριζών πολυωνύµων µε πραγµατικούς
συντελεστές.
Σχήµα 2.8.1 Καθορισµός της τρίτης προσέγγισης στη µέθοδο Muller
Η µέθοδος Muller αποτελεί επέκταση της µεθόδου της Χορδής. Στη µέθοδο της Χορδής, η επόµενη
προσέγγιση της ρίζας pi+1, είναι το σηµείο στο οποίο η ευθεία η διερχόµενη από τα σηµεία (pi, f(pi))
και (pi-1, f(pi-1)) τέµνει τον άξονα Οx. Στη µέθοδο Muller, η επόµενη προσέγγιση p3 προκύπτει από
την ρίζα της ̟αραβολής που περνά από τα σηµεία (p0, f(p0)), (p1, f(p1)) και (p2, f(p2)), τα οποία και
αποτελούν τα τρία σηµεία εκκίνησης. Μπορεί να αποδειχτεί ότι η µέθοδος Muller συγκλίνει ταχύτερα
κοντά σε µία απλή ρίζα από τη µέθοδο της Χορδής και σχεδόν το ίδιο γρήγορα µε τη µέθοδο
Newton-Raphson.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-36
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Χωρίς βλάβη της γενικότητας υποθέτουµε ότι το σηµείο p2 είναι η καλύτερη προσέγγιση της ρίζας
και θεωρούµε την παραβολή που περνά από τα τρία αρχικά σηµεία, όπως φαίνεται στο σχήµα 2.8.1.
Εφαρµόζουµε αλλαγή µεταβλητής:
t = x - p2
και χρησιµοποιούµε τις διαφορές
h0 = p0 - p2 και h1 = p1 - p2
Θεωρούµε τώρα το πολυώνυµο δευτέρου βαθµού µε µεταβλητή t:
y = at2 + bt + c
Θέτοντας διαδοχικά t = h0, t = h1 και t = 0, λαµβάνοµε τις έξής εξισώσεις:
ah02 + bh0 + c = f0
ah12 + bh1 + c = f1
a02 + b0 + c = f2
Από την τρίτη εξίσωση προκύπτει c = f2. Αντικαθιστώντας c = f2 στις δύο πρώτες εξισώσεις και
θέτοντας e0 = f0 - c και e1 = f1 – c, προκύπτει το σύστηµα:
ah02 + bh0 = f0 - c = e0
ah12 + bh1 = f1 - c = e1
Επιλύουµε τώρα το παραπάνω γραµµικό σύστηµα εφαρµόζοντας τον κανόνα του Cramer. Παίρνουµε
τις ορίζουσες:
D = h02h1 - h12h0
D1 = e0h1 - e1h0
D2 = e1h02 - e0h12
Εποµένως οι συντελεστές a και b δίνονται:
a = D1 / D, b = D2 / D
Χρησιµοποιώντας ένα ισοδύναµο τύπο µε το συνήθη για τον υπολογισµό των ριζών τριωνύµου (βλ.
Παρ.1.5.5), έχουµε
z = -2c / (b±√(b2 - 4ac))
(2.8.1)
Ο παραπάνω τύπος είναι προτιµότερος από υπολογιστική σκοπιά, γιατί ξέρουµε ότι c = f2. Για να
εξασφαλίσουµε τη σταθερότητα της µεθόδου, διαλέγουµε την ρίζα µε την µικρότερη απόλυτη τιµή.
Αυτό σηµαίνει ότι αν b > 0, διαλέγουµε το θετικό πρόσηµο στον παρανοµαστή ενώ αν b < 0 το
αρνητικό πρόσηµο. Οπότε το p3 (βλ. Σχ. 2.8.1) δίνεται από τον τύπο:
p3 = p2 + z
(2.8.2)
Έτσι, στην επόµενη επανάληψη απορρίπτουµε µεταξύ των p0, p1, p2 την τιµή που είναι πιο µακριά
από την p3.
Ας σηµειωθεί ότι, αν και οι ρίζες που ψάχνουµε είναι πραγµατικές, είναι δυνατό κατά την εφαρµογή
της µεθόδου να συναντήσουµε και µιγαδικές προσεγγίσεις, αφού οι λύσεις της (2.8.1) είναι γενικά
µιγαδικές. Επειδή όµως το µιγαδικό µέρος θα είναι πολύ µικρό, µπορεί να αγνοηθεί. Παρόλο που
γίνονται πολλοί βοηθητικοί υπολογισµοί, η µέθοδος χρειάζεται µόνο έναν υπολογισµό της
συνάρτησης σε κάθε επανάληψη.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
II-37
Η µέθοδος Muller βρίσκει µια ρίζα κάθε φορά που εφαρµόζεται. Για την εύρεση περισσοτέρων ριζών
χρησιµοποιείται µια διαδικασία ελάττωσης. Έτσι, αν q1 είναι µία ρίζα που έχει βρεθεί, η επόµενη ρίζα
µπορεί να υπολογισθεί µε χρήση της συνάρτησης:
f1(x) = f(x) / (x - q1)
(2.8.3)
Γενικότερα, αν έχουν βρεθεί r ρίζες, η επόµενη προκύπτει µε τη βοήθεια της συνάρτησης:
fr(x) = f(x) / [(x - q1)(x - q2)…(x - qr)]
(2.8.2)
Ωστόσο, κατά την εφαρµογή της διαδικασίας αυτής για την εύρεση όλων των ριζών, µπορεί να
υπάρξει απώλεια ακρίβειας. Μια αντιµετώπιση είναι οι υπολογιζόµενες προσεγγίσεις των ριζών να
χρησιµοποιηθούν ως αρχικές προσεγγίσεις στη µέθοδο Newton-Raphson για την αρχική συνάρτηση.
Έτσι µπορούµε να καθορίσουµε τον αριθµό τους για περαιτέρω υπολογισµό. Για παράδειγµα,
µερικές συναρτήσεις έχουν άπειρες ρίζες από τις οποίες µόνο µερικές πρώτες έχουν ενδιαφέρον.
Παρατήρηση 2.8.1 Η µέθοδος Muller µπορεί να διατυπωθεί εναλλακτικά και κοµψότερα µε χρήση
διαιρεµένων διαφορών (βλ. §9.5). Ο τύπος της µοναδικής παραβολής που διέρχεται από τα σηµεία xi,
xi-1, xi-2 µπορεί να γραφτεί ως εξής:
p(x) = f(xi) + (x - xi) [xi, xi-1]f + (x - xi)(x – xi-1) [xi, xi-1, x i-2]f
όπου οι [xi, xi-1]f και [xi, xi-1, x i-2]f είναι διαιρεµένες διαφορές όπως ορίζονται από τη σχέση (9.5.3)
του Κεφ.VIΙΙ. Εκτενέστερη αναφορά υπάρχει στην [15], παρ. 3.7.
Αλγόριθµος 2.8.8: Μέθοδος Muller
Input: Η συνάρτηση F(x), τα αρχικά σηµεία P0, P1, P2
Outout: Η ρίζα P2 ή µήνυµα λάθους
Delta:= 10-6; Epsilon:= 10-6; Small:= 10-6 ;
{Ανοχές}
Max:= 99;
{Μέγιστος αριθµός επαναλήψεων}
Satisfied:= False;
{Συνθήκη για τερµατισµό του βρόγχου}
begin
Y0:= F(P0); Y1:= F(P1); Y2:= F(P2);
for K = 1 TO Max until Satisfied do
H0:= P0 - P2; H1:= P1 - P2;
C:= Y2, E0:= Y0 - C, E1:= Y1 - C
Det:= H0*H1*(H0 - H1);
{Υπολογισµός οριζουσών και επίλυση του}
A:= (E0*H1 - H0*E1) / Det;
{συστήµατος}
B:= [H0*H0*E1 - H1*H1*E0] / Det;
if B*B > 4*A*C then Disc:= sqrt(B*B - 4*A*C)
else Disc:= 0
{Αγνοούµε µιγαδικές ρίζες}
if B < 0 then Disc:= -Disc;
{Βρίσκουµε την µικρότερη ρίζα}
Z:= -2*C / (B + Disc);
P3:= P2 + Z;
{Νέα προσέγγιση}
if P3 - P1 < P3 - P2then
{Ταξινόµηση ώστε τα P0, P1 να είναι τα}
[ U:= P1; P1:= P0; P0:= U ]
{πλησιέστερα στο P3}
V:= Y1; Y1:= Y0; Y0:= V;
if P3 - P2 < P3 - P1 then
[ U:= P2; P2:= P1; P1:= U ]
V:= Y2; Y2:=Y1; Y1:=V;
P2:= P3; Y2:= F(P2);
RelErr:= 2*Z / (P2 + Small);
{Σχετικό σφάλµα}
if RelErr < Delta and Y2< Epsilon then
Satisfied:= ”True”
{Έλεγχος σύγκλισης}
end
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-38
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
if Satisfied then
[ Write (‘Η ρίζα που βρέθηκε είναι’, P2) ;
Write (‘∆ιαδοχικές επαναλήψεις διαφέρουν λιγότερο από’, Z) ] ;
if not Satisfied then
Write (‘Η µέθοδος δεν βρήκε ρίζα της f(x) = 0’)
end Muller
♦ Παράδειγµα 2.8.1
∆ίνουµε µία απλή εφαρµογή καθώς και µία σύγκριση της µεθόδου Muller µε τις µεθόδους NewtonRaphson και Χορδής για το πολυώνυµο f(x) = x3-3x+2.
Για τον υπολογισµό της απλής ρίζας p=-2, έχουµε τις εξής επαναλήψεις:
k
0
1
2
3
4
5
6
7
Μέθοδος Χορδής
Μέθοδος Muller
Μέθοδος Newton-Raphson
-2.600000000
-2.400000000
-2.106598985
-2.022641412
-2.001511098
-2.000022537
-2.000000022
-2.000000000
-2.600000000
-2.500000000
-2.400000000
-1.985275287
-2.000334062
-2.000000218
-2.000000000
-2.400000000
-2.076190476
-2.003596011
-2.000008589
-2.000000000
Πίνακας 2.8.1
Για τη διπλή ρίζα p = 1, παίρνουµε:
k
Μέθοδος Χορδής
Μέθοδος Muller
Μέθοδος Newton-Raphson
0
1
2
3
4
5
6
7
8
9
1.400000000
1.200000000
1.138461538
1.083873738
1.053093854
1.032853156
1.020429426
1.012648627
1.007832124
1.004844757
1.400000000
1.300000000
1.200000000
1.003076923
1.003838922
1.000027140
0.999997914
0.999999747
1.000000000
1.200000000
1.103030303
1.052356417
1.026400814
1.013257734
1.006643418
1.003325375
1.001663607
1.000832024
1.000416075
Πίνακας 2.8.2
Παρατηρούµε ότι η µέθοδος Newton είναι η καλύτερη επιλογή για τον υπολογισµό µιας απλής ρίζας
(Πίνακας 2.8.1). Για τη διπλή ρίζα όµως, η µέθοδος Muller απαιτεί λιγότερα βήµατα (Πίνακας 2.8.2),
δηλαδή είναι ταχύτερη.
□
Ασκήσεις
2.8.1 Εφαρµόστε τη µέθοδο Muller για τον υπολογισµό όλων των ριζών του πολυωνύµου P(x) = x3 2x2 – 5 µε ακρίβεια 4 σ.ψ. Στη συνέχεια συγκρίνατέ την µε τη µέθοδο Newton-Raphson (µε x0=2.5) (βλ.
άσκηση 2.5.1(α)).
2.8.2 Εφαρµόστε τη µέθοδο Muller για τον υπολογισµό όλων των ριζών της συνάρτησης f(x)=2x-ex
του Παρ.2.5.4 µε ακρίβεια 2 σ.ψ. Συγκρίνατε µε την µέθοδο Newton-Raphson και Χορδής.
2.8.2 Υλοποιήστε τον αλγόριθµο Muller σε Matlab. Ο αλγόριθµος να προσαρµοσθεί έτσι ώστε να
υπολογίζονται και οι µιγαδικές ρίζες. ∆οκιµάστε τον κώδικα για τον υπολογισµό των ριζών της
εξίσωσης x2 + 2x + 8 = 0.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
II-39
2.9 Σύνοψη και Βιβλιογραφία
Σύνοψη
Συνοψίζουµε τα πιο σηµαντικά σηµεία του κεφαλαίου αυτού:
Ο προσεγγιστικός υπολογισµός ριζών µη γραµµικών συναρτήσεων βασίζεται σε επαναληπτικούς
αλγορίθµους που υπολογίζουν ακολουθίες της µορφής xn=g(xn-1). Η εκκίνηση γίνεται µε µια
αρχική προσέγγιση x0, συνήθως κατάλληλα επιλεγµένη. Ο υπολογισµός βάσει αναλυτικών τύπων
δεν προσφέρεται. Ουσιαστικά κριτήρια για την αποδοτικότητα ενός επαναληπτικού σχήµατος
είναι η σύγκλιση στη ρίζα και η ταχύτητά της, δηλαδή η τάξη σύγκλισης.
Η τάξη σύγκλισης ορίζει την τάξη µεγέθους της µεταβολής (µείωσης) του απολύτου σφάλµατος
|en|σε κάθε επανάληψη: αν η ακολουθία |en+1|/|en|m συγκλίνει, τότε m = τάξη σύγκλισης.
Ο αλγόριθµος διχοτόµησης είναι το απλούστερο επαναληπτικό σχήµα για την προσέγγιση ριζών.
Κατασκευάζει µια ακολουθία υποδιπλασιαζόµενων διαστηµάτων [an,bn] της ρίζας που τείνουν
στο µηδενικό: xn =(an+bn)/2, µε f(an)f(bn)<0, n=1,2,…, και a0=a, b0=b. Η ταχύτητα είναι µικρή
(γραµµική σύγκλιση), γι’ αυτό προσφέρεται µόνον για τον εντοπισµό διαστήµατος της ρίζας ή
ως αρχική προσέγγιση για άλλες ταχύτερες µεθόδους.
Η γενική επαναληπτική µέθοδος παρέχει την αρχή κατασκευής και επιλογής επαναληπτικών
σχηµάτων σταθερού σηµείου της µορφής g(x)=x. Η g(x)=x είναι ισοδύναµη µορφή της αρχικής
f(x)=0. O επαναληπτικός τύπος είναι xn=g(xn-1). Βασικά κριτήρια σύγκλισης είναι |g΄(x)|<1 στην
περιοχή µιας ρίζας και το x0 να λαµβάνεται σε µια «αρκούντως» στενή περιοχή της. Το µέγεθος
της τιµής |g΄(x)| υπαγορεύει την ταχύτητα σύγκλισης: όσο µικρότερο γίνεται από το 1, τόσο
αυξάνεται η ταχύτητα.
Η µέθοδος Regula Falsi αποτελεί βελτίωση της µεθόδου διχοτόµησης. Το ένα άκρο b της
ακολουθίας διαστηµάτων παραµένει σταθερό, ενώ το άλλο παρέχει τη νέα προσέγγιση xk+1 που
είναι µια σταθµισµένη µέση τιµή των a και xk .
Η µέθοδος Newton-Raphson έχει επαναληπτικό τύπο xn=xn-1-f(xn-1)/f΄(xn-1) και αποτελεί τυπική
περίπτωση µεθόδου που υπάγεται στη γενική επαναληπτική µέθοδο. Αν το x0 επιλεγεί «κοντά»
στη ρίζα, τότε συγκλίνει σε αυτήν. Αν η ρίζα είναι απλή, η σύγκλιση είναι τετραγωνική,
διαφορετικά γραµµική. Μειονέκτηµα αποτελεί το ότι απαιτείται ο υπολογισµός της παραγώγου
f΄(xn-1) σε κάθε βήµα. Η µέθοδος Halley είναι βελτίωσή της και έχει κυβική σύγκλιση (2ης τάξης).
Βελτίωση της µεθόδου Newton-Raphson είναι η µέθοδος της Χορδής. Σε κάθε βήµα η f΄(xn-1)
προσεγγίζεται από τη διαιρεµένη διαφορά των δύο προηγούµενων προσεγγίσεων xn-1 και xn-2.
Ο αλγόριθµος Horner αποτελεί βέλτιστο σχήµα υπολογισµού των τιµών p(z) και p΄(z) ενός
πολυωνύµου p. Πρώτο αποτέλεσµα είναι ότι προσφέρεται για την προσέγγιση µιας ρίζας r του p
µε τη µέθοδο Newton-Raphson. Στην προσεγγιστική σχέση p(x)≈(x-r)q(x) το πηλίκο q(x),
βαθµού n-1, είναι γνωστό από τη µέθοδο Horner, ενώ ισχύει p΄(x)=q(x). Η διαδικασία µπορεί
τότε να επαναληφθεί για το q(x) για να δώσει προσέγγιση της δεύτερης ρίζας κοκ. ∆ιαδοχικές
εφαρµογές του παραπάνω σχήµατος ελαττώνουν σταδιακά το βαθµό του p(x), µέχρι να
αποσπασθούν όλες οι πραγµατικές ρίζες.
Η µέθοδος Muller αποτελεί επέκταση της µεθόδου της Χορδής και υπολογίζει όλες τις ρίζες µιας
συνάρτησης, απλές ή πολλαπλές. Χρησιµοποιεί τρία σηµεία εκκίνησης και ως επόµενη προσέγγιση
υπολογίζει την ρίζα της ̟αραβολής που περνά από τα σηµεία αυτά. Συγκλίνει ταχύτερα κοντά σε
µία απλή ρίζα από τη µέθοδο της Χορδής και σχεδόν το ίδιο γρήγορα µε τη µέθοδο NewtonRaphson.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014
II-40
Προσέγγιση Λύσεων Μη Γραµµικών Εξισώσεων
Βιβλιογραφία και Χρήσιµες Αναφορές
Οι επαναληπτικές µέθοδοι για υπολογισµό προσεγγιστικών λύσεων των µη γραµµικών εξισώσεων
αποτελούν κλασσικό θέµα της Αριθµητικής Ανάλυσης. Υπάρχει πλούσια βιβλιογραφία.
Παραθέτουµε εδώ ορισµένες πηγές της ελληνικής ([1]-[11]) και ξένης ([12]-[15]) βιβλιογραφίας. Οι
[16]-[19] αφορούν βοηθήµατα για το Matlab. Ιδιαίτερη έµφαση πρέπει να δοθεί στην [16], που
αφορά πρότυπους κώδικες διδασκαλίας για αριθµητικούς αλγορίθµους και επαναληπτικές µεθόδους.
[1] Χ. Αλεξόπουλος, «Εισαγωγή στην Αριθμητική Ανάλυση και Περιβάλλοντα Υλοποίησης», Πανεπιστημιακές Σημειώσεις, Πανεπιστήμιο Πατρών, 2007.
[2] Χ. Αλεξόπουλος, «Επιλεγμένες Ασκήσεις και Θέματα Αριθμητικής Ανάλυσης»,
Σημειώσεις (downloadable version), Πάτρα 2010
[3] Μ. Βραχάτης, «Αριθμητική Ανάλυση», Εκδ. «Ελληνικά Γράμματα», 2002.
[4] Δημήτρης Α. Γεωργίου, «Αριθμητική Ανάλυση, Παραδείγματα, Ασκήσεις και Θέματα
Εξετάσεων», Εκδ. Κλειδάριθμος, Αθήνα, 2008
[5] Δ. Κυταγιάς, Λ. Βρυζίδης, «Αριθμητική Ανάλυση» (Α’ και Β’ τόμος), Εκδ. Ίων, Αθήνα,
1991.
[6] Γ. Δ. Ακρίβης, Β. Α. Δούγαλης, «Εισαγωγή στην Αριθμητική Ανάλυση», Πανεπιστημιακές Εκδόσεις Κρήτης, Ηράκλειο, 1998.
[7] Α. Χατζηδήμος, «Αριθμητική Ανάλυση Ι», Γιάννενα, 1978.
[8] Α. Μπακόπουλος, Ι. Χρυσοβέργης, «Εισαγωγή στην Αριθμητική Ανάλυση», Εκδ.
Συμεών, Αθήνα 1998.
[9] Γ. Σ. Παπαγεωργίου, «Θέματα Αριθμητικής Ανάλυσης», Εκδ. Συμεών, Αθήνα 1990.
[10] Γουσίδα-Κουτίτα Μαρία “Ανώτερα Εφαρμοσμένα Μαθηματικά και Αριθμητικές
Μεθόδοι ”, 1997, ISBN: 9607577167, Εκδ. Χριστοδουλίδη.
[11] N. Drakos, R. Moore, “Εισαγωγή στην Αριθμητική Ανάλυση με Εφαρμογές στη
Φυσική”, Σημειώσεις (Τranslation initiated by K. Kokkotas on 2005-06-13,
document generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)).
Διατίθεται στο διαδίκτυο: http://www.astro.auth.gr/~kokkotas/lesson/na_book/
[12] J. H. Mathews: “Numerical Methods for Computer Science, Engineering, and Mathematics”,
Prentice-Hall Int, Editions.
[13] John Mathews, Kurtis D, Fink, "Numerical Methods Using MATLAB", Fourth Edition,
Aug 2006.
[14] S. C. Chapra, Raymond P. Canale, “Numerical Methods for Engineers”, Mc.GRAW-HILL
Int. Editions, Second Edition.
[15] S. Conte, Carl de Boor, “Elementary Numerical Analysis: An Algorithmic Approach”,
McGraw-Hill,1980
[16] Companion software to accompany the book "Numerical Methods Using MATLAB, 4e" by
J. Mathews: http://www.mathworks.com/matlabcentral/fileexchange/2181-numerical-methodsusing-matlab-2e
[17] Χ. Αλεξόπουλος, «Εισαγωγή στο Matlab», Πανεπιστημιακές Σημειώσεις, 2004.
[18] “Matlab, The Language of Thechnical Computing, Getting started with Matlab”, The
Mathworks, 2002.
[19] Duane Hanselman, Bruce Littlefield, «Μάθετε το Matlab 7», Εκδόσεις Κλειδάριθμος,
2006, τόμος Α και Β.
ΘΕΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗΣ ΑΝΑΛΥΣΗΣ & ΕΦΑΡΜΟΓΕΣ
Χ. Α. Αλεξόπουλος
Τµήµα Μηχ. Η/Υ και Πληροφορικής
Πανεπιστήµιο Πατρών
6/5/2014