1. x x = x x x

Σχετικά έγγραφα
Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 5)

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Άσκηση εφαρμογής της μεθόδου Newton Raphson

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #1: ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟ ΙΑΣΤΟΛΗΣ ΚΑΙ ΡΙΖΕΣ ΕΞΙΣΩΣΕΩΝ ΕΠΙΜΕΛΕΙΑ: Σ.

Αριθμητική Ανάλυση και Εφαρμογές

n sin 1 n. 2 n n+1 6 n. = 1. = 1 2, = 13 4.

Σημειώσεις Μαθηματικών 2

Ασκήσεις Γενικά Μαθηµατικά Ι Οµάδα 5 (λύσεις)

Αριθμητική Ανάλυση και Εφαρμογές

ΜΕΜ251 Αριθμητική Ανάλυση

ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ. Σταυράκης

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

1 Σύντομη επανάληψη βασικών εννοιών

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Κεφάλαιο 3 ΠΑΡΑΓΩΓΟΣ. 3.1 Η έννοια της παραγώγου. y = f(x) f(x 0 ), = f(x 0 + x) f(x 0 )

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ.

Μερικές φορές δεν μπορούμε να αποφανθούμε για την τιμή του άπειρου αθροίσματος.

Είναι γνωστό ότι η δύναμη που ασκείται σε ένα ελατήριο και ονομάζεται δύναμη επαναφοράς δίνεται από τη σχέση : F = kx (3.1)

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

Παράδειγμα #2 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΚΑΙ ΡΙΖΕΣ ΕΞΙΣΩΣΕΩΝ. ΕΠΙΜΕΛΕΙΑ: Σ. Βαρούτης

Πρόλογος Εισαγωγή στη δεύτερη έκδοση Εισαγωγή... 11

F x h F x f x h f x g x h g x h h h. lim lim lim f x

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 4)

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ, 5 Ο ΕΞΑΜΗΝΟ, ΠΕΡΙΕΧΟΜΕΝΑ ΠΑΡΑΔΟΣΕΩΝ. Κεφ. 1: Εισαγωγή (διάρκεια: 0.5 εβδομάδες)

Αριθμητική Λύση Μη Γραμμικών Εξισώσεων Η ΜΕΘΟ ΟΣ ΤΗΣ ΙΧΟΤΟΜΙΣΗΣ 01/25/05 ΜΜΕ 203 ΙΑΛ 2 1

Επαναληπτικές μέθοδοι

Για την τοπική μελέτη μιας συνάρτησης f ενδιαφέρον έχει η συμπεριφορά της συνάρτησης γύρω απο κάποια θέση x 0

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Pr(10 X 15) = Pr(15 X 20) = 1/2, (10.2)

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

y 1 (x) f(x) W (y 1, y 2 )(x) dx,

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

Συνέχεια συνάρτησης σε διάστημα. Η θεωρία και τι προσέχουμε. x, ισχύει: lim f (x) f ( ).

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΑΛΓΕΒΡΑΣ B ΛΥΚΕΙΟΥ

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

3 η δεκάδα θεµάτων επανάληψης

2. Επίλυση μη Γραμμικών Εξισώσεων

0x2 = 2. = = δηλαδή η f δεν. = 2. Άρα η συνάρτηση f δεν είναι συνεχής στο [0,3]. Συνεπώς δεν. x 2. lim f (x) = lim (2x 1) = 3 και x 2 x 2

A Τελική Εξέταση του μαθήματος «Αριθμητική Ανάλυση» Σχολή Θετικών Επιστημών, Τμήμα Μαθηματικών, Πανεπιστήμιο Αιγαίου

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 6)

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος.

Συνέχεια συνάρτησης σε κλειστό διάστημα

Βασικές ασκήσεις Βασική θεωρία. του πεδίου ορισμού της; β) Έστω η συνάρτηση: ένα σημείο του πεδίου ορισμού της. Θα λέμε ότι η f είναι συνεχής στο x

ΜΕΜ251 Αριθμητική Ανάλυση

ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΘΕΤΙΚΩΝ ΣΠΟΥΔΩΝ ΣΠΟΥΔΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ. Το 1ο Θέμα στις πανελλαδικές εξετάσεις

Διάλεξη 5: Συνέχεια συναρτήσεων και όρια στο άπειρο

math-gr Παντελής Μπουμπούλης, M.Sc., Ph.D. σελ. 2 math-gr.blogspot.com, bouboulis.mysch.gr

15 εκεµβρίου εκεµβρίου / 64

Μιγαδικοί Αριθμοί. Μαθηματικά Γ! Λυκείου Θετική και Τεχνολογική Κατεύθυνση. Υποδειγματικά λυμένες ασκήσεις Ασκήσεις προς λύση

Δ Ι Α Φ Ο Ρ Ι Κ Ο Σ Λ Ο Γ Ι Σ Μ Ο Σ Μονοτονία & Ακρότατα Συνάρτησης

,, δηλαδή στο σημείο αυτό παρουσιάζει τη μέγιστη τιμή της αν α < 0 2α 4α και την ελάχιστη τιμή της αν α > 0. β Στο διάστημα,

Μαθηματικά. Ενότητα 2: Διαφορικός Λογισμός. Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

Επαναληπτικά θέματα στα Μαθηματικά προσανατολισμού-ψηφιακό σχολείο ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΘΕΤΙΚΩΝ ΣΠΟΥΔΩΝ

8 ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΕΞΙΣΩΣΕΩΝ

Γ. Ν. Π Α Π Α Δ Α Κ Η Σ Μ Α Θ Η Μ Α Τ Ι Κ Ο Σ ( M S C ) ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ. ΠΡΟΓΡΑΜΜΑ: Σπουδές στις Φυσικές Επιστήμες

Σχόλια στα όρια. Γενικά

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Φυσικής Σημειώσεις Ανάλυσης Ι (ανανεωμένο στις 5 Δεκεμβρίου 2012)

ΜΕΜ251 Αριθμητική Ανάλυση

Κεφάλαιο 11. Πολυώνυμα Taylor Ορισμός


Αριθμητική Ανάλυση και Εφαρμογές

x από το κεντρικό σημείο i: Ξεκινάμε από το ανάπτυγμα Taylor στην x κατεύθυνση για απόσταση i j. Υπολογίζουμε το άθροισμα:

αβ (, ) τέτοιος ώστε f(x

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ. Ημερομηνία: Πέμπτη 20 Απριλίου 2017 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

ΘΕΜΑ 2ο. Άσκηση εφαρµογής της µεθόδου Newton Raphson

Η Θεωρία στα Μαθηματικά κατεύθυνσης της Γ Λυκείου

Για να εκφράσουμε τη διαδικασία αυτή, γράφουμε: :

Περιεχόμενα μεθόδευση του μαθήματος

Non Linear Equations (2)

Αριθµητική Ανάλυση. ιδάσκοντες: Τµήµα Α ( Αρτιοι) : Καθηγητής Ν. Μισυρλής, Τµήµα Β (Περιττοί) : Επίκ. Καθηγητής Φ.Τζαφέρης. 25 Μαΐου 2010 ΕΚΠΑ

θ. Bolzano θ. Ενδιάμεσων τιμών θ. Μεγίστου Ελαχίστου και Εφαρμογές

την κεντρώα έκφραση πεπερασμένων διαφορών 2 ης τάξης και για τη παράγωγο f την ανάδρομη έκφραση πεπερασμένων διαφορών 2 ης τάξης xxx

όπου Η μήτρα ή πίνακας του συστήματος

Μ Α Θ Η Μ Α Τ Α Γ Λ Υ Κ Ε Ι Ο Υ

Διαφορικές Εξισώσεις.

7. Αν υψώσουμε και τα δύο μέλη μιας εξίσωσης στον κύβο (και γενικά σε οποιαδήποτε περιττή δύναμη), τότε προκύπτει

ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

ΕΛΛΗΝΙΚΗ ΜΑΘΗΜΑΤΙΚΗ ΕΤΑΙΡΕΙΑ ΤΡΑΠΕΖΑ ΘΕΜΑΤΩΝ Γ ΛΥΚΕΙΟΥ 2010 ΕΛΛΗΝΙΚΗ ΜΑΘΗΜΑΤΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 2010

11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

Όταν η s n δεν συγκλίνει λέμε ότι η σειρά αποκλίνει.

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια συνάρτηση; ΣΥΝΑΡΤΗΣΕΙΣ. Δήλωση συνάρτησης sq. Παράδειγμα συνάρτησης: υπολογισμός τετραγώνου

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. 2x 1. είναι Τότε έχουμε: » τον χρησιμοποιούμε κυρίως σε θεωρητικές ασκήσεις.

APEIROSTIKOS LOGISMOS I

B = {x A : f(x) = 1}.

Επαναληπτικό Διαγώνισμα Άλγεβρας Β Λυκείου. Θέματα. A. Να διατυπώσετε τον ορισμό μιας γνησίως αύξουσας συνάρτησης. (5 μονάδες)

ΑΣΥΜΠΤΩΤΕΣ ΓΡΑΦΙΚΗΣ ΠΑΡΑΣΤΑΣΗΣ ΣΥΝΑΡΤΗΣΗΣ

Μηχανική ΙI. Μετασχηματισμοί Legendre. διπλανό σχήμα ότι η αντίστροφη συνάρτηση dg. λέγεται μετασχηματισμός Legendre της f (x)

Π Κ Τ Μ Ε Μ Λύσεις των ασκήσεων

Η διατήρηση μάζας σε ένα σύστημα τριών αντιδραστήρων περιγράφεται από το παρακάτω σύστημα συνήθων διαφορικών εξισώσεων:

Transcript:

Πανεπηστήμιο Αθηνών - Τμημα Φυσικής Εργασία για το μάθημα: Υπολογιστικές Μέθοδοι Φοιτητής: Άγγελος Λαμπίρης ΑΜ:200600099 Καθηγητής: Δημήτριος Φασουλιώτης Γεώργιος Παπαϊωάννου 1 Απριλίου 2011 L A TEX

Περιεχόμενα 1 Άσκηση 1 2 1.1 Μέθοδος διχοτόμησης............................. 4 1.1.1 Ρίζα -2.38315............................. 4 1.1.2 Ρίζα 0................................. 6 1.1.3 Ρίζα 0.181862............................. 8 1.1.4 Ρίζα 2.43651.............................. 9 1.1.5 Ρίζα 8.48488.............................. 11 1.2 Μέθοδος σταθερού σημείου.......................... 12 1.2.1 Ρίζα -2.38315............................. 24 1.2.2 Ρίζα 0................................. 25 1.2.3 Ρίζα 0.181862............................. 25 1.2.4 Ριζα 8.48488............................. 26 1.2.5 Ριζα 2,43651............................. 26 1.3 Μέθοδος Νεύτωνα............................... 28 1.3.1 Ρίζα -2.38315............................. 29 1.3.2 Ρίζα 0.181862............................. 29 1.3.3 Ρίζα 0................................. 30 1.3.4 Ριζα 2,43651............................. 30 1.3.5 Ριζα 8.48488............................. 30 1.4 Κριτήρια σύγκλισης.............................. 31 2 Άσκηση 2α 32 3 Άσκηση 2β 34 4 Άσκηση 3α 40 5 Άσκηση 3β 45 6 Άσκηση 4α 49 7 Άσκηση 4β 51 8 Άσκηση 5 54 8.0.1 Μέθοδος Euler........................... 54 8.0.2 Μέθοδος Runge-Kutta 4 ης τάξης.................. 57 8.0.3 Συγκριση των μεθόδων........................ 57 1

Κεφάλαιο 1 Άσκηση 1 Μας δίνετε η εξίσωση f(x) = e x x 4 + 5x 2 2x 1 όπου βλέπουμε την συμπεριφορά της στα Σχήματα 1,2 & 3. Οι ρίζες είναι συνολικά 5 και βρίσκονται στα σημεία: 1. x 2.38315 2. x = 0 3. x 0.181862 4. x 2.43651 5. x 8.48488 2

Σχήμα 1.1: Η πρώτη οπτική αναγνώριση στο μεγάλο εύρος χ, μας δείχνει τουλάχιστον 2 ρίζες καθώς και μια περιοχή πιθανών ριζών Σχήμα 1.2: Η δεύτερη οπτική αναγνώριση στο μικρό εύρος χ, μας αποκαλύπτει το ενδεχώμενο και άλλων ριζών 3

Σχήμα 1.3: Η τρίτη οπτική αναγνώριση στο μικρότερο εύρος χ, μας αποκαλύπτει ακόμα 2 ριζες ριζών 1.1 Μέθοδος διχοτόμησης Θα δουλέψουμε με ακρίβεια 4 σημαντικών ψηφίων με την μέθοδο διχοτόμησης για να βρούμε όλες τις ρίζες της f(x). Για να καθορίσουμε τον αριθμό των επαναλήψεων που απαιτούνται για να επιλυσουμε την f(x) = e x x 4 + 5x 2 1 = 0 με ακρίβεια 10 4 για τα διαστήματα των διάφορων ριζών γυρω που περιέχονται στα εκάστοτε [a, b] θα εφαρμόσουμε την σχέση p N p 2 N a b < 10 4. Στην μέθοδο διχωτόμησης θα πρέπει να εργαστούμε σε κάθε ρίζα ξεχωριστά για να τις εντοπίσουμε όλες, γιατί δεν μπορεί η μεθοδος να εντοπίσει παραπάνω απο μια ρίζα σε κάθε δεδομένο διάστημα. 1.1.1 Ρίζα -2.38315 Η συνάρτηση f(x) μας δίνει στο διάστημα [a, b] = [ 3, 2] τιμές f( 3) 30.950 & f( 2) 7.135 ικανοποιώντας έτσι την συνθήκη f(a)f(b) = f( 3)f( 2) < 0 που μας επιτρέπει να χρησιμοποιήσουμε την μεθοδο διχοτόμησης. Βρίσκουμε το μέγιστο αριθμό επαναλύψεων για ακρίβεια τεσσαρων σημαντικών ψηφίων: 2 N a b = 2 N 1 < 10 4 log 10 2 N < log 10 10 4 (1.1.1.1) Nlog 10 2 < 4 N > 4 log 10 2 13.287 (1.1.1.2) Ετσι 14 επάναλήψεις θα εξασφαλήσουν την ακρίβεια τεσσάρων σημαντικών ψηφίων. Βέβαια το όριο αυτό είναι ένα άνω πέρας του αριθμού επαναλήψεων, αλλά η επιθημητή ακρίβεια μπορεί να έχει επιτευχθεί σε λιγότερα βήματα. Επειδή εφαρμόζουμε την μέθοδό αυτή σε υπολογιστή, θα πρέπει να συμπεριλάβουμε τα πιθανά προβλήματα που θα προκύψουν απο το σφάλμα στρογγύλευσης. Δηλαδή θα χρησιμοποιούμε την σχέση p n = a n + bn an 2 4

αντί για την p n = an+bn. Τέλος θα χρησιμοποιήσουμε την συνάρτηση προσήμου για να 2 αποφύγουμε φαινόμενα overflow & underflow : 1 if x < 0 sgn(x) = 0 if x = 0 (1.1.1.3) 1 ifx > 0 Ετσι σε φορτραν χρησιμοποιούμε την μέθοδο της διχοτόμησης με τις παραμέρους που περιγράψαμε παραπάνω για να εντοπίσουμε την ρίζα στο [-3,-2]: 1 PROGRAM b i s c e c t i o n 1 2 INTEGER,PARAMETER: : N0=14! Edw dhlenoume ton megisto ari8mo epanalipsewn 3 REAL: : func, x, a, b, t o l, e1, e2, p, FP,w 4 OPEN(UNIT=20,FILE= b i s c e c t i o n 1,STATUS= OLD ) 5 a= 3.0! Edw dhlwnoume t i s m e t a v l i t e s k a i t i s parametroys toy p r o b l i m a t o s 6 b= 2.0 7 t o l= 0.0001 8 w=1.0 9 outer : DO i =1,N0 10 p=a+(b a ) /2! compute p 11 FP=func ( p ) 12 e1=abs( ( b a ) /2)! Stopping procedure 13 e2= func ( a ) 14 IF ( (FP.EQ. 0 ).OR. ( e1.lt. t o l ) ) THEN k r i t h r i o s h g k l i s h s 15 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 16 k=1 17 EXIT outer 18 ELSE IF( s i g n (w, e2 ) s i g n (w,fp).gt. 0 ) THEN! a l l a g h diasthmatos 19 a=p 20 ELSE 21 b=p 22 END IF 23 END DO outer 24 IF( k.ne. 1 ) THEN 25 PRINT, The method was u n s u c c e s s f u l l a f t e r,n0, s t e p s. 26 END IF 27 CLOSE(UNIT=20,STATUS= KEEP )! apothikeuoume to a r x e i o me ton pinaka 28 END 29 FUNCTION func ( x )! orizoume t i n s i n a r t i s i mas 30 f u n c=exp ( x ) x 4+5 x 2 2 x 1 31 RETURN 32 END Το αποτέλεσμα που πέρνουμε απο τον κώδικά μας είναι p 14 = 2.3831177. Αφαιρόντας την τιμή του β απο το α, βλέπουμε ότι b 14 a 14 = 1.22 10 4 ακρίβεια δηλαδή τουλάχιστον τεσσάρων σημαντικών ψηφίων. Επειδή a 14 < p, μπορούμε να γραψουμε: p p 13 p < b 14 a 14 a 14 5.122 10 5 (1.1.1.4) Ο πίνακας 1.1 μας δίνει την πορεία συγκλισης των τιμών στην ρίζα. 5

ν a n b n p n f(p n ) a n bn 1-3 -2-2.5-3.73042 1 2-2.5-2 -2.25 3.288993 0.5 3-2.5-2.25-2.375 0.229489 0.25 4-2.5-2.375-2.4375-1.6309 0.125 5-2.4375-2.375-2.40625-0.6717 0.0625 6-2.40625-2.375-2.390625-0.21397 0.03125 7-2.390625-2.375-2.3828125 0.009532 0.015625 8-2.390625-2.3828125-2.3867188-0.10177 0.007813 9-2.3867188-2.3828125-2.3847656-0.04601 0.003906 10-2.3847656-2.3828125-2.38Ε+00-1.82Ε-02 0.001953 11-2.3837891-2.38Ε+00-2.38Ε+00-4.33Ε-03 0.000977 12-2.38Ε+00-2.38Ε+00-2.38Ε+00 2.60Ε-03 0.000488 13-2.3833008-2.3830566-2.3831787-0.00087 0.000244 14-2.3831787-2.3830566-2.3831177 0.000868 0.000122 Πίνακας 1.1: Εξέλιξη της σύγκλισης για την ρίζα x=-2.38315 1.1.2 Ρίζα 0 Η συνάρτηση f(x) μας δίνει στο διάστημα [a, b] = [ 0.1, 0.1] τιμές f( 0.1) 0.15 & f(0.1) 4.49 ικανοποιώντας έτσι την συνθήκη f(a)f(b) = f( 0.1)f(0.1) < 0 που μας επιτρέπει να χρησιμοποιήσουμε την μεθοδο διχοτόμησης. Οστόσο επειδή το διάστημα είναι συμμετρικό στην ρίζα την βρίσκει αμέσως με απειρη ακρίβεια. Θα τροποποιήσουμε τα άκρα για να μην είναι συμμετρικά για να επαλυθεύσουμε σε πόσα βήματα παίρνουμε την θεωρητική ακρίβεια. Ετσι επιλέγουμε τα [a, b] = [ 0.2, 0.1] που επίσης ικανοποιούν τις συνθήκες μας. Βρίσκουμε το μέγιστο αριθμό επαναλύψεων για ακρίβεια τεσσαρων σημαντικών ψηφίων: 2 N a b = 2 N 0, 3 < 10 4 Nlog 10 2 + log 10 3 10 Nlog 10 2 + log 10 3 < 3 N > 3 + log 103 log 10 2 < 4 (1.1.2.1) 11.55 (1.1.2.2) Ετσι 12 επάναλήψεις θα εξασφαλήσουν την ακρίβεια τεσσάρων σημαντικών ψηφίων. Το πρόγραμμά μας λοιπόν είναι: 1 PROGRAM b i s c e c t i o n 2 2 INTEGER,PARAMETER: : N0=12! Edw dhlenoume ton megisto ari8mo epanalipsewn 3 REAL: : func, x, a, b, t o l, e1, e2, p, FP,w, sd 4 OPEN(UNIT=20,FILE= b i s c e c t i o n 2,STATUS= OLD ) 5 a= 0.2! Edw dhlwnoume t i s m e t a v l i t e s k a i t i s parametroys toy p r o b l i m a t o s 6 b=0.1 7 t o l= 0.0001 8 w=1.0 9 outer : DO i =1,N0 10 p=a+(b a ) /2! compute p 11 WRITE( 2 0, ) i,, a,,b,,p,, func ( p ),,ABS( a b ) 12 FP=func ( p ) 13 e1=abs( ( b a ) /2)! Stopping procedure 6

14 e2= func ( a ) 15 IF ( (FP.EQ. 0 ).OR. ( e1.lt. t o l ) ) THEN! k r i t h r i o s h g k l i s h s 16 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 17 k=1 18 EXIT outer 19 ELSE IF( s i g n (w, e2 ) s i g n (w,fp).gt. 0 ) THEN! a l l a g h diasthmatos 20 a=p 21 ELSE 22 b=p 23 END IF 24 END DO outer 25 IF( k.ne. 1 ) THEN 26 PRINT, The method was u n s u c c e s s f u l l a f t e r,n0, s t e p s. 27 END IF 28 CLOSE(UNIT=20,STATUS= KEEP )! apothikeuoume to a r x e i o me ton pinaka 29 END 30 FUNCTION func ( x )! orizoume t i n s i n a r t i s i mas 31 f u n c=exp ( x ) x 4+5 x 2 2 x 1 32 RETURN 33 END Το αποτέλεσμα που πέρνουμε απο τον κώδικά μας είναι p 12 = 2.441 10 5. Αφαιρόντας την τιμή του β απο το α, βλέπουμε ότι b 12 a 12 = 1.46 10 4 ακρίβεια δηλαδή τουλάχιστον τεσσάρων σημαντικών ψηφίων. Επειδή a 12 < p, μπορούμε να γραψουμε: b 12 a 12 a 12 3 (1.1.2.3) Παρατηρουμε οτι το σχετικό σφάλμα είναι 3. Αρα δε θα μπορούσαμε να βαλουμε αυτή την συνθήκη για κριτήριο σύγκλισης. Αυτο συμβαίνει γιατι κινούμαστε σε περιοχή πολύ κοντα στο μηδεν. Ο πίνακάς 1.2 δείχνει το πως συγκλίνουν οι τιμές στην ρίζα. n a n b n p n f(p n ) a n bn 1-0.2 0.1-0.05 0.063723 0.3 2-0.05 0.1 0.025-0.02156 0.15 3-0.05 0.025-0.0125 0.013359 0.075 4-0.0125 0.025 0.00625-0.00604 0.0375 5-0.0125 0.00625-0.00313 0.003179 0.01875 6-0.00313 0.00625 0.001563-0.00155 0.009375 7-0.00313 0.001563-0.00078 0.000785 0.004688 8-0.00078 0.001563 0.000391-0.00039 0.002344 9-0.00078 0.000391-0.0002 0.000196 0.001172 10-0.0002 0.000391 9.77E-05-9.76E-05 0.000586 11-0.0002 9.77E-05-4.88E-05 4.89E-05 0.000293 12-4.88E-05 9.77E-05 2.44E-05-2.44E-05 0.000146 Πίνακας 1.2: Εξέλιξη της σύγκλισης για την ρίζα x=0 7

1.1.3 Ρίζα 0.181862 Η συνάρτηση f(x) μας δίνει στο διάστημα [a, b] = [0.1, 0.2] τιμές f(0.1) 4.49 & f(0.2) 1.98 ικανοποιώντας έτσι την συνθήκη f(a)f(b) = f(0.1)f(0.2) < 0 που μας επιτρέπει να χρησιμοποιήσουμε την μεθοδο διχοτόμησης. Βρίσκουμε το μέγιστο αριθμό επαναλύψεων για ακρίβεια τεσσαρων σημαντικών ψηφίων: 2 N a b = 2 N 0, 1 < 10 4 Nlog 10 2 + log 10 1 10 < 4 (1.1.3.1) Nlog 10 2 < 3 N > 3 9.965 (1.1.3.2) log 10 2 Ετσι 10 επάναλήψεις θα εξασφαλήσουν την ακρίβεια τεσσάρων σημαντικών ψηφίων. Το πρόγραμμά μας λοιπόν είναι: 1 PROGRAM b i s c e c t i o n 3 2 INTEGER,PARAMETER: : N0=10! Edw dhlenoume ton megisto ari8mo epanalipsewn 3 REAL: : func, x, a, b, t o l, e1, e2, p, FP,w, sd 4 OPEN(UNIT=20,FILE= b i s c e c t i o n 3,STATUS= OLD ) 5 a=0.1! Edw dhlwnoume t i s m e t a v l i t e s k a i t i s parametroys toy p r o b l i m a t o s 6 b=0.2 7 t o l= 0.0001 8 w=1.0 9 outer : DO i =1,N0 10 p=a+(b a ) /2! compute p 11 WRITE( 2 0, ) i,, a,,b,,p,, func ( p ),,ABS( a b ) 12 FP=func ( p ) 13 e1=abs( ( b a ) /2)! Stopping procedure 14 e2= func ( a ) 15 IF ( (FP.EQ. 0 ).OR. ( e1.lt. t o l ) ) THEN! k r i t h r i o s h g k l i s h s 16 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 17 k=1 18 EXIT outer 19 ELSE IF( s i g n (w, e2 ) s i g n (w,fp).gt. 0 ) THEN! a l l a g h diasthmatos 20 a=p 21 ELSE 22 b=p 23 END IF 24 END DO outer 25 IF( k.ne. 1 ) THEN 26 PRINT, The method was u n s u c c e s s f u l l a f t e r,n0, s t e p s. 27 END IF 28 CLOSE(UNIT=20,STATUS= KEEP )! apothikeuoume to a r x e i o me ton pinaka 29 END 30 FUNCTION func ( x )! orizoume t i n s i n a r t i s i mas 31 f u n c=exp ( x ) x 4+5 x 2 2 x 1 32 RETURN 33 END Το αποτέλεσμα που πέρνουμε απο τον κώδικά μας είναι p N = 0.18193361. Αφαιρόντας την τιμή του β απο το α, βλέπουμε ότι b N a N = 1.95 10 4 ακρίβεια δηλαδή τουλάχιστον τεσσάρων σημαντικών ψηφίων. Επειδή a N < p, μπορούμε να γραψουμε: b N a N a N 1.074 10 3 (1.1.3.3) 8

Παρατηρουμε οτι το σχετικό σφάλμα είναι μια τάξη μεγεθους μεγαλύτερο απο το απόλυτο σφάλμα. Αρα δε θα μπορούσαμε να βαλουμε αυτή την συνθήκη για κριτήριο σύγκλισης. Αυτο συμβαίνει γιατι κινούμαστε σε περιοχή πολύ κοντα στο μηδεν. Ο πίνακάς 1.3 δείχνει το πως συγκλίνουν οι τιμές στην ρίζα. n a n b n p n f(p n ) a n bn 1 0.10000000 0.20000000 0.15000001-2.61720177E-02 0.10000000 2 0.15000001 0.20000000 0.17500001-6.56662183E-03 4.99999970E-02 3 0.17500001 0.20000000 0.18750000 5.77557087E-03 2.49999911E-02 4 0.17500001 0.18750000 0.18125001-6.06556714E-04 1.24999881E-02 5 0.18125001 0.18750000 0.18437500 2.53182859E-03 6.24999404E-03 6 0.18125001 0.18437500 0.18281251 9.49419918E-04 3.12499702E-03 7 0.18125001 0.18281251 0.18203126 1.68149883E-04 1.56250596E-03 8 0.18125001 0.18203126 0.18164063-2.20119269E-04 7.81252980E-04 9 0.18164063 0.18203126 0.18183595-2.61095538E-05 3.90633941E-04 10 0.18183595 0.18203126 0.18193361 7.09008091E-05 1.95309520E-04 Πίνακας 1.3: Εξέλιξη της σύγκλισης για την ρίζα x=0.181862 1.1.4 Ρίζα 2.43651 Η συνάρτηση f(x) μας δίνει στο διάστημα [a, b] = [2, 3] τιμές f(2) 6.38 & f(3) 22.91 ικανοποιώντας έτσι την συνθήκη f(a)f(b) = f(2)f(3) < 0 που μας επιτρέπει να χρησιμοποιήσουμε την μεθοδο διχοτόμησης. Βρίσκουμε το μέγιστο αριθμό επαναλύψεων για ακρίβεια τεσσαρων σημαντικών ψηφίων: 2 N a b = 2 N 1 < 10 4 log 10 2 N < log 10 10 4 (1.1.4.1) Nlog 10 2 < 4 N > 4 log 10 2 13.287 (1.1.4.2) Ετσι 14 επάναλήψεις θα εξασφαλήσουν την ακρίβεια τεσσάρων σημαντικών ψηφίων. Το πρόγραμμά μας λοιπόν είναι: 1 PROGRAM b i s c e c t i o n 4 2 INTEGER,PARAMETER: : N0=14! Edw dhlenoume ton megisto ari8mo epanalipsewn 3 REAL: : func, x, a, b, t o l, e1, e2, p, FP,w, sd 4 OPEN(UNIT=20,FILE= b i s c e c t i o n 4,STATUS= NEW ) 5 a=2! Edw dhlwnoume t i s m e t a v l i t e s k a i t i s parametroys toy p r o b l i m a t o s 6 b=3 7 t o l= 0.0001 8 w=1.0 9 outer : DO i =1,N0 10 p=a+(b a ) /2! compute p 11 WRITE( 2 0, ) i, &, a, &,b, &,p, &, func ( p ), &,ABS( a b ), \\ 12 FP=func ( p ) 13 e1=abs( ( b a ) /2)! Stopping procedure 14 e2= func ( a ) 9

15 IF ( (FP.EQ. 0 ).OR. ( e1.lt. t o l ) ) THEN! k r i t h r i o s h g k l i s h s 16 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 17 k=1 18 EXIT outer 19 ELSE IF( s i g n (w, e2 ) s i g n (w,fp).gt. 0 ) THEN! a l l a g h diasthmatos 20 a=p 21 ELSE 22 b=p 23 END IF 24 END DO outer 25 IF( k.ne. 1 ) THEN 26 PRINT, The method was u n s u c c e s s f u l l a f t e r,n0, s t e p s. 27 END IF 28 CLOSE(UNIT=20,STATUS= KEEP )! apothikeuoume to a r x e i o me ton pinaka 29 PRINT, an bn=,abs( a b ) 30 sd=abs(b a ) /ABS( a ) 31 PRINT, sd=, sd 32 END 33 FUNCTION func ( x )! orizoume t i n s i n a r t i s i mas 34 f u n c=exp ( x ) x 4+5 x 2 2 x 1 35 RETURN 36 END Το αποτέλεσμα που πέρνουμε απο τον κώδικά μας είναι p N = 2.4364624. Αφαιρόντας την τιμή του β απο το α, βλέπουμε ότι b N a N = 1.22 10 4 ακρίβεια δηλαδή τουλάχιστον τεσσάρων σημαντικών ψηφίων. Επειδή a N < p, μπορούμε να γραψουμε: b N a N a N 5.01 10 5 (1.1.4.3) Ο πίνακάς 1.4 δείχνει το πως συγκλίνουν οι τιμές στην ρίζα. n a n b n p n f(p n ) a n bn 1 2.0000000 3.0000000 2.5000000-1.6300058 1.0000000 2 2.0000000 2.5000000 2.2500000 3.6713295 0.50000000 3 2.2500000 2.5000000 2.3750000 1.3874874 0.25000000 4 2.3750000 2.5000000 2.4375000-2.38828659E-02 0.12500000 5 2.3750000 2.4375000 2.4062500 0.70543003 6.25000000E-02 6 2.4062500 2.4375000 2.4218750 0.34676927 3.12500000E-02 7 2.4218750 2.4375000 2.4296875 0.16295373 1.56250000E-02 8 2.4296875 2.4375000 2.4335938 6.99140877E-02 7.81250000E-03 9 2.4335938 2.4375000 2.4355469 2.31108498E-02 3.90625000E-03 10 2.4355469 2.4375000 2.4365234-3.62051884E-04 1.95312500E-03 11 2.4355469 2.4365234 2.4360352 1.13785965E-02 9.76562500E-04 12 2.4360352 2.4365234 2.4362793 5.50991809E-03 4.88281250E-04 13 2.4362793 2.4365234 2.4364014 2.57517910E-03 2.44140625E-04 14 2.4364014 2.4365234 2.4364624 1.10550423E-03 1.22070313E-04 Πίνακας 1.4: Εξέλιξη της σύγκλισης για την ρίζα x= 2.43651 10

1.1.5 Ρίζα 8.48488 Η συνάρτηση f(x) μας δίνει στο διάστημα [a, b] = [8, 9] τιμές f(8) 812 & f(9) 1928 ικανοποιώντας έτσι την συνθήκη f(a)f(b) = f(8)f(9) < 0 που μας επιτρέπει να χρησιμοποιήσουμε την μεθοδο διχοτόμησης. Βρίσκουμε το μέγιστο αριθμό επαναλύψεων για ακρίβεια τεσσαρων σημαντικών ψηφίων: 2 N a b = 2 N 1 < 10 4 log 10 2 N < log 10 10 4 (1.1.5.1) Nlog 10 2 < 4 N > 4 log 10 2 13.287 (1.1.5.2) Ετσι 14 επάναλήψεις θα εξασφαλήσουν την ακρίβεια τεσσάρων σημαντικών ψηφίων. Το πρόγραμμά μας λοιπόν είναι: 1 PROGRAM b i s c e c t i o n 5 2 INTEGER,PARAMETER: : N0=14! Edw dhlenoume ton megisto ari8mo epanalipsewn 3 REAL: : func, x, a, b, t o l, e1, e2, p, FP,w, sd 4 OPEN(UNIT=20,FILE= b i s c e c t i o n 5,STATUS= NEW ) 5 a=8! Edw dhlwnoume t i s m e t a v l i t e s k a i t i s parametroys toy p r o b l i m a t o s 6 b=9 7 t o l= 0.0001 8 w=1.0 9 outer : DO i =1,N0 10 p=a+(b a ) /2! compute p 11 WRITE( 2 0, ) i, &, a, &,b, &,p, &, func ( p ), &,ABS( a b ), \\ 12 FP=func ( p ) 13 e1=abs( ( b a ) /2)! Stopping procedure 14 e2= func ( a ) 15 IF ( (FP.EQ. 0 ).OR. ( e1.lt. t o l ) ) THEN! k r i t h r i o s h g k l i s h s 16 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 17 k=1 18 EXIT outer 19 ELSE IF( s i g n (w, e2 ) s i g n (w,fp).gt. 0 ) THEN! a l l a g h diasthmatos 20 a=p 21 ELSE 22 b=p 23 END IF 24 END DO outer 25 IF( k.ne. 1 ) THEN 26 PRINT, The method was u n s u c c e s s f u l l a f t e r,n0, s t e p s. 27 END IF 28 CLOSE(UNIT=20,STATUS= KEEP )! apothikeuoume to a r x e i o me ton pinaka 29 PRINT, an bn=,abs( a b ) 30 sd=abs(b a ) /ABS( a ) 31 PRINT, sd=, sd 32 END 33 FUNCTION func ( x )! orizoume t i n s i n a r t i s i mas 34 f u n c=exp ( x ) x 4+5 x 2 2 x 1 35 RETURN 36 END Το αποτέλεσμα που πέρνουμε απο τον κώδικά μας είναι p N = 8.4849243. Αφαιρόντας την τιμή του β απο το α, βλέπουμε ότι b N a N = 1.22 10 4 ακρίβεια δηλαδή τουλάχιστον 11

τεσσάρων σημαντικών ψηφίων. Επειδή a N < p, μπορούμε να γραψουμε: b N a N a N 1.438 10 5 (1.1.5.3) Παρατηρούμε ότι καθώς η απόλυτη τιμή της ρίζας αυξάνετε, το κριτηριο του σχετικού σφάλματος γίνετε καταληλότερο για κριτηριο συγκλισης. Ο πίνακάς 1.5 δείχνει το πως συγκλίνουν οι τιμές στην ρίζα. n a n b n p n f(p n ) a n bn 1 8.0000000 9.0000000 8.5000000 37.956543 1.0000000 2 8.0000000 8.5000000 8.2500000-482.06567 0.50000000 3 8.2500000 8.5000000 8.3750000-249.48608 0.25000000 4 8.3750000 8.5000000 8.4375000-113.13625 0.12500000 5 8.4375000 8.5000000 8.4687500-39.500916 6.25000000E-02 6 8.4687500 8.5000000 8.4843750-1.2587814 3.12500000E-02 7 8.4843750 8.5000000 8.4921875 18.226303 1.56250000E-02 8 8.4843750 8.4921875 8.4882813 8.4534159 7.81250000E-03 9 8.4843750 8.4882813 8.4863281 3.5898943 3.90625000E-03 10 8.4843750 8.4863281 8.4853516 1.1635270 1.95312500E-03 11 8.4843750 8.4853516 8.4848633-4.80125286E-02 9.76562500E-04 12 8.4848633 8.4853516 8.4851074 0.55778301 4.88281250E-04 13 8.4848633 8.4851074 8.4849854 0.25466660 2.44140625E-04 14 8.4848633 8.4849854 8.4849243 0.10332865 1.22070313E-04 Πίνακας 1.5: Εξέλιξη της σύγκλισης για την ρίζα x= 8.48488 1.2 Μέθοδος σταθερού σημείου Ξεκινάμε με το να παρουσιάσουμε κάποιες ενδικτικές εξισώσεις g(x) = x. Ετσι έχουμε με μερικές αλγεβρικές μετατροπές τις: g 1 (x) = x ex x 4 +5x 2 2x 1 e x 4x 3 +10x 2 g 2 (x) = x e x + x 4 5x 2 + 2x + 1 g 3 (x) = 1 2 (ex x 4 + 5x 2 1) g 4 (x) = 1 (x 3 + 2 + 1 ) ex 5 x x g 5 (x) = ( e x + 5 2 ) 1 1 x 2 x x 2 2 Οι αντίστοιχες παράγωγοι πρώτης τάξης είναι: g 1(x) = ( 12x2 +e x +10)( x 4 +5x 2 2x+e x 1) ( 4x 3 +10x+e x 2) 2 g 2(x) = 4x 3 10x e x + 3 12

Σχήμα 1.4: Η g 1 (x) = xσε μια πρώτη ματία φαίνετε να απεικονίζει το πεδίο ορισμού στο πεδίο τιμών της τοπικά γύρω απο τις ρίζες g 3(x) = 1 2 ( 4x3 + 10x + e x ) g 4(x) = 1 5 (3x 2 + ex x 2 1 x 2 ex x g 5(x) = 2 x3 2ex x 3 + 2 x 2 + ex x 2 2 5 1 x 2 + ex x 2 2 x ) Για να εξετάσουμε κάθε μία για δυνατότητα σύγκλισης θα χρησιμοποιήσουμε το παρακάτω θεώρημα. Θεώρημα 1. Εστω g C[a, b] και g(x) [a, b]. Επιπλέον έστω η g υπαρχει στο (a, b) με g (x) k 1 x (a, b) (1.2.0.4) Αν p 0 είναι τυχαίος αριθμός στο [a, b], τότε η ακολουθία που ορίζεται ως: Θα συγκλίνει στο μοναδικό σταθερό σημείο p στο [a, b]. p n = g(p n 1 ), n 1, (1.2.0.5) Εξέταση της g 1 (x): Οι γραφικές της g 1 (x) και της πρώτης παράγωγου της g 1(x) μας δίνουν μια εικώνα για την συμπεριφορά της συνάρτησης γύρω απο τις ρίζες. Σύμφωνα με την συμπεριφορά που φαίνετε στα Σχήματα 1,4 και 1,5 το θεώρημα 1 μας διαβαιβεώνει ότι θα υπάρχει σύγκλιση. Ποιο προσεκτικά για την κάθε ρίζα ξεχωριστά έχουμε: Για την ρίζα x 2.38315 έχουμε g 1 ( 2.4) 2.38343 & g 1 ( 2.3) 2.39114 Άρα απεικονίζει τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 1(x) g 1( 2.3) 0.204678 σε αυτό το διάστημα. Άρα περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x = 0 έχουμε g 1 ( 0, 1) 0.0260041 & g 1 (0, 03) 0.00740185 Άρα απεικονίζει τον εαυτό της στο διάστημα αυτό με κάποια ανεκτή ακρίβεια. Επιπλέον η g 1(x) g 1(0, 03) 0.615476 σε αυτό το διάστημα. Άρα περιμένουμε συγκλιση σε αυτη την ρίζα. 13

Σχήμα 1.5: Η g 1(x) ικανοποιεί ολοφάνερα την απαίτηση να είναι μικρότερη του 1 στα διαστήματα γύρω απο τις ρίζες Για την ρίζα x 0.181862 έχουμε g 1 (0, 15) 0.190368 & g 1 (0, 2) 0.183351 Άρα απεικονίζει τον εαυτό της στο διάστημα αυτό με κάποια ανεκτή ακρίβεια. Επιπλέον η g 1(x) g 1(0, 15) 0.678172 σε αυτό το διάστημα. Άρα περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x 2.43651 έχουμε g 1 (2.2) 2.52427 & g 1 (2.5) 2.44033 Άρα απεικονίζει τον εαυτό της στο διάστημα αυτό με κάποια ανεκτή ακρίβεια. Επιπλέον η g 1(x) g 1(2.2) 0.933479 σε αυτό το διάστημα. Άρα περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x 8.48488 έχουμε g 1 (8.3) 8.51737 & g 1 (8.5) 8.48506 Άρα απεικονίζει τον εαυτό της στο διάστημα αυτό με κάποια ανεκτή ακρίβεια. Επιπλέον η g 1(x) g 1(8.3) 0.383519 σε αυτό το διάστημα. Άρα περιμένουμε συγκλιση σε αυτη την ρίζα. Εξέταση της g 2 (x): Οι γραφικές της g 2 (x) και της πρώτης παράγωγου της g 2(x) μας δίνουν μια εικώνα για την συμπεριφορά της συνάρτησης γύρω απο τις ρίζες. Σύμφωνα με την συμπεριφορά που φαίνετε στα Σχήματα 1,6 και 1,7 παρότι το θεώρημα 1 δε μας διαβαιβεώνει ότι η μέθοδος θα αποτύχει, δεν υπάρχει λόγος για να αναμένουμε σύγκλιση. Ποιο προσεκτικά για την κάθε ρίζα ξεχωριστά έχουμε: Για την ρίζα x 2.38315 έχουμε g 2 ( 2.4) 1.91312 & g 2 ( 2.3) 4.46616 Άρα δεν απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 2(x) g 2( 2.4) 28.3867 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα. 14

Σχήμα 1.6: Η g 2 (x) = xσε μια πρώτη ματία φαίνετε να απεικονίζει το πεδίο ορισμού στο πεδίο τιμών της τοπικά γύρω απο κάποιες ρίζες Σχήμα 1.7: Η g 2(x) δεν ικανοποιεί την απαίτηση να είναι μικρότερη του 1 στα διαστήματα γύρω απο όλες τις ρίζες.μόνο στην ρίζα x 0.183351 υπάρχει η θεωρητική ευνοια για συγκλιση. 15

Σχήμα 1.8: Η g 3 (x) = xσε μια πρώτη ματία φαίνετε να απεικονίζει το πεδίο ορισμού στο πεδίο τιμών της τοπικά γύρω απο κάποιες ρίζες Για την ρίζα x = 0 έχουμε g 2 ( 0, 1) 0.254737 & g 2 (0, 03) 0.0550463 Άρα δεν απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 2(x) g 2( 0, 1) 3.09116 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα Για την ρίζα x 0.181862 έχουμε g 2 (0, 15) 0.176172 & g 2 (0, 2) 0.180197 Άρα απεικονίζει τον εαυτό της στο διάστημα αυτό με κάποια ανεκτή ακρίβεια. Επιπλέον η g 2(x) g 2(0, 15) 0.351666 σε αυτό το διάστημα. Άρα περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x 2.43651 έχουμε g 2 (2.2) 2.19941 & g 2 (2.5) 4.13001 Άρα δεν απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 2(x) g 2(2.5) 28.3175 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x 8.48488 έχουμε g 2 (8.3) 403.41 & g 2 (8.5) 29.4563 Άρα δεν απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 2(x) g 2(8.3) 2540.27 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα. Εξέταση της g 3 (x): Οι γραφικές της g 3 (x) και της πρώτης παράγωγου της g 3(x) μας δίνουν μια εικώνα για την συμπεριφορά της συνάρτησης γύρω απο τις ρίζες. Σύμφωνα με την συμπεριφορά που φαίνετε στα Σχήματα 1,8 και 1,9 παρότι το θεώρημα 1 δε μας διαβαιβεώνει ότι η μέθοδος θα αποτύχει, δεν υπάρχει λόγος για να αναμένουμε σύγκλιση σε όλες τις ρίζες. Ποιο προσεκτικά για την κάθε ρίζα ξεχωριστά έχουμε: Για την ρίζα x 2.38315 έχουμε g 3 ( 2.4) 2.64344 & g 3 ( 2.3) 1.21692 Άρα δεν απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 3(x) g 3( 2.4) 15.6934 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα. 16

Σχήμα 1.9: Η g 3(x) δεν ικανοποιεί την απαίτηση να είναι μικρότερη του 1 στα διαστήματα γύρω απο τις όλες τις ρίζες.μόνο στην ρίζα x = 0 υπάρχει η θεωρητική ευνοια για συγκλιση. Για την ρίζα x = 0 έχουμε g 3 ( 0, 1) 0.0226313 & g 3 (0, 03) 0.0174769 Άρα απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 3(x) g 3(0, 03) 0.665173 σε αυτό το διάστημα. Άρα θεωρητικά περιμένουμε συγκλιση σε αυτη την ρίζα Για την ρίζα x 0.181862 έχουμε g 3 (0, 15) 0.136914 & g 3 (0, 2) 0.209901 Άρα απεικονίζει τον εαυτό της στο διάστημα αυτό με κάποια ανεκτή ακρίβεια. Επιπλέον η g 3(x) g 3(0, 2) 1.5947 σε αυτό το διάστημα. Άρα δεν περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x 2.43651 έχουμε g 3 (2.2) 4.399711 & g 3 (2.5) 1.685 Άρα δεν απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 3(x) g 3(2.5) 12.6588 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x 8.48488 έχουμε g 3 (8.3) 189.255 & g 3 (8.5) 27.4782 Άρα δεν απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 3(x) g 3(8.3) 1271.63 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα. Εξέταση της g 4 (x): Οι γραφικές της g 4 (x) και της πρώτης παράγωγου της g 4(x) μας δίνουν μια εικώνα για την συμπεριφορά της συνάρτησης γύρω απο τις ρίζες. Σύμφωνα με την συμπεριφορά που φαίνετε στα Σχήματα 1,10 και 1,11 παρότι το θεώρημα 1 δε μας διαβαιβεώνει ότι η μέθοδος θα αποτύχει, δεν υπάρχει λόγος για να αναμένουμε σύγκλιση σε όλες τις ρίζες. Ποιο προσεκτικά για την κάθε ρίζα ξεχωριστά έχουμε: 17

Σχήμα 1.10: Η g 4 (x) = xσε μια πρώτη ματία φαίνετε να απεικονίζει το πεδίο ορισμού στο πεδίο τιμών της τοπικά γύρω απο κάποιες ρίζες Σχήμα 1.11: Η g 4(x) δεν ικανοποιεί την απαίτηση να είναι μικρότερη του 1 στα διαστήματα γύρω απο τις όλες τις ρίζες.μόνο στις ρίζες x = 0 & x 0.181862 υπάρχει η θεωρητική ευνοια για συγκλιση. 18

Σχήμα 1.12: Η g 5 (x) = xσε μια πρώτη ματία φαίνετε να απεικονίζει το πεδίο ορισμού στο πεδίο τιμών της τοπικά γύρω απο τις θετικές ρίζες Για την ρίζα x 2.38315 έχουμε g 4 ( 2.4) 2.44057 & g 4 ( 2.3) 2.11164 Άρα απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 4(x) g 4( 2.4) 3.1487 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x = 0 έχουμε g 4 ( 0, 1) 0.20947 & g 4 (0, 03) 0.196975 Άρα α- πεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 4(x) g 4(0, 1) 0.0875768 σε αυτό το διάστημα. Άρα θεωρητικά περιμένουμε συγκλιση σε αυτη την ρίζα Για την ρίζα x 0.181862 έχουμε g 4 (0, 15) 0.184896 & g 4 (0, 2) 0.180197 Άρα απεικονίζει τον εαυτό της στο διάστημα αυτό με κάποια ανεκτή ακρίβεια. Επιπλέον η g 4(x) g 4(0, 2) 0.09038 σε αυτό το διάστημα. Άρα περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x 2.43651 έχουμε g 4 (2.2) 1.80005 & g 4 (2.5) 2.6304 Άρα δεν απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 4(x) g 4(2.5) 3.13324 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x 8.48488 έχουμε g 4 (8.3) 17.820 & g 4 (8.5) 7.60691 Άρα δεν απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 4(x) g 4(8.3) 58.6895 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα. Εξέταση της g 5 (x): Οι γραφικές της g 5 (x) και της πρώτης παράγωγου της g 5(x) μας δίνουν μια εικώνα για την συμπεριφορά της συνάρτησης γύρω απο τις ρίζες. Σύμφωνα με την συμπεριφορά που φαίνετε στα Σχήματα 1,12 και 1,13 παρότι το θεώρημα 1 δε μας διαβαιβεώνει ότι η μέθοδος θα αποτύχει, δεν υπάρχει λόγος για να αναμένουμε σύγκλιση σε όλες τις ρίζες. Ποιο προσεκτικά για την κάθε ρίζα ξεχωριστά έχουμε: 19

Σχήμα 1.13: Η g 5(x) δεν ικανοποιεί την απαίτηση να είναι μικρότερη του 1 στα διαστήματα γύρω απο τις όλες τις ρίζες.μόνο στην ρίζα x 2.43651 υπάρχει η θεωρητική ευνοια για συγκλιση. Για την ρίζα x 0.181862 έχουμε g 5 (0, 15) 1.06804 & g 5 (0, 2) 0.731484 Άρα δεν απεικονίζει τον εαυτό της στο διάστημα αυτό με κάποια ανεκτή ακρίβεια. Επιπλέον η g 5(x) g 5(0, 2) 17.2146 σε αυτό το διάστημα. Άρα δεν περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x 2.43651 έχουμε g 5 (2.2) 2.3977 & g 5 (2.5) 2.44728 Άρα α- πεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 5(x) g 5(2.5) 0.171177 σε αυτό το διάστημα. Άρα θεωρητικά περιμένουμε συγκλιση σε αυτη την ρίζα. Για την ρίζα x 8.48488 έχουμε g 5 (8.3) 7.94699 & g 5 (8.5) 8.53085 Άρα απεικονίζει ικανοποιητικά τον εαυτό της στο διάστημα αυτό. Επιπλέον η g 5(x) g 5(8.3) 3.05067 σε αυτό το διάστημα. Άρα θεωρητικά δεν περιμένουμε συγκλιση σε αυτη την ρίζα. Είναι σαφές απο τα προηγούμενα ότι η μόνη εξίσωση που συγκλίνει ικανοποιητικά σε όλες τις ρίζες, είναι η g 1 (x) όπου μάλιστα έχει και τον ταχύτερο ρυθμό σύγκλισης (μικρότερο k). Παρόλα αυτά οι προηγούμενες εξισώσεις παρόλο που δεν συγκλίνουν σε όλες τις ρίζες, μεμονομένα έχουν ταχεία συγκλιση. Για παράδειγμα στην ρίζα 2.43651 συγκλινει ταχύτερα η g 5 (x) ενω στην 0.181862 συγκλίνει ταχύτερα η g 4 (x). Λεπτομέρειες και συγκρίσεις μεταξύ των μεθόδων, γίνετε στο επόμενο εδάφιο όπου παρουσιάζονται τα αποτελέσματα της μεθόδου για τις 5 πρωτινόμενες εξισώσεις και κάθε ρίζα ξεχωριστά. Ο αλγόριθμος που θα χρησιμοποιήσουμε είναι: 1 PROGRAM f i x e d p o i n t 2 INTEGER,PARAMETER: : N1=12, N2=12,N3=12,N4=12,N5=12 3 INTEGER: : Z1, Z2, Z3, Z4, Z5 4! Edw dhlenoume ton megisto ari8mo epanalipsewn 20

5 REAL: : g1, g2, g3, g4, g5, x, p0, t o l, e1, p, pa, array1 (N1), array2 (N2), array3 (N3), array4 (N4), array5 (N5) 6 OPEN(UNIT=20,FILE= f i x e d p o i n t,status= OLD ) 7 array1 ( 1 : N1)=0 8 array2 ( 1 : N2)=0 9 array3 ( 1 : N3)=0 10 array4 ( 1 : N4)=0 11 array5 ( 1 : N5)=0 12 pa= 2.4! Edw dhlwnoume t i s m e t a v l i t e s k a i t i s parametroys toy p r o b l i m a t o s 13 p0=pa! Ypologismos g i a thn g1 (X) 14 t o l= 0.0001 15 outer1 : DO i =1,N1 16 p=g1 ( p0 )! compute p 17 e1=abs(p p0 )! Stopping procedure1 18 array1 ( i )=p 19 IF( e1.lt. t o l ) THEN! k r i t h r i o s h g k l i s h s 20 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 21 k=1 22 EXIT outer1 23 ELSE 24 p0=p 25 END IF 26 END DO outer1 27 Z1=i 28 IF( k.ne. 1 ) THEN 29 PRINT, The method was u n s u c c e s s f u l l a f t e r,n1, s t e p s. 30 Z1=0 31 END IF 32 k=2! Ypologismos g i a thn g2 (X) 33 p0=pa 34 outer2 : DO i =1,N2 35 p=g2 ( p0 )! compute p 36 e1=abs(p p0 )! Stopping procedure1 37 array2 ( 1 )=p 38 IF( e1.lt. t o l ) THEN! k r i t h r i o s h g k l i s h s 39 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 40 k=1 41 EXIT outer2 42 ELSE 43 p0=p 44 END IF 45 END DO outer2 46 Z2=i 47 IF( k.ne. 1 ) THEN 48 PRINT, The method was u n s u c c e s s f u l l a f t e r,n2, s t e p s. 49 Z2=0 50 END IF 51 p0=pa! Ypologismos g i a thn g3 (X) 52 k=2 53 outer3 : DO i =1,N3 54 p=g3 ( p0 )! compute p 55 e1=abs(p p0 )! Stopping procedure1 56 array3 ( 1 )=p 57 IF( e1.lt. t o l ) THEN! k r i t h r i o s h g k l i s h s 58 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 21

59 k=1 60 EXIT outer3 61 ELSE 62 p0=p 63 END IF 64 END DO outer3 65 Z3=i 66 IF( k.ne. 1 ) THEN 67 PRINT, The method was u n s u c c e s s f u l l a f t e r,n3, s t e p s. 68 Z3=0 69 END IF 70 p0=pa! Ypologismos g i a thn g4 (X) 71 k=2 72 outer4 : DO i =1,N4 73 p=g4 ( p0 )! compute p 74 e1=abs(p p0 )! Stopping procedure1 75 array4 ( i )=p 76 IF( e1.lt. t o l ) THEN! k r i t h r i o s h g k l i s h s 77 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 78 k=1 79 EXIT outer4 80 ELSE 81 p0=p 82 END IF 83 END DO outer4 84 Z4=i 85 IF( k.ne. 1 ) THEN 86 PRINT, The method was u n s u c c e s s f u l l a f t e r,n4, s t e p s. 87 Z4=0 88 END IF 89 p0=pa! Ypologismos g i a thn g5 (X) 90 k=2 91 outer5 : DO i =1,N5 92 p=g5 ( p0 )! compute p 93 e1=abs(p p0 )! Stopping procedure1 94 array5 ( i )=p 95 IF( e1.lt. t o l ) THEN! k r i t h r i o s h g k l i s h s 96 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 97 k=1 98 EXIT outer5 99 ELSE 100 p0=p 101 END IF 102 END DO outer5 103 Z5=i 104 IF( k.ne. 1 ) THEN 105 PRINT, The method was u n s u c c e s s f u l l a f t e r,n5, s t e p s. 106 Z5=0 107 END IF 108 NMAX=MAX( Z1, Z2, Z3, Z4, Z5 ) 109!WHERE (ABS( array1 ).LE. t o l ) 110! array1=0 111!END WHERE 112 DO i =1,NMAX 22

113 WRITE( 2 0, ) i, &, array1 ( i ), &, array2 ( i ), &, array3 ( i ), &, array4 ( i ), &, array5 ( i ), \\ 114 END DO 115 CLOSE(UNIT=20,STATUS= KEEP )! apothikeuoume to a r x e i o me ton pinaka 116 END 117 118 119 FUNCTION g1 ( x )! orizoume t i n g1 ( x ) 120 g1=x (exp ( x ) x 4+5 x 2 2 x 1) /( exp ( x ) 4 x 3+10 x 2) 121 RETURN 122 END 123 124 FUNCTION g2 ( x )! orizoume t i n g2 ( x ) 125 g2=x exp ( x )+x 4 5 x 2+2 x+1 126 RETURN 127 END 128 129 FUNCTION g3 ( x )! orizoume t i n g3 ( x ) 130 g3 =1/2 ( exp ( x ) x 4+5 x 2 1) 131 RETURN 132 END 133 134 FUNCTION g4 ( x )! orizoume t i n g4 ( x ) 135 g4 =1/5 (x 3+2+1/x exp ( x ) /x ) 136 RETURN 137 END 138 139 FUNCTION g5 ( x )! orizoume t i n g5 ( x ) 140 g5=(exp ( x ) /x 2+5 2/x 1/x 2) (1/2) 141 RETURN 142 END 23

1.2.1 Ρίζα -2.38315 Για να υπολογίσουμε τον αριθμό των επαναλήψεων που χρειάζεται η μέθοδος σταθερού σημείου για να προσσεγγίσει το p με ακρίβεια ε = 0, 0001 Θα χρησομοποιήσουμε την σχέση(παίρνουμε το ακέραιο μέρος του Ν), από την σχέση : απο την οποία παράγουμε: p n p }{{} ε N kn 1 k p 1 p 0 (1.2.1.1) ln (1 k)ε p 1 p 0 ln(k) (1.2.1.2) όπου k είναι η μέγιστη απόλυτη τιμή της πρωτης παραγώγου σε καθε συνάρτηση στο υπο μελέτη διάστημα. Ετσι εδώ έχουμε για p 0 = 2.4 και για τα σετ εξισώσεων: Για την g 1 (x) το k = 0.204678 και N 1 = 3 Για την g 2 (x) το k = 28.3867 και N 2 = 0 Για την g 3 (x) το k = 15.6934 και N 3 = 0 Για την g 4 (x) το k = 3.1487 και N 4 = 0 Για την g 5 (x) δεν οριζετε λυση λόγο αρνητικού προσήμου στο υπόριζο Είναι φανερό λοιπόν ότι η g 1 (x) συγκλίνει και ακόμα και αν συνέκλινε καμία άλλη θα συνέκλινε ποιο αργα απο αυτή. Σαν δείγμα καλής θέλησης θα βάλουμε 3 επαναλύψεις σε όλες τις συναρτήσεις για να δούμε πως αυτές συγκλινουν στον πίνακα 1.6. Στο σημείο αυτό θυμώμαστε ότι στο πρόγραμμά μας έχουμε θέσει τιμές μηδέν στους πίνακες που παίρνουν τις τιμές p n των ακολουθιών οπότε αν το πρόγραμα βγεί απο τον βρόγχο επανάληψης σε λιγότερα βήματα απο το μέγιστο Ν τότε θα έχουμε στον πίνακά μας τιμή του τύπου 0.00000000 που σημαίνει ότι δεν μπήκε τιμή για αυτό το στοιχείο. Επιπλέον η ένδειξη NaN μας δείχνει ότι η τιμή που μπήκε σαν αποτελεσμα της πράξης που έγινε δεν υπάρχει(π.χ. όταν ζητάμε την τετραγωνική ρίζα ενός αρνητικού αριθμού). n p n = g 1 (p n 1 ) p n = g 2 (p n 1 ) p n = g 3 (p n 1 ) p n = g 4 (p n 1 ) p n = g 5 (p n 1 ) 1-2.3834319 NaN NaN -2.4405739 2.3823249 2-2.3831482 0.0000000 0.0000000-2.5822170 2.4274487 3-2.3831482 0.0000000 0.0000000-3.1151612 2.4349852 4 0.0000000 0.0000000 0.0000000-5.7074013 2.4362521 5 0.0000000 0.0000000 0.0000000-36.817993 2.4364653 6 0.0000000 0.0000000 0.0000000-9981.4395 2.4365010 Πίνακας 1.6: Εξέλιξη της σύγκλισης στην μέθοδο σταθερού σημείου για την ρίζα x= -2.38315 Σχολιάζοντας τα αποτελέσματα του Πίνακα 1.6, παρατηρούμε ότι η g 1 συγκλίνει στα προβλεθέντα βήματα ενό όλες οι άλλες δεν συγκλίνουν. Είναι αξιοσημείοτο ότι η μέθοδος διχοτόμησης θα έδινε τα ίδια αποτελέσματα σε 14 βήματα όπως ανακαλούμε απο την αντιστοιχη παράγραφο. 24

1.2.2 Ρίζα 0 Για να υπολογίσουμε τον αριθμό των επαναλήψεων που χρειάζεται η μέθοδος σταθερού σημείου θα εργαστούμε όπως και πριν. Ετσι εδώ έχουμε για p 0 = 0.1 και για τα σετ εξισώσεων: Για την g 1 (x) το k = 0.615476 και N 1 = 16 Για την g 2 (x) το k = 3.09116 και N 2 = 0 Για την g 3 (x) το k = 0.665173 και N 3 = 21 Για την g 4 (x) το k = 0.0875768 και N 4 = 4 Για την g 5 (x) δεν οριζετε λυση Από τα παραπάνω θα περιμέναμε να συγκλίνουν η g 1 η g 3 και η g 4 με την τελευταία μακράν ταχύτερη. Παραταύτα στον Πίνακα 1.7 παρατηρούμε κάτι αναπάντεχο. Η g 1 συγκλίνει πολύ ταχυτερα ενώ η g 4 (x) συγκλίνει στην επόμενη ρίζα που λογικά συνέβει γιατί ο τύπος της περιέχει διέρεση με το χ ενω αυτό κινήτε σε περιοχή πολύ κοντά στο μηδέν. Ετσι επειδή ο υπολογιστής έχει πεπερασμένη ακρίβεια δεκαδικών ψηφίων, δημιουργεί σφάλμα που αγνωεί την ρίζα. Επιπλέον η g 3 συγκλίνει ταχύτερα απο όλες την ώρα που η g 5 συγκλίνει σε μια ρίζα που αντιστοιχεί σε θετική πλευρά επειδή δεν ορίζονται για αυτή τα αρνητικά χ. n p n = g 1 (p n 1 ) p n = g 2 (p n 1 ) p n = g 3 (p n 1 ) p n = g 4 (p n 1 ) p n = g 5 (p n 1 ) 1-2.60041077E-02 NaN -6.95995113E-05 0.20947495 3.9349389 2-2.88728205E-03 0.0000000 0.0000000 0.17934836 2.7805028 3-4.44490179E-05 0.0000000 0.0000000 0.18209685 2.4974668 4-2.78899552E-08 0.0000000 0.0000000 0.18184039 2.4468505 5 0.0000000 0.0000000 0.0000000 0.18186435 2.4382515 6 0.0000000 0.0000000 0.0000000 0.0000000 2.4368019 7 0.0000000 0.0000000 0.0000000 0.0000000 2.4365578 8 0.0000000 0.0000000 0.0000000 0.0000000 2.4365168 9 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 Πίνακας 1.7: Εξέλιξη της σύγκλισης στην μέθοδο σταθερού σημείου για την ρίζα x= 0 1.2.3 Ρίζα 0.181862 Για να υπολογίσουμε τον αριθμό των επαναλήψεων που χρειάζεται η μέθοδος σταθερού σημείου θα εργαστούμε όπως και πριν. Ετσι εδώ έχουμε για p 0 = 0, 15 και για τα σετ εξισώσεων: Για την g 1 (x) το k = 0.678172 και N 1 = 19 Για την g 2 (x) το k = 0.351666 και N 2 = 6 Για την g 3 (x) το k = 1.5947 και N 3 = 0 25

Για την g 4 (x) το k = 0.09038 και N 4 = 3 Για την g 5 (x) k = 17.2146 και N 5 = 0 Από τα παραπάνω θα περιμέναμε να συγκλίνουν η g 1 η g 2 και η g 4 με την τελευταία μακράν ταχύτερη. Παραταύτα στον Πίνακα 1.8 παρατηρούμε ότι η g 2 είναι ταχύτερη ενώ οι άλλες αποκλίνουν όπως περιμέναμε. Ιδιαίτερα στην g 1 παρατηρούμε ότι η συγκλιση είναι ποιο ταχεία απο ότι περιμέναμε. n p n = g 1 (p n 1 ) p n = g 2 (p n 1 ) p n = g 3 (p n 1 ) p n = g 4 (p n 1 ) p n = g 5 (p n 1 ) 1 0.19036810 0.18186226 5.36729240E-05 0.18489596 NaN 2 0.18222152 0.0000000 0.0000000 0.18158031 NaN 3 0.18186294 0.0000000 0.0000000 0.18188852 NaN 4 0.18186229 0.0000000 0.0000000 0.18185990 NaN 5 0.0000000 0.0000000 0.0000000 0.0000000 NaN Πίνακας 1.8: Εξέλιξη της σύγκλισης στην μέθοδο σταθερού σημείου για την ρίζα x= 0.181862 1.2.4 Ριζα 8.48488 Για να υπολογίσουμε τον αριθμό των επαναλήψεων που χρειάζεται η μέθοδος σταθερού σημείου θα εργαστούμε όπως και πριν. Ετσι εδώ έχουμε για p 0 = 8, 3 και για τα σετ εξισώσεων: Για την g 1 (x) το k = 0.383519 και N 1 = 9 Για την g 2 (x) το k = 2540.27 και N 2 = 0 Για την g 3 (x) το k = 1271.63 και N 3 = 0 Για την g 4 (x) το k = 58.6895 και N 4 = 0 Για την g 5 (x) k = 3.05067 και N 5 = 0 Από τα παραπάνω θα περιμέναμε να συγκλίνει μονο η g 1 και όλες οι άλλες να αποκλινουν απο την ρίζα. Πράγματι στον Πίνακα 1.9 παρατηρούμε μια εικόνα με την αξιοσημείωτη συμπεριφορά της g 5 να αποκλίνει στην ρίζα 2,43651. Ιδιαίτερα στην g 1 παρατηρούμε ότι η συγκλιση είναι ποιο ταχεία απο ότι περιμέναμε. 1.2.5 Ριζα 2,43651 Για να υπολογίσουμε τον αριθμό των επαναλήψεων που χρειάζεται η μέθοδος σταθερού σημείου θα εργαστούμε όπως και πριν. Ετσι εδώ έχουμε για p 0 = 2, 2 και για τα σετ εξισώσεων: Για την g 1 (x) το k = 0.933479 και N 1 = 156 26

n p n = g 1 (p n 1 ) p n = g 2 (p n 1 ) p n = g 3 (p n 1 ) p n = g 4 (p n 1 ) p n = g 5 (p n 1 ) 1 8.5173655 NaN NaN 17.820713 7.9469895 2 8.4857082 0.0000000 0.0000000-614813.19 7.0353713 3 8.4848833 0.0000000 0.0000000-4.64792943E+16 5.2582331 4 8.4848824 0.0000000 0.0000000 -Infinity 3.3959961 5 0.0000000 0.0000000 0.0000000 -Infinity 2.6290960 6 0.0000000 0.0000000 0.0000000 -Infinity 2.4698083 7 0.0000000 0.0000000 0.0000000 -Infinity 2.4421372 8 0.0000000 0.0000000 0.0000000 -Infinity 2.4374564 9 0.0000000 0.0000000 0.0000000 -Infinity 2.4366679 10 0.0000000 0.0000000 0.0000000 -Infinity 2.4365351 11 0.0000000 0.0000000 0.0000000 -Infinity 2.4365129 Πίνακας 1.9: Εξέλιξη της σύγκλισης στην μέθοδο σταθερού σημείου για την ρίζα x= 8.48488 Για την g 2 (x) το k = 28.3175 και N 2 = 0 Για την g 3 (x) το k = 12.6588 και N 3 = 0 Για την g 4 (x) το k = 3.13324 και N 4 = 0 Για την g 5 (x) k = 0.171177 και N 5 = 5 Από τα παραπάνω θα περιμέναμε να συγκλίνουν η g 1 και η g 5 με την τελευταία μακράν ταχύτερη. Παραταύτα στον Πίνακα 1.10 παρατηρούμε η g 5 συγκλίνει στα βήματα που έχουμε υπολογίσει ενώ ταυτόχρονα η g 1 συγκλίνει πολύ ταχύτερα απο ότι περιμέναμε. Ολες οι άλλες αποκλίνουν όπως αναμενώταν άλλωστε. n p n = g 1 (p n 1 ) p n = g 2 (p n 1 ) p n = g 3 (p n 1 ) p n = g 4 (p n 1 ) p n = g 5 (p n 1 ) 1 2.5242734 NaN NaN 1.8000534 2.3977008 2 2.4435859 0.0000000 0.0000000 1.0054126 2.4300077 3 2.4365597 0.0000000 0.0000000 0.25852421 2.4354150 4 2.4365084 0.0000000 0.0000000 0.17522365 2.4363244 5 0.0000000 0.0000000 0.0000000 0.18248372 2.4364774 6 0.0000000 0.0000000 0.0000000 0.18180443 2.4365032 7 0.0000000 0.0000000 0.0000000 0.18186769 0.0000000 Πίνακας 1.10: Εξέλιξη της σύγκλισης στην μέθοδο σταθερού σημείου για την ρίζα x= 2.43651 27

1.3 Μέθοδος Νεύτωνα Στην μέθοδο σταθερού σημείου εφαρμόσαμε την εξίσωση g 1 (x) που στην πραγματικότητα είναι η εξίσωσή που χρησιμοποιεί η μέθοδος του Νεύτωνα. Δηλαδή έχουμε την g(p n 1 ) = p n 1 f(p n 1) f (p n 1 ),για n 1 (1.3.0.1) Ετσι εξηγείτε η ταχύτατη σύγκλιση σε όλες τις ρίζες. Πρέπει να σημειωθεί όμως ότι πολλά απο τα σημεία εκίννησης p 0 διαλέχτικάν προσεχτικά και μετά απο πολλές δοκιμές ώστε να εξασφαλιστεί η σωστη συγκλιση. Δηλαδή η μέθοδος του Νεύτωνα είναι πολύ ευαίσθητη σε αλλαγές της αρχικής προσσέγγισης καθώς έχουν να αντιμετωπιστούν θέματα που αφορούν βρόχους που μπορεί να σχηματίζουν οι παράγωγοι της συνάρτησης, μηδενισμοί της παραγώγου και περιπτώσεις στις οποίες η παράγωγος μας απομακρίνει απο την ρίζα. Επιπλέον είναι σημαντικό το γεγονός να κρατίσουμε τον όρο [p 0 p] μικρό γιατί έχουμε υποθέσει ότι οι όροι που περιέχουν [p 0 p] 2 και ανώτεροι μπορούν να αγνοηθούν, για να καταλήξουμε στην 1.3.0.1. Η μέθοδος του Νεύτωνα είναι πολύ ισχυρή, αλλά έχει μία πολύ μεγάλη αδυναμία. Αυτή η αδυναμία είναι ότι πρέπει να γνωρίζουμε την παράγωγο της f(x) σε κάθε προσσέγγιση. Συχνά ο υπολογισμός αυτός είναι ποιό απαιτητικός σε αριθμιτικές πράξεις απο την ίδια την συνάρτηση. Γιά να παρακάμψουμε αυτό το πρόβλημα θα εισαγάγουμε μια μικρή διαφοροποίηση που προέρχετε απο την εφαρμογή του ορισμου της παραγώγου στην 1.3.0.1: p n = p n 1 f(p n 1)(p n 1 p n 2 ) f(p n 1 ) f(p n 2 ) (1.3.0.2) Αυτή η τεχνική λέγετε μέθοδος της διατέμνουσας.στην τεχνική αυτή χρειαζόμαστε στην πραγματικότητα δύο αρχικές προσσεγγίσεις. Ο αλγόριθμος που θα χρησιμοποιήσουμε στην συγκεκριμένη περίπτωση είναι ο: 1 PROGRAM secant 2 INTEGER,PARAMETER: : N0=5 3! Edw dhlenoume ton megisto ari8mo epanalipsewn 4 REAL: : func, x, p0, t o l, e1, p, p1, q0, q1 5 OPEN(UNIT=20,FILE= secant,status= OLD )! anoigoume to a r x e i o 6 p0= 2.4 7 p1= 2.3 8 q0=func ( p0 )! a r x i k e s p r o s s e g g i s e i s 9 q1=func ( p1 ) 10 t o l =0.0001 11 outer : DO i =1,N0 12 p=p1 q1 ( p1 p0 ) /( q1 q0 )! ypologismos tou p 13 e1=abs (p p1 )! a p o l y t o sfalma 14 WRITE( 2 0, ) i, &,p, \\ 15 IF( e1.lt. t o l ) THEN 16 PRINT, The method was s u c c e s s f u l l a f t e r, i, s t e p s. The root i s p=, p 17 k=1 18 EXIT outer 19 ELSE 20 p0=p1! enhmerwsh p r o s s e g g i sewn 21 q0=q1 22 p1=p 28

23 q1=func ( p ) 24 END IF 25 END DO outer 26 IF( k.ne. 1 ) THEN 27 PRINT, The method was u n s u c c e s s f u l l a f t e r,n0, s t e p s. 28 END IF 29 CLOSE(UNIT=20,STATUS= KEEP )! apothikeuoume to a r x e i o me ton pinaka 30 END 31 32 FUNCTION func ( x )! orizoume t i n f ( x ) 33 f u n c=exp ( x ) x 4+5 x 2 2 x 1 34 RETURN 35 END Συγκρίνοντας παρακάτω τα αποτελέσματα της μεθόδο διατέμνουσας με τα αντίστοιχα της μεθόδου του Νέυτωνα, βλέπουμε ότι είναι ποιο αργή ενώ παράλληλα παραμένει ταχύτερη της μεθόδου σταθερού σημείου. 1.3.1 Ρίζα -2.38315 Το διάστημα που έχουμε επιλέξει είναι p 0 = 2.4 καιp 1 = 2.3. Τα αποτελέσματα της σύγκλισης φαίνοναται στον Πίνακα 1.11. n p n 1-2.3816483 2-2.3832836 3-2.3831480 4-2.3831482 Πίνακας 1.11: Εξέλιξη της σύγκλισης στην μέθοδο διατέμνουσας για την ρίζα x= -2.38315 Σύγκλιση σε 4 αντι για 3 βήματα. 1.3.2 Ρίζα 0.181862 Το διάστημα που έχουμε επιλέξει είναι p 0 = 0, 15 και p 1 = 0, 2. Τα αποτελέσματα της σύγκλισης φαίνοναται στον Πίνακα 1.12. n p n 1 0.17846346 2 0.18155245 3 0.18186812 4 0.18186224 Πίνακας 1.12: Εξέλιξη της σύγκλισης στην μέθοδο διατέμνουσας για την ρίζα x= 0.181862 29

1.3.3 Ρίζα 0 Το διάστημα που έχουμε επιλέξει είναι p 0 = 0, 1 καιp 1 = 0, 03. Τα αποτελέσματα της σύγκλισης φαίνοναται στον Πίνακα 1.13. n p n 1 1.18892565E-02 2-2.55197473E-03 3 1.75984344E-04 4 2.36502092E-06 5 3.97619715E-08 Πίνακας 1.13: Εξέλιξη της σύγκλισης στην μέθοδο διατέμνουσας για την ρίζα x= 0 Σύγκλιση σε 5 αντι για 4 βήματα. 1.3.4 Ριζα 2,43651 Το διάστημα που έχουμε επιλέξει είναι p 0 = 2, 2 και p 1 = 2, 5. Τα αποτελέσματα της σύγκλισης φαίνοναται στον Πίνακα 1.14. n p n 1 2.4188974 2 2.4353886 3 2.4365292 4 2.4365084 Πίνακας 1.14: Εξέλιξη της σύγκλισης στην μέθοδο διατέμνουσας για την ρίζα x= 2,43651 1.3.5 Ριζα 8.48488 Το διάστημα που έχουμε επιλέξει είναι p 0 = 8, 3 και p 1 = 8, 5. Τα αποτελέσματα της σύγκλισης φαίνοναται στον Πίνακα 1.15. n p n 1 8.4824705 2 8.4848537 3 8.4848824 Πίνακας 1.15: Εξέλιξη της σύγκλισης στην μέθοδο διατέμνουσας για την ρίζα x= 8.48488 Συγκλιση σε 3 αντι για 4 βήματα. Το γεγονός ότι συνέκλινε ποιο γρήγορα απο του Νέυτωνα είναι καθαρα τυχαίο γεγονός. Η γενική περίπτωση είναι να συγκλίνει ποιο αργά απο αυτή. 30

1.4 Κριτήρια σύγκλισης Στην μέθοδο σταθερού σημείου χρησιμοποιήσαμε σαν κριτήριο σύγκλισης το p N p N 1 < ɛ γιατί αφενός μας δίνει καλό έλεγχο του σφάλματός και αφετέρου δεν μας προσθέτει επιπλέον σφάλματα όπως θα εισήγαγε το p N p N 1 p N < ɛ σε αυτές τις ρίζες (περιοχές κοντά στο μηδεν). Επιπλέον η χρησιμότητά του δε θα φαινόταν γιατι η τάξη μεγεθους των ριζών δεν είναι τέτοια ώστε να επιβάλετε η χρήση του. Τέλος το f(p N ) < ɛ δεν μας δίνει αρκετές πληροφορίες για το πραγματικό σφάλμα p N p N 1. Ετσι θυμόμαστε ότι στην μέθοδο διχοτόμησης είχαμε το a b /2 για να έχουμε καλύτερο έλεγχο του μέγιστου πραγματικού σφάλματος στην περιοχή που κινούντε οι ρίζες μας. 31

Κεφάλαιο 2 Άσκηση 2α Επιλέγουμε να δουλέψουμε με την ρίζα x = 0. Θα εφαρμόσουμε πολυωνυμική παρεμβολή κάνοντας χρήση πολυωνυμου Taylor 3ης τάξης 1. Ετσι για το πολυώνυμο Taylor τάξης 3 που παράγεται απο την f στο x = a έχουμε το εξής: P 3 (x) = f(a) + f (a)(x a) + f (a) 2! Στην περίπτωσή μας έχουμε x = 0, άρα: P 3 (x) = f(0) + f (0)x + f (0) 2! (x a) 2 + f (a) (x a) 3 (2.0.0.1) 3! x 2 + f (0) x 3 (2.0.0.2) 3! Εφαρμόζουμε για την f(x) που μας δόθηκε οπότε καταλήγουμε την εξίσωση που θελουμε: g(x) = P 3 (x) = x3 6 + 11x2 x (2.0.0.3) 2 Απο τα σχήματα 2.1 και 2.2 συμπεραίνουμε ότι η προσσέγγιση δουλεύει μόνο κοντα στην ρίζα που επιλέξαμε και ύστερα αποκλίνει ταχυτατα. Αυτό είναι αναμενόμενο θεωρητικά και είναι το μεγάλο μειωνέκτιμα των πολυωνύμων Taylor και των αντίστοιχων Lagrange ότι δηλαδη τα πρώτα προσσεγγίζουν σωστα την συνάρτηση σε ενα σημείο ενώ τα δέυτερα σε μια ολόκληρη περιοχή. 1 Κάνουμε λόγο για πολυώνυμο Taylor τάξης n και όχι βαθμού n διότι η f (n) (a) μπορεί να μηδενίζεται. Τα πρώτα δύο πολυώνυμα Taylor του cosx στο x = 0, για παράδειγμα, είναι P 0 (x) = 1 και P 1 (x) = 1. Ετσι, το πολυώνυμο πρώτης τάξης είναι μηδενικού βαθμού, όχι πρώτου βαθμού. 32

Σχήμα 2.1: Η συγκριση μεταξύ της συναρτησης Taylor τάξης 3 και της κανονικής συνάρτησης f(x) Σχήμα 2.2: Η διαφορά μεταξύ της συναρτησης Taylor τάξης 3 και της κανονικής συνάρτησης f(x) 33

Κεφάλαιο 3 Άσκηση 2β Χρησιμοποιώντας το αρχείο GG3.DAT θα φτιάξουμε έναν αλγόριθμο που θα εκτελεί πολυωνυμική παρεμβολή 3ου και 5ου βαθμού σε περιοχή που θα ορίζετε απο τον χρήστη. Ο αλγόριθμος θα παράγει ένα αρχείο lagrange3.dat και ένα lagrange5.dat ώστε απο αυτά να κάνουμε τις γραφικές παραστάσεις 1. Θεώρημα 2. Αν x 0, x 1,, x n είναι n + 1 διακριτοί αριθμοί και f είναι μία συνάρτηση που οι τιμές της δίνονται σε αυτούς τους αριθμούς, τότε υπάρχει ένα μοναδικό πολυώνυμο P (x) βαθμού το πολύ n με Αυτό το πολυώνυμο δινετε απο f(x k ) = P (x k ), k = 0, 1,..., n P (x) = f(x 0 )L n,0 (x) + + f(x n )L n,n (x) = όπου, για κάθε k = 0, 1,..., n L n,k (x) = n i=0 i k (x x i ) (x k x i ) n f(x k )L n,k (x) (3.0.0.1) k=0 (3.0.0.2) Παρόλο που δεν είναι λάθος να φτιάξουμε μια υπορουτίνα που να υπολογίζει την συνάρτηση του lagrange απέυθείας δεν είναι και η καλήτερή μας επιλογή. Και αυτό γιατί είναι λίγο παραδοξο να προγραμματιστεί απέυθείας. Ενας πολύ καλήτερος αλγόριθμος για να κατασκευάσουμε το ίδιο, μοναδικό, πολυώνυμο παρεμβολής είναι ο αλγόριθμος του Neville. Εστω P 1 ότι είναι η τιμή στο x ενός μοναδικού πολυωνύμου μηδενικού βαθμού (σ.σ., μια σταθερά) που περνά απο το σημείο (x 1, y 1 ), άρα P 1 = y 1. Ομοίως ορίζουμε P 1, P 2,..., P N. Τώρα έστω ότι P 12 είναι η τιμή στο x ενός μοναδικού πολυωνύμου βαθμού ένα που περνά ανάμεσα και απο το (x 1, y 1 ) και απο το (x 2, y 2 ). Παρομοιως τα P 23, P 34,..., P (N 1)N. Αναλόγος, για τα ανώτερου βαθμού πολυώνυμα, μέχρι τα P 123...N, η οποία είναι η τιμή του μοναδικού πολυωνύμου παρεμβολής μέσα απο όλα τα N σημεία, δλδ είναι η επιθυμητή απάντηση. 1 Για τις γραφικές παραστάσεις χρησιμοποιηθηκαν τα προγραμματα pyxplot και gnuplot 34

Τα διάφορα P απο ένα πλαίσιο με προγώνους στα αριστερά που οδηγεί σε έναν μοναδικό απόγωνο στα δεξιά. Για παράδειγμα για N = 4, x 1 : y 1 = P 1 P 12 x 2 : y 2 = P 2 P 123 P 23 P 1234 x 3 : y 3 = P 3 P 234 P 34 x 4 : y 4 = P 4 Ο αλγόριθμος του Neville είναι ένας αναδρομικός τρόπος συμπλήρωσης αριθμών σε ένα πίνακα, συμπληρώνοντας μια στήλη την φορά, απο τα αριστερά στα δεξιά. Βασίζεται στην σχέση μεταξή μίας κόρης P και τους δύο γονείς της, P i(i+1)...(i+m) = (x x i+m)p i(i+1)...(i+m 1) + (x i x)p (i+1)(i+2)...(i+m) x i x i+m (3.0.0.3) Αυτή η αναδρομή δουλεύει επειδή οι δύο γονείς συμφωνούν ήδη στα σημεία x i+1... x i+m 1. Μια βελτίωση στην αναδρομή 3.0.0.3 είναι να παρακολουθούμε τις μικρές διαφοροποιήσεις μεταξύ γονέων και κορών, δηλαδή να ορίσουμε (για m = 1, 2,..., N 1 ), C m,i P i...(i+m) P i...(i+m 1) D m,i P i...(i+m) P (i+1)...(i+m) (3.0.0.4) Τώρα κάποιος εύκολα μπορεί να παράγει απο την 3.0.0.4 τις σχέσεις D m+1,i = (x i+m+1 x)(c m,i+1 D m,i ) x i x i+m+1 C m+1,i = (x i x)(c m,i+1 D m,i ) x i x i+m+1 (3.0.0.5) Σε κάθε επίπεδο m, τα C και D είναι οι διορθώσεις που κάνουν τις παρεμβολές μια τάξη μεγαλύτερες. Η τελική απάντηση P 1...N είναι ίση με το αθροισμα κάθε y i συν ένα σετ από C και D που σχηματίζουν ένα μονοπάτι μέσα απο το οικογενιακό δένδρο στην τελική κόρη. Ο αλγοριθμος που εκτελεί την επιθημητή παρεμβολή είναι ο εξίς: 1 PROGRAM l a g r a n g e i n t e r p o l a t i o n 2 INTEGER: : i, j, n2, n 3 REAL: : xa (500), ya (500), x, xmin, xmax, dx, y, dy, xx ( 6 ), yy ( 6 ) 4 n2=500 5 OPEN(UNIT=20,FILE= GG3.DAT,STATUS= OLD ) 6 OPEN(UNIT=40,FILE= lagrange3.dat,status= OLD ) 7 OPEN(UNIT=60,FILE= lagrange5.dat,status= OLD ) 8 DO i =1,500 9 READ( 2 0, ) xa ( i ), ya ( i ) 10 END DO 11 PRINT, d e f i n e xmin 12 READ(, ) xmin 13 PRINT, d e f i n e xmax 14 READ(, ) xmax 35

15 dx=(xmax xmin ) / 10000 16 n=4 17 x=xmin 18 c a l l l o c a t e ( xa, n2, x, j ) 19 xx=xa ( j : j +3) 20 yy=ya ( j : j +3) 21 c a l l l agrange ( xx, yy, n, x, y, dy ) 22 WRITE( 4 0, ) x,, y 23 lagrange3 : DO 24 x=x+dx 25 IF ( x. gt. xmax) EXIT lagrange3 26 c a l l l o c a t e ( xa, n2, x, j ) 27 xx=xa ( j : j +3) 28 yy=ya ( j : j +3) 29 c a l l l agrange ( xx, yy, n, x, y, dy ) 30 WRITE( 4 0, ) x,, y 31 END DO lagrange3 32 n=6 33 x=xmin 34 c a l l l o c a t e ( xa, n2, x, j ) 35 xx=xa ( j : j +5) 36 yy=ya ( j : j +5) 37 c a l l l agrange ( xx, yy, n, x, y, dy ) 38 WRITE( 6 0, ) x,, y 39 lagrange5 : DO 40 x=x+dx 41 IF ( x. gt. xmax) EXIT lagrange5 42 c a l l l o c a t e ( xa, n2, x, j ) 43 xx=xa ( j : j +5) 44 yy=ya ( j : j +5) 45 c a l l l agrange ( xx, yy, n, x, y, dy ) 46 WRITE( 6 0, ) x,, y 47 END DO lagrange5 48 CLOSE(UNIT=20,STATUS= KEEP ) 49 CLOSE(UNIT=40,STATUS= KEEP ) 50 CLOSE(UNIT=60,STATUS= KEEP ) 51 END 52 53 SUBROUTINE l a g r a n g e ( xa, ya, n, x, y, dy )! Yporoutina g i a ta polyonyma n 1ou va8mou 54 INTEGER: : n 55 REAL: : dy, x, y, xa ( n ), ya ( n ) 56 INTEGER,PARAMETER: :NMAX=501!H megalhterh anamenomenh timh tou n 57! dedomenwn pinakwn xa k a i ya, ka8enas me mege8os n, k a i dwsmenhs t i m h s x, auth h routhna 58! e p i s t r e f e i timh y. An P( x ) e i n a i to polyonhmo va8mou N 1 t e t o i o wste P( x a i )=yai, i = 1,..., n t o t e 59! h timh pou mas e p i s t r e f e i to programma e i n a i y=p( x ) 60 INTEGER: : i,m, ns 61 REAL: : den, d i f, d i f t, ho, hp,w, c (NMAX), d (NMAX) 62 ns=1 63 d i f=abs ( x xa ( 1 ) ) 64 f i r s t : do i =1,n! edw vriskoyme to konthnotero s t o i x e i o tou pinaka 65 d i f t=abs ( x xa ( i ) ) 66 i f ( d i f t. l t. d i f ) then 36

67 ns=i 68 d i f=d i f t 69 endif 70 71 c ( i )=ya ( i ) 72 d ( i )=ya ( i ) 73 end do f i r s t 74 y=ya ( ns )! Edw e i n a i h a r x i k h p r o s e g g i s h tou y 75 ns=ns 1 76 second : do m=1,n 1 77! Gia ka8e s t h l h tou pinaka 78 t h i r d : do i =1,n m! phgenoume s t a c k a i d k a i ta ananeonoume 79 ho=xa ( i ) x 80 hp=xa ( i+m) x 81 w=c ( i +1) d ( i ) 82 den=ho hp 83 i f ( den. eq. 0. ) EXIT t h i r d 84 den=w/ den 85 d ( i )=hp den! edw ananeonontai ta c k a i d 86 c ( i )=ho den 87 end do t h i r d 88 i f (2 ns. l t. n m) then! y s t e r a apo thn symplirosh ka8e s t h l h s tou pinaka 89 dy=c ( ns+1)! apofasizoume poia diwrthosh, c h d 8eloume na pros8esoume 90 else! sthn a 8 r o i s t i k h timh tou y, p. x. : poio monopati na paroume ston pinaka 91 dy=d ( ns )! kateu8hnomenoi panw h katw. To kanoume a u t o me tropo t e t o i o wste 92 ns=ns 1! na paroumke thn poio eu8eia grammh mesa ston pinaka, ananewnontas t o ns 93 endif! analogos wste na 3eroume pou vriskomaste. Auth h diadromh k r a t a thw merikes 94 y=y+dy! p r o s e g h s e i s oso to dhnaton poio kentrarism ; enew s t o s t o x o x 95 end do second 96 return 97 END 98 99 SUBROUTINE l o c a t e ( xa, n2, x, j ) 100 INTEGER: : j 101 REAL: : xa ( n2 ) 102! Dedomenou enos pinaka xa ( 1 : n) k a i dwsmenhs mias timhs x, e p i s t r e f e i mia timh j t e t o i a wste to x na v r i s k e t e 103! meta3h s t o xa ( j ) k a i s t o xx ( j +1). xx ( 1 : n) p r e p e i na e i n a i monotonh e i t e au3ousa e i t e f8hnousa. j=0 h j=n 104! e p i s t r e f e t e g i a na y p o d e i 3 e i o t i to x e i n a i e k t o s p e r i o x h s 105 INTEGER: : j l, jm, ju 106 j l =0! enar3h katw 107 ju=n2+1! k a i panw akrwn 108 10 i f ( ju j l. gt. 1 ) then! an den exoume akoma t e l e i w s e i 109 jm=(ju+j l ) /2! ypologizoume ena endoiameso shmeio 110 i f ( ( xa ( n2 ). ge. xa ( 1 ) ). eqv. ( x. ge. xa (jm ) ) ) then 111 j l=jm! k a i antika8istoume e i t e to katwtero o r i o 112 else 113 ju=jm! h to anwtero o r i o 37

114 endif 115 goto 10 116 endif 117 i f ( x. eq. xa ( 1 ) ) then 118 j=1 119 else i f ( x. eq. xa ( n2 ) ) then 120 j=n2 1 121 else 122 j=j l 123 endif 124 return 125 END Για να έχουμε καλήτερο οπτικό αποτέλεσμα φτιάξαμε 2 γραφήματα (σχήματα 3.1 και 3.2). Ενα για όλες τις ρίζες και ένα απο 0 έως 0,5. Στο τελευταιο χρησιμοποιήσαμε ένα αρχείο GG2.DAT το οποίο δεν είναι τίποτα άλλο παρα τα περιεχόμενα του GG3.DAT μέχρι το 0,5. Απο τα γραφήματα συμπερένουμε ότι ισχυει η απαίτηση μας να περνανε τα πολυώνυμα απο τις ρίζες (δηλαδή τα σημεία του αρχειου που πέρνει σαν εισοδο). Θεωρητικά θα περιμενουμε το πολυώνυμο 5ου βαθμού να είναι ποιο ακριβες απο αυτο του 3ου αλλα αυτο δεν μπορούμε να το ισχυριστούμε γιατι η συναρτηση είναι αγνωστη. Υπάρχουν παραδείγματα που πολυώνυμα μικροτερου βαθμού να προσεγγιζουν σημεία της πραγματικής συναρτησης με μεγαλήτερη ακρίβεια απο τα αντίστοιχα μεγαλύτερου βαθμού. Σαν συνολο όμως είναι λογικό να πούμε ότι το πολυώνυμο 5ου μας δίνει καλύτερη εικώνα για το πως είναι η συνάρτηση που δεν γνωριζουμε αναμεσα στα γνωστα της σημεία. Σχήμα 3.1: Η συγκριση μεταξύ του πολυωνύμου παρεμβολής lagrange 3ου και 5ου βαθμού και των σημείων που μας δίνονται δεδομένα εως και το στοιχείο 0.5 38

Σχήμα 3.2: Η συγκριση μεταξύ του πολυωνύμου παρεμβολής lagrange 3ου και 5ου βαθμού και των σημείων που μας δίνονται δεδομένα σε όλες τις ρίζες 39

Κεφάλαιο 4 Άσκηση 3α Θα κατασκευάσουμε έναν αλγόριθμο που θα επιτρέπει αριθμιτική παραγώγιση 3,5 και 7 σημείων χρησιμοποιώντας το αρχείο GG3.DAT. Αρχικά λέμε ότι δεν μπορούμε να παραγωγίσουμε χρησιμοποιώντας την εκφραση f(x 0 + h) f(x 0 ) h (4.0.0.1) Διότι έχουμε να αντιμετοπίσουμε διέρεση με πολυ μικρό αριθμό πράγμα που το σφάλμα στρογγύλευσης θα προκαλέσει μη επιθυμητές επιπλοκές. Αυτός είναι γενικά και ο μεγάλος εχθρός της αριθμιτικής παραγώγισης. Αντιθέτως για να προσσεγγίσουμε την f (x j ) σε (n + 1) σημεία, θα χρησημοποιήσουμε την σχέση: f (x j ) = n k=0 f(x k )L k(x j ) + f (n+1) (ξ(x j )) (n + 1)! n (x j x k ) (4.0.0.2) k=0 k j Αυξάνοντας τον αριθμό των σημείων που χρησιμοποιούμε, πετυχαίνουμε μεγαλύτερη ακρίβεια, παρόλο που η αύξηση του αριθμού των πράξεων και η αύξηση του σφάλματος στρογγύλευσης αποθαρύνει μια τέτοια νοοτροπία. Στο παραδειγμά μας και επειδή τα σημεία απέχουν ίσες αποστάσεις θα έχουμε τα εξίς σετ εξισώσεων για τα 3 και 5 σημεία αντιστοιχα. Μεθοδος τριών σημείων έχει τελικά δυο εξισώσεις: f (x 0 ) = 1 2h [ 3f(x 0) + 4f(x 0 + h) f(x 0 + 2h)] + h2 6 f (3) (ξ 0 ) (4.0.0.3) όπου το ξ 0 κείτε μεταξύ του x 0 και του x 0 + 2h, και f (x 0 ) = 1 2h [f(x 0 + h) f(x 0 h)] h2 6 f (3) (ξ 1 ) (4.0.0.4) όπου το ξ 1 κείτε ανάμεσα στο (x 0 h) και το x 0 + h). Η προσέγγιση της 4.0.0.3 είναι χρήσιμη κοντά στα όρια του διαστήματος καθώς δε θα έχουμε πληροφορίες έξω απο αυτό. Παρόλο που το σφάλμα και στις δυο εξισώσεις είναι της τάξης του h 2 στην 4.0.0.4 είναι περίπου το μισό γιατί χρησιμοποιεί δεδομένα και στις 40

δυο πλευρές γύρω απο το x 0. Μεθοδος πέντε σημείων έχει αναλογως δυο εξισώσεις (σφάλμα τάξης h 4 ): f (x 0 ) = 1 12h [f(x 0 2h) 8f(x 0 h) + 8f(x 0 + h) f(x 0 + 2h)] + h4 30 f (5) (ξ) (4.0.0.5) όπου το ξ κείτε ανάμεσα στο x 0 2h και στο x 0 + 2h. Η επομενη εξίσωσή είναι χρήσιμη σε προσεγγίσεις των ακρων του διαστήματος: f (x 0 ) = 1 12h [ 25f(x 0)+48f(x 0 +h) 36f(x 0 +2h)+16f(x 0 +3h) 3f(x 0 +4h)]+ h4 5 f (5) (ξ) όπου το ξ κείτε ανάμεσα στο x 0 και στο x 0 + 4h. Μεθοδος επτά σημείων (σφάλμα τάξης h 6 ): (4.0.0.6) f (x 0 ) = 1 60h [f(x 0+3h)+9f(x 0 2h)+45f(x 0 h) f(x 0 3h) 9f(x 0 +2h) 45f(x 0 h)]+ h6 7 f (7) (ξ 0 ) (4.0.0.7) όπου το ξ κείτε ανάμεσα στο x 0 3h και στο x 0 + 3h. Στον αλγόριθμό μας θα φτιάξουμε αρχεία D3.DAT, D5.DAT και D7.DAT που θα έχουν αποθηκευμένα τα αποτελέσματα για την παράγογο της συνάρτησης για την οποία έχουμε την δειγματοληψία στο GG3.DAT με την μέθοδο των τριών των πέντε και επτά σημείων αντίστοιχα. Θα χρησιμοποιήσουμε τις εξισώσεις (4.0.0.4), (4.0.0.5) και (4.0.0.7) για τον σκοπό αυτό. 1 PROGRAM d e r i v a t i v e s 2 INTEGER: : i, j, n2, n 3 REAL: : xa (500), ya (500), x, xz, h 4 OPEN(UNIT=20,FILE= GG3.DAT,STATUS= OLD ) 5 OPEN(UNIT=40,FILE= D3.DAT,STATUS= OLD ) 6 OPEN(UNIT=60,FILE= D5.DAT,STATUS= OLD ) 7 OPEN(UNIT=80,FILE= D7.DAT,STATUS= OLD ) 8 DO i =1,500 9 READ( 2 0, ) xa ( i ), ya ( i ) 10 END DO 11 h=0.01 12 d3 : DO i =2,499 13 x=xa ( i ) 14 y =0.5 (1/h) ( ya ( i +1) ya ( i 1) ) 15 WRITE( 4 0, ) x,, y 16 END DO d3 17 d5 : DO i =3,498 18 x=xa ( i ) 19 xz =0. 0833333333333 20 y=xz (1/h) ( ya ( i 2) 8 ya ( i 1)+8 ya ( i +1) ya ( i +2) ) 21 WRITE( 6 0, ) x,, y 22 END DO d5 23 d7 : DO i =4,497 24 x=xa ( i ) 25 xz =0. 0166666666667 26 y=xz (1/h) ( ya ( i +3)+9 ya ( i 2)+45 ya ( i 1) ya ( i 3) 9 ya ( i +2) 45 ya ( i 1) ) 27 WRITE( 8 0, ) x,, y 41

28 END DO d7 29 CLOSE(UNIT=20,STATUS= KEEP ) 30 CLOSE(UNIT=40,STATUS= KEEP ) 31 CLOSE(UNIT=60,STATUS= KEEP ) 32 CLOSE(UNIT=80,STATUS= KEEP ) 33 END Σχήμα 4.1: Παράγωγος με μεθοδο τριών σημείων και αρχικα δεδομένα Στο σχήμα 4.1 παρατηρούμε ότι η παραγώγιση με την μέθοδο τριών σημέίων είναι επιτυχής αλλα έχει σημαντικά σκαπανεμπάσματα σε γειτωνικά σημεία. Μάλιστα αυτή η συμπεριφορά είναι αναμενόμενη γιατί η αριθμιτική παραγώγιση έχει συμαντικά σφαλματα όπως εχουμε αναφέρει. Το ιδιο συμπέρασμα βγαζουμε και απο τα άλλα σχήματα παρόλο το γεγονός ότι αυξανοντας τον αριθμό το σφάλμα μειώνετε και πετυχαίνουμε καλύτερη ακρίβεια στην εκτιμησή μας. 42

Σχήμα 4.2: Παράγωγος με μεθοδο πέντε σημείων και αρχικα δεδομένα Σχήμα 4.3: Παράγωγος με μεθοδο επτα σημείων και αρχικα δεδομένα 43

Σχήμα 4.4: Παράγωγος με τις τρεις μεθόδους και αρχικα δεδομένα 44

Κεφάλαιο 5 Άσκηση 3β Θα λύσουμε το σύστημα: 4.2x 0.2y +0.7z 0.4w = 0.5 +1.6x +6.8y +1.3z 1.1w = 0.4 +1.5x +0.5y +4.9z 1.3w = 0.3 1.4x 1.8y 0.7z 8.3w = 1.1 Με τις μεθόδους απαλοιφής Gauss και Gauss-Seidel. Πριν δώσουμε τους αλγορίθμους και στην συνέχεια τα αποτελέσματα που εξάγανε, να πούμε ότι απο την γραμμική άλγεβρα το σύστημα οφείλει να έχει την εξης λύση: x = 0.133918 y = 0.0350927 z = 0.0428388 w = 0, 0987181 Ο αλγόριθμος για την μέθοδο απαλοιφής Gauss είναι: 1 PROGRAM Gauss Elimination 2 INTEGER: : i, j, n, ICHG, L, k, kk, ip, ca, l k 3 REAL: : array ( 4, 5 ), xa ( 5 ), x,c, xm,w, g i f, jpeg 4 OPEN(UNIT=40,FILE= c o e f.dat,status= OLD )! a r x e i o me tous s y n t e l e s t e s 5 DO i =1,4 6 READ( 4 0, ) array ( i, 1 : 5 ) 7 END DO 8 ICHG = 0 9 n=4 10 nn=n 1 11 M = n+1 12 outer : DO i =1,n 1 13 ip = i 14 i n n e r : DO 15 IF ( abs ( array ( ip, i ) ). ge. 1. 0 E 20. or. ip. gt. n ) EXIT i n n e r 16 ip = ip+1 17 END DO i n n e r 18 IF( ip.eq. n+1)then 19 WRITE(, ) SYSTEM DOES NOT HAVE UNIQUE SOLUTION 20 GOTO 400 21 END IF 45

22!Bhma 3 23 IF( ip.ne. i ) THEN 24 some : DO j =1,n+1 25 ca= array ( i, j ) 26 array ( i, j ) = array ( ip, j ) 27 array ( ip, j ) = ca 28 END DO some 29 i c o u n t = i c o u n t+1 30 END IF 31!Bhma 4 32 jk = i +1 33 i i n n e r : DO j=i +1,n 34!Bhma 5 35!USE XM IN PLACE OF M(J, I ) 36 g i f=array ( j, i ) 37 jpeg=array ( i, i ) 38 xm = ( g i f ) /( jpeg ) 39!STEP 6 40 bash : DO k=i +1,n+1 41 array ( j, k ) = array ( j, k ) xm array ( i, k ) 42 END DO bash 43 array ( j, i ) = 0 44 END DO i i n n e r 45! Bhma 7 46 END DO outer 47 IF( abs ( array (n, n ) ). l t. 1. 0 E 20) THEN 48 WRITE(, ) SYSTEM DOES NOT HAVE UNIQUE SOLUTION2 49 GOTO 400 50 END IF 51! Bhma 8 52! Arxhse BACKWARD SUBSTITUTION 53 xa ( n ) = array (n, n+1)/ array (n, n ) 54 L = n 1 55 zouter : DO k=1,n 1 56 i = L k+1 57 j = i +1 58 w = 0. 0 59 z i n n e r : DO l k=j, n 60 w = w array ( i, l k ) xa ( l k ) 61 END DO z i n n e r 62 xa ( i ) = ( array ( i, n+1)+w) / array ( i, i ) 63 END DO z o u t e r 64 WRITE(, ) PROCEDURE COMPLETED SUCCESSFULLY 65 WRITE(, ) x=, xa ( 1 ) 66 WRITE(, ) y=, xa ( 2 ) 67 WRITE(, ) z=, xa ( 3 ) 68 WRITE(, ) w=, xa ( 4 ) 69 WRITE(, ) i count 70 400 CLOSE(UNIT=40,STATUS= KEEP ) 71 END 46

Τα αποτελέματα του αλγορίθμου είναι: x = 0.13391808 y = 3.50927375E 02 z = 4.28388007E 02 w = 9.87181440E 02 Ο αλγόριθμος για την μέθοδο Gauss-Seidel είναι: 1 PROGRAM Gauss Elimination 2 INTEGER: : i, j, n, ICHG, L, k, kk, ip, ca, l k 3 REAL: : array ( 4, 5 ), xa ( 5 ), x, apprx ( 4 ), s 4 OPEN(UNIT=40,FILE= c o e f.dat,status= OLD )! a r x e i o me tous s y n t e l e s t e s 5 DO i =1,4 6 READ( 4 0, ) array ( i, 1 : 5 ) 7 END DO 8 apprx ( 1 ) = 0.13! a r x e i k e s p r o s s e g i s e i s 9 apprx ( 2 ) = 0.03 10 apprx ( 3 ) = 0.04 11 apprx ( 4 ) = 0.09 12 t o l =0.000001! anoxh s f a l m a t o s 13 n=4 14 nmax=1000000 15 err =0.0 16!Bhma 2 17 outer : DO k=1,nmax 18!Bhma 3 19 i n n e r : DO i =1,4 20 s =0.0 21 i i n n e r : DO j =1,4 22 s=s array ( i, j ) apprx ( j ) 23 END DO i i n n e r 24 s=(s+array ( i, n+1) ) / array ( i, i ) 25 IF ( abs ( s ). gt. err ) err=abs ( s ) 26 apprx ( i )=apprx ( i )+s 27 END DO i n n e r 28!BHMA 4 29 IF ( err. l e. t o l ) THEN 30 WRITE(, ) k=, k, Tol=, t o l 31 EXIT outer 32 END IF 33 END DO outer 34 WRITE(, ) PROCEDURE COMPLETED SUCCESSFULLY 35 WRITE(, ) x=, apprx ( 1 ) 36 WRITE(, ) y=, apprx ( 2 ) 37 WRITE(, ) z=, apprx ( 3 ) 38 WRITE(, ) w=, apprx ( 4 ) 39 CLOSE(UNIT=40,STATUS= KEEP ) 40 END Τα αποτελέματα του αλγορίθμου είναι: x = 0.13391806 y = 3.50927338E 02 z = 4.28388044E 02 w = 9.87181589E 02 47

Οι αλγόριθμοι με επαναληπτικές διαδικασίες χρησιμοποιούντε για την επήλυση γραμμικών συστημάτων με μικρες διαστάσεις, αφού ο χρόνος που απαιτείται για ικανοποιητική ακρίβεια, υπερβαίνει αυτόν που απαιτήται για να λυθεί απο μία άμεση διαδικασία όπως η απαλοιφή Gauss. 48

Κεφάλαιο 6 Άσκηση 4α Στην άσκηση αυτή θα χρησιμοποιήσουμε το αρχείο GG3.DAT για να κατασκευάσουμε αλγόριθμο που θα εκτελεί αριθμητική ολοκλήρωση με μέθοδο τραπεζίου και Simpson 1/3. Η σχέση για την ολοκλήρωση με την μέθοδο τραπεζίου είναι: x2 [ 1 f(x)dx = h 2 f 1 + 1 ] 2 f 2 + O(h 3 f ) (6.0.0.1) x 1 Εδώ ο όρος O() συμβολίζει ότι η αληθηνή απάντηση διαφέρει απο την εκτίμηση κατα ένα ποσό που είναι το γινόμενο κάποιων αριθμητικών συντελεστών επί το h 3 επί την τιμή της δευτερης παραγώγου της συνάρτησης κάπου στο διάστημα της ολοκλήρωσης. Επείδή προφανώς η δευτερη παράγωγος δεν είναι γνωστή θα γράφουμε μόνο το O(). Η εξίσωση της μεθόδου του τραπεζίου είναι εξίσωση δύο σημείων και ειναι ακριβής για πολυώνυμα έως και 1 βαθμού. Η εξίσωση που περιλαμβάνει τρία σημεία είναι ακριβής για πολυώνυμα έως και βαθμού 3. Η εξίσωση της μεθόδου Simpson 1/3 είναι: x3 [ 1 f(x)dx = h 3 f 1 + 4 3 f 2 + 1 ] 3 f 3 + O(h 5 f (4) ) (6.0.0.2) x 1 Εφαρμόζοντας την 6.0.0.1 N 1 φορές, στα διαδοχικά διαστήματα (x 1, x 2 ), (x 2, x 3 ),,...,(x N 1, x N ) πέρνουμε την σχέση: xn [ 1 f(x)dx = h 2 f 1 + f 2 + f 3 + + f N 1 + 1 ] ( ) (b a) 3 2 f f N + O (6.0.0.3) N 2 x 1 Η τελευταία σχέση μας δίνει μια εικώνα σχετικά με το πόσο αλλάζει το σφάλμα με την αλλαγή του αριθμού των βημάτων αν κρατήσουμε σταθερά τα α και β. Κάνοντας το ίδιο και για την Simpson παίρνουμε: xn x 1 [ 1 f(x)dx = h 3 f 1 + 4 3 f 2 + 2 3 f 3 + 4 3 f 4 + + 2 3 f N 2 + 4 3 f N 1 + 1 ] ( ) 1 3 f N + O N 4 Ετσι με την μέθοδο του τραπεζίου θα έχουμε τον αλγόριθμο: (6.0.0.4) 49

1 PROGRAM trapzd 2 INTEGER: : i 3 REAL: : xa (500), ya (500), s, h 4 OPEN(UNIT=20,FILE= GG3.DAT,STATUS= OLD ) 5 DO i =1,500 6 READ( 2 0, ) xa ( i ), ya ( i ) 7 END DO 8 h=0.01 9 s =0.0 10 outer : DO i =2,499 11 s=s+ya ( i ) 12 END DO outer 13 s=s +0.5 ya ( 1 ) +0.5 ya (500) 14 s=h s 15 WRITE(, ) I n t e g r a l=, s 16 CLOSE(UNIT=20,STATUS= KEEP ) 17 END Που δίνει αποτέλεσμα I = 13.946203. Ενώ αντοίστοιχα με την μέθοδο Simpson 1/3 : 1 PROGRAM simpson 2 INTEGER: : i 3 REAL: : xa (500), ya (500), s, h 4 OPEN(UNIT=20,FILE= GG3.DAT,STATUS= OLD ) 5 DO i =1,500 6 READ( 2 0, ) xa ( i ), ya ( i ) 7 END DO 8 h=0.01 9 s =0.0 10 outer : DO i =2,498,2 11 s=s +1.33333333333 ya ( i ) 12 END DO outer 13 outer2 : DO i =3,499,2 14 s=s +0.666666666667 ya ( i ) 15 END DO outer2 16 s=s +0.333333333333 ya ( 1 ) +0.333333333333 ya (500) 17 s=s h 18 WRITE(, ) I n t e g r a l=, s 19 CLOSE(UNIT=20,STATUS= KEEP ) 20 END Που δίνει αποτέλεσμα I = 13.929869. Επιδεί όπως διαπιστώνουμε και απο το γράφημα της GG3.DAT περιγράφει συνάρτηση μεγαλύτερου απο βαθμού 1, περιμένουμε το σφλαλμα στην μέθοδο Simpson να είναι μικρότερο απο αυτό της μεθόδου του τραπεζίου. Συγκεκριμένα το σφάλμα της μεθόδου τραπεζίου θα πρέπει να είναι της τάξης του O(1/N 2 ) 10 6 και του σφάλματος τραπεζίου O(1/N 4 ) 10 11. Η διαφορά του ολοκληρώματος με τις δυο μεθόδους που βγάλαμε είναι πολλές τάξεις μεγέθους μεγαλύτερη απο αυτό που θα περιμέναμε απο την προηγουμενη εκτιμηση. Αυτό οφείλετε στο γεγονός ότι η συ ότι η μέθοδος τραπεζίου δεν είναι κατάληλη για αυτή την συνάρτηση επειδή στο σφάλμα θα συνησφέρει η δευτερη παράγωγος στα σημεία που καμπυλώνετε αρκετα η συναρτηση. Επιπλέον πρεπει να ξέρουμε ότι ο υπολογιστής έχει πεπερασμένη ακρίβεια και σιγουρα δεν μπορεί να αποδόσει άπειρη ακρίβεια αντιθέτως συσορεύονται σφάλματα στο τελικό αποτέλεσμα. 50

Κεφάλαιο 7 Άσκηση 4β Ξέρουμε ότι η ροπή αδράνειας είναι: I = (M) r 2 dm (7.0.0.1) Οπου απο dm είναι στοιχειώδης μάζα που απέχει x απο τον άξονα που βρίσκετε στο x = 0. Προφανώς θα είναι dm = p(x)dx. Το ολοκληρομα που έχουμε να λύσουμε, τώρα γίνετε: I = 1 0 p(x)x 2 dx (7.0.0.2) Ομως μας δίνετε ότι p(x) = 1 x + e x οπότε μπορούμε να λύσουμε: 1 [ ] 1 1 I = p(x)x 2 dx = 0 12 (4 3x)x3 + e x (x 2 2x + 2) 0.8016151617923784 0 (7.0.0.3) Για να υπολογίσουμε το παραπάνω ολοκλήρωμα και μάλιστα με ακρίβεια 0.1% (δηλαδή θα θέσουμε για σφάλμα 10 3 θα κατασκευάσουμε τον παρακάτω αλγόριθμο. 1 PROGRAM tor2 2 INTEGER: : N, i, L(10000) 3 REAL: : a (10000),b, t o l (10000), h (10000), app, func, f a (10000), f c (10000), fb (10000), s (10000), fd, fe, s1, s2, u1, u2, u3, u4, u5, u6, u7, u8 4!STEP1 5 N=10000 6 app=0 7 i =1 8 t o l ( i ) =15 0.001 9 a ( i )=0 10 b=1 11 h ( i )=(b a ( i ) ) /2 12 f a ( i )=func ( 0 ) 51

13 f c ( i )=func ( a ( i )+h ( i ) ) 14 fb ( i )=func ( b ) 15 s ( i )=h ( i ) ( f a ( i )+4 f c ( i )+fb ( i ) ) /3! ( Approximation from Simpson s method f o r e n t i r e i n t e r v a l. ) 16 L( i )=1 17 18!STEP2 19 outer : DO 20 i f ( i. l e. 0 ) EXIT outer 21!STEP3 22 fd=func ( a ( i )+h ( i ) /2) 23 f e=func ( a ( i )+3 h ( i ) /2) 24 s1=h ( i ) ( f a ( i )+4 fd+f c ( i ) ) /6! Approximations from Simpson s method f o r h a l v e s o f s u b i n t e r v a l s. 25 s2=h ( i ) ( f c ( i )+4 f e+fb ( i ) ) /6 26 u1=a ( i )! Save data at t h i s l e v e l. 27 u2=f a ( i ) 28 u3=f c ( i ) 29 u4=fb ( i ) 30 u5=h ( i ) 31 u6=t o l ( i ) 32 u7=s ( i ) 33 u8=l( i ) 34 35!STEP4 36 i=i 1! ( Delete the l e v e l. ) 37!STEP5 38 IF( abs ( s1+s2 u7 ) / abs ( u7 ). l t. u6 ) THEN 39 app=app+(s1+s2 ) 40 else 41 i f ( u8. ge.n)then 42 WRITE(, ) Level Exceeded! ( Procedure f a i l s. ) 43 EXIT outer 44 else! (Add one l e v e l. ) 45 i=i +1! ( Datafor r i g h t h a l f s u b i n t e r v a l. 46 a ( i )=u1+u5 47 f a ( i )=u3 48 f c ( i )=f e 49 fb ( i )=u4 50 h ( i )=u5/2 51 t o l ( i )=u6/2 52 s ( i )=s2 53 L( i )=u8+1 54 55 i=i +1! Data f o r l e f t h a l f s u b i n t e r v a l. 56 a ( i )=u1 57 f a ( i )=u2 58 f c ( i )=fd 59 fb ( i )=u3 60 h ( i )=h ( i 1) 61 t o l ( i )=t o l ( i 1) 62 s ( i )=s1 63 L( i )=L( i 1) 64 ENDIF 65 ENDIF 52

66 END DO outer 67 68 i f ( i. l e. 0 ) THEN 69 WRITE(, ) I=, app!app approximates I to w i t h i n TOL. ) 70 ENDIF 71 72 END 73 74 75 FUNCTION func ( x )! orizoume t i n s i n a r t i s i mas 76 func=(1 x+exp ( x ) ) x 2 77 RETURN 78 END Που ύστερα απο την εκτέλεσή του επιστρέφει αποτέλεσμα 0.80224162. Που είναι μέσα στην ακρίβεια που θέλαμε γιατί αν το συγκρίνουμε με το αναλυτικό αποτέλεσμα θα έχουμε: 0.80224162 0.8016151617923784 0.8016151617923784 100 = 0.0781495 = 0.1% (7.0.0.4) 53

Κεφάλαιο 8 Άσκηση 5 Εχουμε να λύσουμε το πρόβλημα ρίψης σφαίρας με μοναδιαία αρχική ταχύτηταu 0 = 1 και σε γωνία 70 o. Στην σφαίρα θα θεωρήσουμε ότι επιδρά η μόνο η δύναμη της βαρυτητας και θα αγνωήσουμε αλλες δυνάμεις (πχ: αντίσταση αέρα, ή δύναμη coriolis) και η όλη κίνηση θα γίνει σε ένα επίπεδο. Θεωρούμε άξονα x παράληλο με το έδαφος και άξονα y κατακόρυφο.η δύναμη της βαρύτητας g = gŷ = 0.3ŷ. Διαλέξαμε το μετρο της δυναμης της βαρύτητας μικρό, για ευκολία στην απεικόνηση. Για να το πετύχουμε αυτό θα κάνουμε χρήση των μεθόδων Euler και Runge-Kutta 4 ης τάξης. Θα αναλύσουμε την κίνηση στους άξονες x και y. Επειδή ως γνωστών, x = rcosϑ, y = rsinϑ αναλύουμε τις αρχικές ταχύτητες ώς u 0x = cos(70 o ) 0.34 και u 0y = sin(70 o ) 0.94. Αν λύσουμε αναλυτικά: ÿ = g y(t) = 0.5gt 2 + ẏ 0 t y(t) = 0.15t 2 + 0.94t (8.0.0.1) 8.0.1 Μέθοδος Euler Αν διαλέξουμε N ίσα διαστήματα στο [a, b] τότε το διάστημα ανάμεσα στα σημεία θα είναι h = (b a)/n. Ο χρόνος που θα χρησιμοποιούμε δηλαδή θα είναι: t i = a + ih, i = 0, 1, 2,..., N (8.0.1.1) Η εξίσωση που θα εκτελει τις διαδοχικές προσσεγγίσεις θα είναι: w 0 = a w i+1 = w i + hf(t i, w i ), i = 0, 1,..., N 1 (8.0.1.2) 54

Σχήμα 8.1: Γραφική παράσταση της κίνησης στην διάσταση y συναρτήση του χρόνου, απο την αναλυτική λύση Επειδή στον άξονα x δεν ασκήτε δυναμη τόσο εδώ όσο και στο επόμενο παράδειγμα δεν θα ασχοληθουμε με την κίνησή του καθώς αυτή θα είναι ευθύγραμη με σταθερή ταχύτητα. Στον άξονα y θα ξεκινήσουμε απο το y = 0 και θα λήξουμε την κίνηση όταν θα ξανα αποκτήσει την τιμή y = 0. Η διαφορική θα είναι Ο αλγόριθμός υπολογισμού είναι: uy 0 =.94 uy i+1 = uy i + h( 0.15), i = 0, 1,..., N 1 (8.0.1.3) 1 PROGRAM e u l e r 2 INTEGER: : n, i 3 REAL: : a, b, y0, y, h, t, g, uy, uy0 4 a=0 5 b=7.5 6 y0=0 7 uy0 =0.94 8 WRITE(, ) Give I n t e g e r value N 9 READ(, ) n 10 OPEN(UNIT=40,FILE= e u l e r 3.DAT,STATUS= OLD ) 11!STEP 1 12 h=(b a ) /n 13 t=a 14 y=y0 15 uy=uy0 55

16 WRITE( 4 0, ) t,, y 17 g= 0.3 18!STEP 2 19 outer : DO i =1,n 20!STEP 3 21 y=y+h uy 22 uy=uy+h g 23 t=a+i h 24 WRITE( 4 0, ) t,, y 25 IF ( y. l e. 0 ) EXIT outer 26 END DO outer 27 CLOSE(UNIT=40,STATUS= KEEP ) 28 END Σχήμα 8.2: Γραφική παράσταση της κίνησης στην διάσταση y συναρτήση του χρόνου, απο την αναλυτική λύση, και την Euler για Ν=20 και Ν=100. Οπως αναμέναμε όσο προχωράει ο χρόνος τόσο μεγαλώνει το σφάλμα. Και όπως είναι λογικό όσο μικρένουμε το βήμα μας τόσο μικραίνει το σφάλμα γιατί έχουμε περισσότερη πληροφορία για την συμπεριφορά της παραγώγου σε ενδοιάμεσα βήματα. 56

8.0.2 Μέθοδος Runge-Kutta 4 ης τάξης Η μέθοδος αυτή έχει τα εξίς υπολογιστικά βήματα: w 0 = a k 1 = hf(t i, w i ), ( k 2 = hf t i + h 2, w i + 1 ) 2 k 1, ( k 3 = hf t i + h 2, w i + 1 ) 2 k 2, (8.0.2.1) Ο αλγόριθμός υπολογισμού είναι: k 4 = hf(t i+1, w i + k 3 ), w i+1 = w i + 1 6 (k 1 + 2k 2 + 2k 3 + k 4 ) 1 PROGRAM e u l e r 2 INTEGER: : n, i 3 REAL: : a, b, y0, uy0, h, k1, k2, k3, k4, kk1, kk2, kk3, kk4 4! Step 1 5 a=0 6 b=7.5 7 y0=0 8 uy0 =0.94 9 WRITE(, ) Give I n t e g e r value N 10 READ(, ) n 11 OPEN(UNIT=40,FILE= runge2.dat,status= NEW ) 12 h=(b a ) /n 13 t=a 14 y=y0 15 uy=uy0 16 g=0.3 17 WRITE( 4 0, ) t,, y 18! Step 2 19 outer : DO i =1,n 20! Step 3 21 22 kk1=uy0 g t 23 kk2=uy0 g ( t+h /2) 24 kk3=uy0 g ( t+h /2) 25 kk4=uy0 g ( t+h ) 26 y=y+h ( kk1+2 kk2+2 kk3+kk4 ) /6 27 t=a+i h 28 WRITE( 4 0, ) t,, y 29 IF ( y. l e. 0 ) EXIT outer 30 END DO outer 31 CLOSE(UNIT=40,STATUS= KEEP ) 32 END 8.0.3 Συγκριση των μεθόδων Απο την θεωρεία περιμένουμε η Runge-Kutta να είναι καλήτερη απο την Euler γιατί στην πρώτη μέθοδο έχουμε πληροφορίες για την συμπεριφορά της συνάρτησης στα ενδοιάμεσα 57

Σχήμα 8.3: Γραφική παράσταση της κίνησης στην διάσταση y συναρτήση του χρόνου, απο την αναλυτική λύση, και την Runge-Kutta για Ν=20 και Ν=100. Διαπιστόνουμε ότι η ακρίβεια είναι εκπληκτικά καλύτερη από το την αντίστοιχη Euler σημεία της τροχιάς, ενώ στην δεύτερη έχουμε πληροφορίες μόνο για τα διακριτά βήματα χρόνου που πραγματοποιούμε. Συνιθήζεται να λέμε ότι η μέθοδος Euler έχει ακρίβεια πρώτης τάξης ενώ η μέθοδος Runge-Kutta έχει ακρίβεια τέταρτης τάξης. Ουσιαστικά σε κάθε χρονικό βήμα, δ, το λάθος που κάνουμε είναι της τάξεως δ 2 ή δ 5 αντίστοιχα. Για να φτάσουμε όμως μέχρι την χρονική στιγμή, κανουμε T/δ βήματα, άρα το συνολικό λάθος είναι: T δ δ2 O(δ)Euler T δ δ5 O(δ 4 )Runge Kutta (8.0.3.1) Για να κάνουμε ποιο πειστικά τα παραπάνω, θα κρατήσουμε σταθερή την τελική χρονική στιγμή Τ και θα μεταβάλλουμε τον αριθμό των σημείων Ν, και άρα επομένως και το μήκως των διαστημάτων, και κάθε φορά υπολογίζουμε τις διαφορές: Με την μέθοδο Ευλερ εχουμε: Απο τον αλγόριθμο: 1 PROGRAM e u l e r E r1 (N) = y theor(t ) y Euler (T ) E r2 (N) = y theor(t ) y R.K. (T ) (8.0.3.2) 58

Σχήμα 8.4: Άλλο ένα παράδειγμα που δείχνει την ακρίβεια της Runge-Kutta εναντι της Euler 2 INTEGER: : n, i 3 REAL: : a, b, y0, y, h, t, g, uy, uy0 4 OPEN(UNIT=40,FILE= e u l e r e r.dat,status= OLD ) 5 second : DO n=3,500 6 a=0 7 b=7.5 8 y0=0 9 uy0 =0.94 10!STEP 1 11 h=(b a ) /n 12 t=a 13 y=y0 14 uy=uy0 15 g= 0.3 16!STEP 2 17 outer : DO i =1,n 18!STEP 3 19 y=y+h uy 20 uy=uy+h g 21 t=a+i h 22 END DO outer 23 er=abs ( y +1.3875) 24 WRITE( 4 0, ) n,, er 25 END DO second 26 CLOSE(UNIT=40,STATUS= KEEP ) 27 END 59

Σχήμα 8.5: Η μέθοδος Euler και το πως καταιβαίνει το σφάλμα με την αύξηση των βημάτων Επειδη η Matlab είναι καταληρότερη για να περιγραφει το σφάλμα για την Runge- Kutta και λόγο της πεπερασμένης ακρίβειας αποθυκευσης αριθμών στην Runge-Kutta στο σχήμα 8.6 που μας δίχνει την εφαρμογή αυτων που γράψαμε παραπάνω. 60