Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών. Εισαγωγή (ορισμός προβλήματος, αριθμητική ολοκλήρωση ΣΔΕ, αντικατάσταση ΣΔΕ τάξης n με n εξισώσεις ης τάξης). Μέθοδος Euler 3. Μέθοδοι Runge-Kutta 4. Συστήματα συνήθων διαφορικών εξισώσεων 5. Σφάλματα, διάδοση σφαλμάτων, ευστάθεια και σύγκλιση
. Εισαγωγή Η μοντελοποίηση πολλών φυσικών φαινομένων και συστημάτων και κυρίως αυτών που εξελίσσονται στο χρόνο επιτυγχάνεται με την χρήση συνήθων διαφορικών εξισώσεων. Αρκετές κατηγορίες συνήθων διαφορικών εξισώσεων επιλύονται αναλυτικά αλλά ακόμη περισσότερες είναι αυτές που δεν επιλύονται αναλυτικά, δηλαδή δεν έχουν αναλυτικές λύσεις κλειστής μορφής και η επίλυσή τους επιτυγχάνεται μόνο αριθμητικά. Στο κεφάλαιο αυτό θα ασχοληθούμε με αριθμητικές τεχνικές επίλυσης συνήθων διαφορικών εξισώσεων. Έστω μια συνήθης διαφορική εξίσωση (ΣΔΕ) της μορφής n dy d y d y F x,y,,,, 0, n dx dx dx όπου x και y η ανεξάρτητη και εξαρτημένη μεταβλητή αντίστοιχα. Η ΣΔΕ έχει μοναδική λύση μόνο όταν συνοδεύεται από n συνθήκες.
Εάν οι συνθήκες αυτές ορίζονται σε ένα σημείο x, έστω στο σημείο x 0, τότε το πρόβλημα ονομάζεται πρόβλημα αρχικών τιμών, ενώ εάν ορίζονται σε περισσότερα από ένα σημείο τότε το πρόβλημα ονομάζεται πρόβλημα οριακών τιμών. Στο παρόν κεφάλαιο θα ασχοληθούμε αποκλειστικά με προβλήματα αρχικών τιμών, όπου η ΣΔΕ n τάξης n dy d y d y F x,y,,,, 0, n dx dx dx συνοδεύεται από n αρχικές συνθήκες: y x b, 0 0 dy, dx x x 0 b d y dx xx 0 b,, d dx n y n xx 0 b n 3
Ένα πρόβλημα αρχικών τιμών n τάξης, συνήθως αντικαθίσταται με ένα σύστημα n ΣΔΕ η συνήθης διαφορική εξίσωση με n εξισώσεις ης τάξης. Αυτό επιτυγχάνεται προσδιορίζοντας n νέες εξαρτημένες μεταβλητές. Αντίστοιχα οι n αρχικές συνθήκες για τις παραγώγους της άγνωστης εξαρτημένης μεταβλητής αντικαθίστανται με αρχικές συνθήκες για τις n νέες εξαρτημένες μεταβλητές του συστήματος. Θέτοντας y dy, dx y d y,, dx y n n d y dx προκύπτει το σύστημα y' y, y' y,., y' n yn με αρχικές συνθήκες y x, F x,y,y, y, y n,y' n b, y x b, y x b,., 0 0 0 0 0 y x b n 0 n 4
Παράδειγμα: d y dx Εξίσωση Bessel ης τάξης: x x x p dy, όπου p μια σταθερά. dx 0 Θέτοντας y dy y dy προκύπτει το σύστημα δύο εξισώσεων ης τάξης dx dx dy x xy x p y dx 0 Επομένως, αφού στην περίπτωση προβλημάτων αρχικών τιμών, μια εξίσωση n τάξης μπορεί να αντικατασταθεί από σύστημα n εξισώσεων ης τάξης θα ασχοληθούμε πρώτα με την επίλυση απλών εξισώσεων ης τάξης και στη συνέχεια με συστήματα. 5
. Μέθοδος Euler Έστω το πρόβλημα αρχικών τιμών: f x,y dx, y x Είναι προφανές ότι για κάθε ζεύγος σημείων * * dy y 0 0 ταυτίζεται με τη κλίση της άγνωστης συνάρτησης yx στο σημείο Για παράδειγμα στο x x0 dy f x,y x f x,y dx : x x 0 x,y x η συνάρτηση * * f x,yx 0 0 0 0 Η μέθοδος Εuler βασίζεται στην υπόθεση ότι για μια μικρή απόσταση x κατά μήκος του άξονα x η κλίση της συνάρτησης yx είναι σταθερή με τιμή ίση με τη τιμή της κλίσης στην αρχή του διαστήματος. * x. 6
Αναπτύσσεται η yx σε σειρά Taylor γύρω από το σημείο x 0: dy x dy 0 0 xx 0 xx y x x y x x dx dx Εφαρμόζοντας την βασική υπόθεση της μεθόδου Euler στην πρώτη παράγωγο της και αποκόβοντας τους όρους από ης τάξης και επάνω προκύπτει η σχέση 0 0 0, 0 y x y x x y x xf x y Έχοντας υπολογίσει την τιμή y x η διαδικασία επαναλαμβάνεται και προκύπτει y x y x xf x,y Θεωρώντας ότι κάθε φορά προχωρούμε στον άξονα x κατά ένα βήμα h μέθοδος Euler γράφεται στη γενική μορφή y x y x hf x,y x, 0,,, 0 x η 7
ή στην πιο συνεκτική μορφή y y hf x, y O h, 0,,, Η έκφραση (αλγόριθμος) Euler έχει ρητή μορφή, δηλαδή η άγνωστη ποσότητα βρίσκεται μόνο στην αριστερή πλευρά της αναγωγικής σχέσης. Η γεωμετρική αναπαράσταση της μεθόδου Euler είναι απλούστατη. y x είναι ομαλή και η Η μέθοδος είναι αποτελεσματική μόνο όταν η συνάρτηση κλίση της στο διάστημα x παραμένει περίπου σταθερή και ίση με την κλίση της y x στην αρχή του διαστήματος. 8
Παράδειγμα: Έστω η διαφορική εξίσωση y' x y, y 0 y 0. με αρχική συνθήκη 0 Αναλυτική λύση είναι x y x e x. subroutne euler(x,y,h,n) real::x(:),y(:),h nteger::,n do =,n- y(+)=y()+h*f(x(),y()) x(+)=x()+h enddo end subroutne euler 9
Η μέθοδος Euler για h 0., δίδει τον παρακάτω πίνακας αποτελεσμάτων: Αριθμός βήματος x Αριθμητική λύση y f x,y Αναλυτική λύση y x Απόλυτο σφάλμα y y x 0 0 0 0 0 0 0. 0 0. 0.005-0.005 0. 0.0 0. 0.04-0.04 3 0.3 0.03 0.33 0.0499-0.089 4 0.4 0.064 0.464 0.098-0.077 0.0 0.5937.5937 0.783-0.46 Όπως προκύπτει από την τελευταία στήλη του πίνακα το απόλυτο σφάλμα αυξάνει σε κάθε βήμα της μεθόδου. Όπως θα δούμε παρακάτω το τοπικό σφάλμα της μεθόδου O h. Euler είναι O h αλλά το συνολικό σφάλμα είναι 0
Στο σημείο αυτό είναι χρήσιμο να ξανά-διατυπώσουμε την μέθοδο Euler εφαρμόζοντας αριθμητική ολοκλήρωση αντί για αριθμητική παραγώγιση (σειρά Taylor). dy Έστω το πρόβλημα αρχικών τιμών: f x,y dx, x x 0,xN με y x y. 0 0 xn x0 Επιλέγεται το διάστημα h, όπου N είναι ο αριθμός των ίσων διαστημάτων N που διαιρείται το διάστημα x,x και x x0 h,,,,n 0 N Στη συνέχεια ολοκληρώνεται η ΣΔΕ κατά μήκος των N υπό-διαστημάτων:
0 N N x x x x y y f x,y dx 0 y y f x,y dx... x y y f x,y dx x x x y y f x,y dx. N N Ο αναλυτικός υπολογισμός των ολοκληρωμάτων δεν είναι εφικτός, αφού οι συναρτήσεις f x,y δεν είναι γνωστές στα υπό-διαστήματα ολοκλήρωσης. Εισάγεται η βασική υπόθεση της μεθόδου Euler όπου υποθέτουμε ότι η τιμή της συνάρτησης f x,y σε κάθε υπό-διάστημα παραμένει σταθερή και ίση με την τιμή της f αρχή του υπό-διαστήματος. x,y στην Η προσέγγιση αυτή είναι αντίστοιχη με την μεθοδολογία αριθμητικής ολοκλήρωσης I 0, ακρίβειας O h. Τα ολοκληρώματα υπολογίζονται προσεγγιστικά και προκύπτει η αναγωγική έκφραση της μεθόδου Euler.
Η ακρίβεια της μεθόδου Euler βελτιώνεται εάν βελτιωθεί η ακρίβεια της αριθμητικής ολοκλήρωσης σε κάθε υπό-διάστημα. Για παράδειγμα εάν η αριθμητική ολοκλήρωση πραγματοποιηθεί με αριθμητική ολοκλήρωση I, δηλαδή κανόνα του τραπεζίου, προκύπτει η αναγωγική έκφραση h 3 y y f x,y f x,yoh. Η σχέση αυτή έχει πεπλεγμένη μορφή, δηλαδή η άγνωστη ποσότητα βρίσκεται και στις δύο πλευρές της αναγωγικής σχέσης. Στις περιπτώσεις αυτές η άγνωστη ποσότητα προκύπτει μετά από επαναληπτική διαδικασία που σταματά όταν ικανοποιηθεί το κριτήριο σύγκλισης. Ο αλγόριθμος γράφεται στη μορφή h y y f x,y f x,y (n ) (n) όπου ο δείκτης n σε παρένθεση είναι ο δείκτης επανάληψης.
Είναι προφανές ότι η αριθμητική προσπάθεια αυξάνει σημαντικά, αφού κάθε βήμα συνοδεύεται από ένα αναγκαίο αριθμό επαναλήψεων ώστε να βελτιωθεί η τιμή y που προκύπτει μετά την πρώτη επανάληψη. Ο μέθοδος αυτή είναι γνωστή σαν πεπλεγμένη Euler ή μέθοδος Heun. Επιλέγοντας άλλα σχήματα αριθμητικής ολοκλήρωσης οδηγούμεθα σε αντίστοιχα σχήματα αριθμητικής επίλυσης συνήθων διαφορικών εξισώσεων. Για το λόγο αυτό πολλές φορές όταν αναφερόμεθα σε μεθόδους επίλυσης συνήθων διαφορικών εξισώσεων έχει επικρατήσει ο όρος αριθμητική ολοκλήρωση συνήθων διαφορικών εξισώσεων.
3. Μέθοδοι Runge-Kutta Πρόκειται για οικογένεια μεθόδων ενός βήματος με την έννοια ότι η τιμή της εξαρτημένης τιμής στο τέλος του βήματος, όπως και στη μέθοδο Euler, εξαρτάται μόνο από την πληροφορία που αντλείται εντός του συγκεκριμένου βήματος. Δηλαδή η y εξαρτάται μόνο από την y και άλλες τιμές της y στο διάστημα x,x. Η απλούστερη όλων είναι η Runge-Kutta ης τάξης που δίδεται από τη σχέση h y y f x,y f x,y hf x,y. Ο αλγόριθμος Runge-Kutta ης τάξης προκύπτει εφαρμόζοντας την μέθοδο Euler δύο φορές ή την πεπλεγμένη Euler για μία μόνο επανάληψη. 3
Πρώτα υπολογίζεται η ενδιάμεση τιμή ŷ y hf x,y και στη συνέχεια την τελική τιμή h y ˆ y f x,y f x,y. Η Runge-Kutta ης τάξης συνοψίζεται στον αλγόριθμο k f x,y k f x h,y hk h y y k k 0,, Ο αλγόριθμος γίνεται εύκολα κατανοητός από την γεωμετρική του αναπαράσταση. 4
Οι Runge-Kutta μεγαλύτερης τάξης προκύπτουν με παρόμοιο τρόπο εφαρμόζοντας μεθόδους αριθμητικής ολοκλήρωσης μεγαλύτερης τάξης. Ο αλγόριθμος της Runge-Kutta 3 ης τάξης, προκύπτει εφαρμόζοντας αριθμητική ολοκλήρωση αντίστοιχη με αυτή του ο κανόνα του Smpson: k f x,y h h k f x,y k k3 f x h,y hk h y y k 4k k3 6 0,, Οι ποσότητες k,k,k 3 προσεγγίζουν τις παραγώγους της εξαρτημένης μεταβλητής στα h σημεία x,x,x hαντίστοιχα του υπό-διαστήματος x,x h. 5
Η γενική μορφή των μεθόδων Runge-Kutta 4 ης τάξης είναι y y h ak bk ck dk 3 4 όπου οι ποσότητες k,k,k,k 3 4 είναι προσεγγιστικές τιμές της dy / dx σε διαφορετικά σημεία του υπό-διαστήματος x,x h. Οι πλέον δημοφιλείς Runge-Kutta 4 ης τάξης είναι οι αλγόριθμοι k f x,y h h k f x,y k h h k f x,y k 3 k f x h,y hk 4 3 h y y k k k k 6 3 4 6
και k f x,y h h k f x,y k 3 3 h h k f x,y k 3 3 k f x h,y hk 3 4 3 h y y k 3k 3k k 8 3 4 Όλοι οι αλγόριθμοι Runge-Kutta έχουν ρητό χαρακτήρα. Το συσσωρευμένο σφάλμα της κάθε μεθόδου Runge-Kutta είναι αντίστοιχο με την τάξη της μεθόδου. 7
Παράδειγμα: y0 0, αναλυτική λύση: 0 y y e x y x x e x subroutne rk4(x,y,h,n) real::x(:),y(:),h,k,k,k3,k4 nteger::,n do =,n- k=f(x(),y()) k=f(x()+0.5*h,y()+0.5*h*k) k3=f(x()+0.5*h,y()+0.5*h*k) k4=f(x()+h,y()+h*k3) y(+)=y()+(h/6)*(k+*k+*k3+k4) x(+)=x()+h enddo end subroutne rk4 8
x Αριθμητική λύση: h 0.5 h 0. h 0.0 0.000 0.00000 0.00000 0.00000 0.00000 0.500 6.37054 9.3886 9.9040 9.9040 3.000 4.0494 8.3506 9.859 9.859 4.500.5683 7.63043 9.73357 9.73357 5.000.6595 6.9733 9.64633 9.64633 6.500.0756 6.36857 9.55985 9.55986 7 3.000 0.64835 5.874 9.4745 9.4745 8 3.500 0.40848 5.3347 9.3890 9.389 9 4.000 0.5700 4.8576 9.3050 9.3050 0 4.500 0.649 4.436 9.56 9.57 5.000 0.035 4.04668 9.3886 9.3886 y y x 9
4. Συστήματα διαφορικών εξισώσεων Έστω ένα σύστημα n εξισώσεων ης τάξης dy fx,y,,yn dx dy fx,y,,yn dx dyn fnx,y,,yn dx με αρχικές συνθήκες στο σημείο x 0 y x y, y x y,, 0 0, 0, 0 y x y n 0 n, 0 Το σύστημα ΣΔΕ επιλύεται με βάση τις μεθόδους που έχουν αναπτυχθεί χωρίς επιπλέον θεωρητικές και υπολογιστικές δυσκολίες αλλά βεβαίως με μεγαλύτερη υπολογιστική προσπάθεια. 0
Παράδειγμα: d y x z y e dx, y0 y d y dx x z y e, 0 z 0 0 z0 0 ' ' Εισάγουμε τις εξαρτημένες μεταβλητές y y, y y, y3 z, y4 z και το αρχικό σύστημα μετατρέπεται σε ένα σύστημα ης τάξης τεσσάρων εξισώσεων με τέσσερις αρχικές συνθήκες: y 0 x 3 y 3 y y 4 3 0 0 y y y y y e y y y y e x 4 3 0 y4 0 0
Αλγόριθμος Euler για h 0. : 0 0 0 08 0 0 0 0 0 0 y. y hy. y 0. y 0 h y3 0 y 0 e y. y hy 3 3 4 y 4 0. y4 0 hy3 0 y 0 e 0. Η διαδικασία συνεχίζεται για όσα βήματα κρίνεται αναγκαίο. Σημειώνεται ότι οι συναρτήσεις y και y 3 αντιστοιχούν στις αρχικές άγνωστες εξαρτημένες μεταβλητές y και z, ενώ οι συναρτήσεις y 3 και y 4 στις παραγώγους τους.
Αλγόριθμος Runge-Kutta ης τάξης για h 0. (οι ποσότητες k και k είναι διανύσματα τεσσάρων στοιχείων, όπου το κάθε στοιχείο συνδέεται με την αντίστοιχη άγνωστη εξαρτημένη μεταβλητή): k y 0 3 y 00 k y 0 y 0 e 0 k 0 3 4 k 4 y 0 y 0 e 0 3 και 0 0 0 0 3 0 0 400 0 k y. y hk. * 0. 0. 3 3 k y 0. y 0. e y 0 hk 3 y 0 hk e 0465. k y. y hk. *. 4 4 0. 0. k 4 y 3 0. y 0. e y3 0 hk 3 y 0 hk e. 705 3
Τελικά μετά από ένα βήμα οι τιμές των εξαρτημένων μεταβλητών είναι: 3 4 y 0. 005. 08. y 0. 0. 05 0 0. 465. 977 y 0. 0 005. 0 0. 0. y 0. 0 0. 05. 705 0. 855 Τονίζεται ότι η κάθε εξαρτημένη μεταβλητή της συνάρτησης f x,y,y,y,y, j 34,,, στη δεξιά πλευρά του συστήματος βελτιώνεται με τις «δικά της» k. j 3 4 Έχοντας σαν βάση την παραπάνω επεξεργασία τη διαδικασία, μπορεί να επιλυθεί το σύστημα των τεσσάρων διαφορικών εξισώσεων με Runge-Kutta 3 ης και 4 ης τάξης. 4
5. Σφάλματα, διάδοση σφαλμάτων, ευστάθεια και σύγκλιση Το σφάλμα ανάμεσα στην αριθμητική και αναλυτική τιμή της συνάρτησης στον κόμβο ορίζεται από το μέτρο της διαφοράς y y x όπου y και yx η αριθμητική και αναλυτική τιμή της y x στο σημείο yx x αντίστοιχα. Εξετάζεται το σφάλμα της μεθόδου Euler αντικαθιστώντας στον αλγόριθμο Euler τις αριθμητικές ποσότητες με τις αντίστοιχες αναλυτικές και τα σφάλματα με βάση τον ορισμό του σφάλματος: y x y x hf x,y x O h f yx hf x,yx Oh y y yx f h Oh y y yx 5
Ο πρώτος όρος στο δεξί τμήμα της παραπάνω έκφρασης εξέλιξης του σφάλματος υποδηλώνει την συνεισφορά του σφάλματος του βήματος στο σφάλμα του βήματος, ενώ ο δεύτερος όρος υποδηλώνει το τοπικό σφάλμα αποκοπής. Το τοπικό σφάλμα είναι ης τάξης ενώ το συνολικό σφάλμα της μεθόδου Euler, μετά από βήματα, είναι ης τάξης. Από την εξίσωση εξέλιξης του σφάλματος προκύπτει ότι εάν σε κάθε βήμα ισχύει η ανισότητα h f y y yx τότε το σφάλμα παραμένει πεπερασμένο και μάλιστα μειώνεται καθώς αυξάνει ο αριθμός των βημάτων. Στη περίπτωση αυτή λέμε ότι η μέθοδος είναι ευσταθής. 6
f Εάν η παράγωγος 0 τότε επιλύοντας την ανισότητα ορίζεται το εύρος του y βήματος h ώστε να ισχύει η ανισότητα. f Αντίθετα εάν 0 y τότε η ανισότητα δεν ισχύει για οποιαδήποτε τιμή του βήματος h. Στη περίπτωση αυτή h f και το σφάλμα αυξάνει συνεχώς και λέμε ότι η y y yx μέθοδος είναι ασταθής. Το ερώτημα που πρέπει να απαντηθεί είναι εάν η συνεχής αύξηση του σφάλματος συνεπάγεται και αστοχία της αριθμητικής μεθόδου. Η απάντηση είναι: Όχι απαραίτητα. 7
Πρέπει να ελεγχθεί η συμπεριφορά της αναλυτικής λύσης καθώς αυξάνουν οι τιμές της ανεξάρτητης μεταβλητής x. Εάν η λύση του προβλήματος είναι φθίνουσα συνάρτηση ως προς x τότε βεβαίως τα αριθμητικά αποτελέσματα είναι εσφαλμένα. Αντίθετα εάν η λύση του προβλήματος είναι αύξουσα συνάρτηση ως προς x τότε ο πιο σημαντικός παράγοντας δεν είναι οι πεπερασμένες τιμές του απολύτου σφάλματος αλλά οι τιμές του σχετικού σφάλματος να μην μεγαλώνουν σημαντικά. y Στο σημείο αυτό είναι χρήσιμο να διατυπωθεί ο ορισμός της σύγκλισης: Λέμε ότι μία αριθμητική μέθοδος συγκλίνει όταν το σφάλμα, 0,,, τείνει στο μηδέν, καθώς το διάστημα h τείνει επίσης στο μηδέν: lm 0 Δηλαδή η αριθμητική λύση ανάγεται στην συνεχή λύση καθώς το διακριτοποιημένο πρόβλημα ανάγεται στο συνεχές πρόβλημα. h0 8
Για τη μελέτη ευστάθειας των άλλων μεθόδων αριθμητικής ολοκλήρωσης ΣΔΕ η μαθηματική επεξεργασία απλουστεύεται και εξετάζεται με βάση την γραμμική εξίσωση dy dx y x yx ce Στη περίπτωση αυτή εύκολα προκύπτει ότι το κριτήριο ευστάθειας της μεθόδου Euler είναι h. Η ανισότητα h για R ισχύει όταν h 0 ενώ για C ισχύει όταν h h. R I Άρα η μέθοδος είναι ευσταθής εφόσον η ποσότητα h βρίσκεται εντός του κύκλου με κέντρο 0, και ακτίνα του μιγαδικού επιπέδου. 9
Κριτήριο ευστάθειας Runge-Kutta ης τάξης: h h h h Κριτήρια ευστάθειας Runge-Kutta 3 ης και 4 ης τάξης: h h 3 3 h h h και 6 3 3 4 4 h h h h 6 4 Εάν το R οι παραπάνω σχέσεις απλουστεύονται και προκύπτουν οι εξής ανισότητες που είναι ενδεικτικές για το εύρος τιμών που επιτρέπεται να πάρει το βήμα h ώστε το αριθμητικό σχήμα να είναι ευσταθές: Runge-Kutta ης τάξης: h 0 Runge-Kutta 3 ης τάξης:. 5 h 0 Runge-Kutta 4 ης τάξης: 785. h 0 Τονίζεται ότι σε όλες τις περιπτώσεις οι μέθοδοι είναι ευσταθείς μόνο όταν 0. 0
Επίσης εφαρμόζοντας την ίδια μεθοδολογία προκύπτει ότι η πεπλεγμένη Euler, για 0, είναι πάντα ευσταθής για οποιαδήποτε τιμή του βήματος 0 h. Η ιδιότητα αυτή χαρακτηρίζει τις πεπλεγμένες αριθμητικές μεθόδους. Εάν το C, οι αντίστοιχες περιοχές ευστάθειας θα πρέπει να αναζητηθούν στο μιγαδικό επίπεδο Περιοχές ευστάθειας στο μιγαδικό επίπεδο των μεθόδων Euler και Runge- Kutta ης, 3 ης και 4 ης τάξης.
Γενικά καθώς αυξάνει η τάξη ακρίβειας της αριθμητικής μεθόδου ολοκλήρωσης συνήθων διαφορικών εξισώσεων αυξάνει και η ευστάθεια της μεθόδου, επιτρέποντας το βήμα ολοκλήρωσης h να παίρνει μεγαλύτερες τιμές. Το ζητούμενο σε κάθε περίπτωση είναι η ανάπτυξη αριθμητικών μεθόδων υψηλής ακρίβειας και ευστάθειας. Δυστυχώς τις περισσότερες φορές κάτι τέτοιο είναι δύσκολο και ανάλογα με την εφαρμογή και τις υπολογιστικές δυνατότητες που έχουμε θυσιάζουμε την ακρίβεια προς όφελος της ευστάθειας ή το αντίθετο.