5269: Υπολογιστικές Μέθοδοι για Μηχανικούς Εύρεση Ριζών http://ecourses.chemeng.ntua.gr/courses/computational_methods_for_engineers/
Εύρεση Ριζών Πρόβλημα : Ζητείται x 0, τέτοιο ώστε f(x 0 )=0 x0 : ρίζα, ή μηδενικό (zero of a function)
Παράδειγμα Για τον BJ : Να βρεθεί το (m: μάζα) ώστε v = 36 m/s, για t = 4 s Δίνεται ότι C D = 0,25 kg /s Πρώτη σκέψη: Γραφική Μέθοδος Εύκολη εφαρμογή, καλή εικόνα του προβλήματος Δύσκολη αλγοριθμική επίλυση Υπολογιστικές Μέθοδοι Κλειστές (Bracketing) εγκλωβισμός της ρίζας σε κλειστό διάστημα Ανοιχτές (open) αναζήτηση ξεκινώντας από μια αρχική εκτίμηση
Βασίζονται στο: Κλειστές (Bracketing) χρειάζονται δυο αρχικές εκτιμήσεις (initial guesses) συγκλίνουν πάντα (όταν ξεκινήσουν) Αν x, f(x) R και f συνεχής για x (x l, x u ), και f(x l )*f(x u ) < 0 τότε ξ (x l, x u ) : f(ξ) = 0 x l, x u =? Εύρεση των x l, x u με σταδιακή επαύξηση του διαστήματος (incremental search) Υπάρχουν πολλές εναλλακτικές Μπορεί να χαθεί ρίζα από μεγάλη επαύξηση του διαστήματος
Μέθοδος διχοτόμησης (bisection method) f(x) x u x x l Εκτιμήσεις, x r, της ρίζας με διαδοχικά βήματα εγκλωβισμού της. Διχοτόμηση (bisection) του διαστήματος (x l, x u ) x r = (x l +x u )/2 Τερματισμός: ε a < ε f (κριτήριο τερματισμού, πχ ε f = 5*10-3 ) ε a = x r (n) xr (n 1) x r (n)
Σύγκλιση της μεθόδου Πορεία σύγκλισης - Απόδειξη Ε a > Ε t, γιατί? ασφάλεια εκτίμησης η μέθοδος συγκλίνει πάντα στη ρίζα!
Ανοιχτές Μέθοδοι (open methods): χρειάζονται μια αρχική εκτίμηση (initial guess), δε συγκλίνουν πάντα θα εξετάσουμε: α) Επανάληψη σταθερού σημείου (Fixed Point Iteration) β) Μέθοδος Newton Raphson
Επανάληψη σταθερού σημείου (Fixed Point Iteration) ή (Μέθοδος διαδοχικών αντικαταστάσεων (successive substitution) ή Μέθοδος Picard Πρόβλημα : Ζητείται x, τέτοιο ώστε f(x)=0 Αναδιατύπωση: Ζητείται x, τέτοιο ώστε x = g(x) Επαναληπτικό σχήμα: Αρχική εκτίμηση (initial guess): x 1 = a Ενημέρωση (update), διόρθωση (correction) : x i+1 = g(x i ) Κριτήριο τερματισμού: ε α = x i+1 x i x i+1 < e (επιλογής μας, πχ e = 5x 10-3 )
Παράδειγμα: να βρεθεί η ρίζα της f(x) = e -x - x Αναδιατύπωση : f(x) = e -x - x ==> x = e -x Επαναληπτικό σχήμα : x 1 = 0 Αποτελέσματα: x i+1 = e -x i Η ρίζα είναι x 0 = 0.56714329
Γραφική αναπαράσταση
η μέθοδος δε συγκλίνει πάντα! Αποδεικνύεται ότι Ε i+1 = g (ξ) * Ε i Για g > 1 η μέθοδος αποκλίνει
Μέθοδος Newton Raphson ή Newton Iteration ff(x) = f x i 0 x i x i+1 Επαναληπτικό σχήμα: Αρχική εκτίμηση (initial guess): x 1 = a Ενημέρωση (update), διόρθωση (correction) : x i+1 = x i f x i ff(x i ) Κριτήριο τερματισμού: ε α = x i+1 x i x i+1 < e (επιλογής μας, πχ e = 5x 10-3 )
Παράδειγμα: να βρεθεί η ρίζα της f(x) = e -x - x f x = e x 1 Επαναληπτικό σχήμα : αρχική εκτίμηση (initial guess) : x 0 = 0 Ενημέρωση (update) x i+1 = x i f x i ff(x i ) Αποτελέσματα: x i+1 = x i e x i x i e x i 1 Η ρίζα είναι x 0 = 0.56714329
Η μέθοδος Newton δε συγκλίνει πάντα γρήγορα Παράδειγμα: να βρεθεί η ρίζα της f x = x 10 1 αρχική εκτίμηση (initial guess) : x 0 = 0.5 Ενημέρωση (update) x i+1 = x i f x i ff(x i ) Αποτελέσματα: x i+1 = x i x i 10 1 10x i 9 Η ρίζα είναι x 0 = 1.
Η μέθοδος Newton δε συγκλίνει πάντα γρήγορα (γραφική αναπαράσταση)
προβληματικές περιπτώσεις όπου η Newton αποκλίνει
Και ο bungee jumper... Εύρεση του m για v(t=4) = 36 m/s, c D = 0,25 kg/m f m = gg c D tanh gc D m t v(t) Στη μέθοδο Newton χρειαζόμαστε την f dd(m) dd = 1 2 g mc D tanh gc D m t g gc t (cosh 2m D m t ) 2!!! Επίλυση στο εργαστήριο....
Τελικά δεν είναι τόσο δύσκολο Μέθοδος Χορδής (secant method) (παραλλαγή της Newton) ff(x i ) f x i 1 f x i x i 1 x i Ενημέρωση (update) x i+1 = x i f(xx)/ f x i 1 f x i x i 1 x i Εναλλακτικά (αλλά καλύτερα) Τροποποιημένη Μέθοδος Χορδής (modified secant method) (πιο κοντά στη Newton) ff(x i ) f x i + h f x i h, h μικρή διαταραχή στο x i x i+1 = x i f(x i )/ f x i + h f x i h
Πάλι αυτός... (ο bungee jumper) Εύρεση του m για v(t=4) = 36 m/s, c D = 0,25 kg/m f m = gg c D tanh gc D m t v(t) Επίλυση με τροποποιημένη μέθοδο χορδής Αρχική εκτίμηση x 0 = 50, Προσοχή στην επιλογή του h. Εδώ επιλέξτε h = a*x i, a=10-6 Αποτελέσματα: