Παράδειγµα #11 ΠΡΟΒΛΗΜΑΤΑ ΑΡΧΙΚΩΝ ΤΙΜΩΝ Σ Ε ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

Σχετικά έγγραφα
Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος

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

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

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

ΠΑΡΑΔΕΙΓΜΑ 14 ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #1: ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΠΡΟΒΛΗΜΑΤΑ ΑΡΧΙΚΩΝ ΤΙΜΩΝ

Αριθμητική ολοκλήρωση συνήθων διαφορικών εξισώσεων και συστημάτων

Άσκηση 1. Δίδεται η διαφορική εξίσωση dy. Λύση. Έχουμε dy

Εφαρµόζοντας τη µέθοδο αριθµητικής ολοκλήρωσης Euler και Runge-Kutta 2 ης, συστηµατική σύγκριση των πέντε µεθόδων. Η επιλογή των σταθερών

Κεφάλαιο 1. Αριθµητική ολοκλήρωση συνήθων διαφορικών εξισώσεων και συστηµάτων

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

1 Επίλυση Συνήθων ιαφορικών Εξισώσεων

Παράδειγμα #6 ΑΡΙΘΜΗΤΙΚΗ ΠΑΡΕΜΒΟΛΗ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 Ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #4: ΟΛΟΚΛΗΡΩΣΗ ΕΠΙΜΕΛΕΙΑ: Σ. Μισδανίτης. με το πολυώνυμο παρεμβολής Lagrange 2 ης τάξης

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Παράδειγμα #9 ΠΡΟΒΛΗΜΑΤΑ ΔΥΟ ΟΡΙΑΚΩΝ ΤΙΜΩΝ ΕΛΛΕΙΠΤΙΚΕΣ ΣΔΕ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

Παράδειγμα #5 EΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΑΛΓΕΒΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΕΘΟΔΟ NEWTON ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης. ( k ) ( k)

website:

Άσκηση 1 Έχουµε να επιλύσουµε την εξίσωση κύµατος 1 ης τάξης (υπερβολική εξίσωση) (1)

Κεφ. 6Α: Συνήθεις διαφορικές εξισώσεις - προβλήματα δύο οριακών τιμών

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 21 Μαίου Γράψτε το ονοµατεπώνυµο και αριθµό ταυτότητάς σας στο πάνω µέρος της αυτής της σελίδας.

Κεφάλαιο 0 Μιγαδικοί Αριθμοί

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ

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

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

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

5269: Υπολογιστικές Μέθοδοι για Μηχανικούς. Συνήθεις Διαφορικές Εξισώσεις Πρόβλημα Αρχικών τιμών (B)

Αριθμητική Ολοκλήρωση της Εξίσωσης Κίνησης

Κεφάλαιο 2. Μέθοδος πεπερασµένων διαφορών προβλήµατα οριακών τιµών µε Σ Ε

Άσκηση: Ένα σύστηµα µε είσοδο u(t), έξοδο y(t) και διάνυσµα κατάστασης x(t) = (x 1 (t) x 2 (t)) T περιγράφεται από το ακόλουθο διάγραµµα:

f στον κόμβο i ενός πλέγματος ( i = 1, 2,,N

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #5: ΥΠΕΡΒΟΛΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: ΕΠΙΜΕΛΕΙΑ: Ιωάννης Λυχναρόπουλος

Κεφ. 2: Επίλυση συστημάτων εξισώσεων. 2.1 Επίλυση εξισώσεων

Δυναμική Μηχανών I. Επίλυση Προβλημάτων Αρχικών Συνθηκών σε Συνήθεις. Διαφορικές Εξισώσεις με Σταθερούς Συντελεστές

Αριθµητική Ολοκλήρωση

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #4: ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ ΕΠΙΜΕΛΕΙΑ: Σ. Βαρούτης

Πίνακας Περιεχομένων

ΧΡΟΝΙΚΗ ΟΛΟΚΛΗΡΩΣΗ. Για την επίλυση χρονομεταβαλλόμενων προβλημάτων η διακριτοποίηση στο χώρο γίνεται με πεπερασμένα στοιχεία και είναι της μορφής:

Εξαναγκασμένη Ταλάντωση. Τυχαία Φόρτιση (Ολοκλήρωμα Duhamel)

ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ Ι - ΙΟΥΝΙΟΣ Θέματα και Λύσεις. Ox υπό την επίδραση του δυναμικού. x 01

MATLAB. Εισαγωγή στο SIMULINK. Μονάδα Αυτόματης Ρύθμισης και Πληροφορικής

Δυναμική Μηχανών I. Διάλεξη 8. Χειμερινό Εξάμηνο 2013 Τμήμα Μηχανολόγων Μηχ., ΕΜΠ

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

6. Αριθμητική επίλυση συνήθων διαφορικών

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΗΧΑΝΙΚΗΣ ΕΦΑΡΜΟΓΕΣ ΜΕ ΧΡΗΣΗ MATLAB ΔΕΥΤΕΡΗ ΕΚΔΟΣΗ [ΒΕΛΤΙΩΜΕΝΗ ΚΑΙ ΕΠΑΥΞΗΜΕΝΗ]

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

Θέματα Εξετάσεων Σεπτεμβρίου 2012:

Αριθµητική Ανάλυση. ιδάσκοντες: Καθηγητής Ν. Μισυρλής, Επίκ. Καθηγητής Φ.Τζαφέρης ΕΚΠΑ. 16 Ιανουαρίου 2015

Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος

w 1, z = 2 και r = 1

Συστήματα Αυτομάτου Ελέγχου ΙΙ Ασκήσεις Πράξης

Επιλύστε αριθμητικά το με τη μέθοδο των πεπερασμένων διαφορών το παρακάτω πρόβλημα δύο οριακών τιμών:

ΕΞΕΤΑΣΕΙΣ ΑΚΑΔΗΜΑΪΚΟΥ ΕΤΟΥΣ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ Διδάσκοντες: Βαρσάμης Χρήστος, Φωτόπουλος Παναγιώτης

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ι. Λυχναρόπουλος

Κεφάλαιο 6. Εισαγωγή στη µέθοδο πεπερασµένων όγκων επίλυση ελλειπτικών και παραβολικών διαφορικών εξισώσεων

Κεφ. 2: Επίλυση συστημάτων αλγεβρικών εξισώσεων. 2.1 Επίλυση απλών εξισώσεων

ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Κωνσταντίνος Ξ. Τσιόκας. Αν. Καθηγήτρια Α.Π.Θ.

5269: Υπολογιστικές Μέθοδοι για Μηχανικούς. Συνήθεις Διαφορικές Εξισώσεις Πρόβλημα Αρχικών τιμών (B)

Αριθμητική Επίλυση Συνήθων Διαφορίκών Εξισώσεων 3ο Εργαστήριο 27/03/2015 1

ΕΞΕΤΑΣΕΙΣ ΑΚΑΔΗΜΑΪΚΟΥ ΕΤΟΥΣ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ, 8 Μαρτίου 2019 Διδάσκοντες: Βαρσάμης Χρήστος, Φωτόπουλος Παναγιώτης

ΦΥΣΙΚΗ ΟΜΑΔΑΣ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΘΕΤΙΚΩΝ ΣΠΟΥΔΩΝ

Η πλήρως ανεπτυγµένη ροή λόγω διαφοράς πίεσης σε κυλινδρικό αγωγό περιγράφεται από την συνήθη διαφορική εξίσωση

(6,5 μονάδες) Θέμα 1 ο. Τμήμα Πολιτικών Μηχανικών Σχολή Τεχνολογικών Εφαρμογών Διεθνές Πανεπιστήμιο Ελλάδος ΟΝΟΜΑΤΕΠΩΝΥΜΟ

MEM 253. Αριθμητική Λύση ΜΔΕ * * *

Δυναμική Μηχανών I. Χρονική Απόκριση Συστημάτων 2 ης Τάξης

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

ΕΞΕΤΑΣΕΙΣ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ ΕΦΑΡΜΟΓΕΣ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΟΥ ΜΗΧΑΝΙΚΟΥ

(συνθήκη συμμετρίας) (4) Το παραπάνω πρόβλημα μπορεί να περιγράψει τη μεταβατική πλήρως ανεπτυγμένη ροή σε κυλινδρικό αγωγό.

Κεφάλαιο 7. Επίλυση υπερβολικών διαφορικών εξισώσεων με πεπερασμένες διαφορές

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #3: ΠΑΡΑΒΟΛΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: ΔΙΔΑΣΚΩΝ: Δ.

Introduction Ν. Παπαδάκης 21 Οκτωβρίου 2015 Ν. Παπαδάκης Introduction 21 Οκτωβρίου / 47

ΕΞΙΣΩΣΕΙΣ ΔΙΑΦΟΡΩΝ ΟΡΙΣΜΟΙ: διαφορές των αγνώστων συναρτήσεων. σύνολο τιμών. F(k,y k,y. =0, k=0,1,2, δείκτη των y k. =0 είναι 2 ης τάξης 1.

γ) να υπολογίστε το έργο για τη μετατόπιση του σώματος από τη θέση A = 10j μέχρι

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

Ενότητα 3 (μέρος 1 ο )

Φυσική για Μηχανικούς

Δυναμική Μηχανών I. Διάλεξη 11. Χειμερινό Εξάμηνο 2013 Τμήμα Μηχανολόγων Μηχ., ΕΜΠ

4.1 Αριθμητική Ολοκλήρωση Εξισώσεων Νεύτωνα

Κεφάλαιο 1: Προβλήµατα τύπου Sturm-Liouville

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 5 Μαίου 2012

(6,5 μονάδες) Θέμα 1 ο. Τμήμα Πολιτικών Μηχανικών Σχολή Τεχνολογικών Εφαρμογών Διεθνές Πανεπιστήμιο Ελλάδος ΟΝΟΜΑΤΕΠΩΝΥΜΟ

ΚΕΦΑΛΑΙΑ 3,4. Συστήµατα ενός Βαθµού ελευθερίας. k Για E 0, η (1) ισχύει για κάθε x. Άρα επιτρεπτή περιοχή είναι όλος ο άξονας

υναµική Μηχανών Ι Ακαδηµαϊκό έτος : Ε. Μ. Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών ΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι - 10.

Αρµονικοί ταλαντωτές

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

Παράδειγμα #4 EΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΑΛΓΕΒΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΜΕΘΟΔΟΥΣ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

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

Δυναμική Μηχανών I. Εισαγωγή στον Υπολογισμό της Χρονικής. Απόκρισης Δυναμικών Εξισώσεων

ΑΡΜΟΝΙΚΗ ΤΑΛΑΝΤΩΣΗ ΧΩΡΙΣ ΑΠΟΣΒΕΣΗ ΑΣΚΗΣΗ 6.1

Εξαναγκασμένη Ταλάντωση. Αρμονική Φόρτιση

ΜΕΛΕΤΗ ΣΥΣΤΗΜΑΤΟΣ ΜΑΖΑΣ-ΕΛΑΤΗΡΙΟΥ-ΑΠΟΣΒΕΣΤΗΡΑ

Φυσική για Μηχανικούς

υναµική Μηχανών Ι Ακαδηµαϊκό έτος : Ε. Μ. Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών ΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι - 9.

Συστήματα Αυτομάτου Ελέγχου ΙΙ Ασκήσεις Πράξης

ΕΝΟΤΗΤΑ 1.1: ΠΕΡΙΟΔΙΚΟ ΦΑΙΝΟΜΕΝΟ ΑΠΛΗ ΑΡΜΟΝΙΚΗ ΤΑΛΑΝΤΩΣΗ (ΚΙΝΗΜΑΤΙΚΗ ΚΑΙ ΔΥΝΑΜΙΚΗ ΠΡΟΣΕΓΓΙΣΗ) 1ο σετ - Μέρος Β ΘΕΜΑ Β

Κεφ. 2: Επίλυση συστημάτων αλγεβρικών εξισώσεων. 2.1 Επίλυση απλών εξισώσεων

Επίλυση παραβολικών διαφορικών εξισώσεων με πεπερασμένες διαφορές

Δρ. Σταύρος Καραθανάσης

Κεφάλαιο 9. Αριθμητική επίλυση Διαφορικών Εξισώσεων

E = 1 2 k. V (x) = Kx e αx, dv dx = K (1 αx) e αx, dv dx = 0 (1 αx) = 0 x = 1 α,

2-1 ΕΙΣΑΓΩΓΗ 2-2 ΜΗΧΑΝΙΚΑ ΚΥΜΑΤΑ

Transcript:

Παράδειγµα # ΠΡΟΒΛΗΜΑΤΑ ΑΡΧΙΚΩΝ ΤΙΜΩΝ Σ Ε ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης Άσκηση ίδεται η διαφορική εξίσωση: dy dx y 0 = 0 x = y + e, Να επιλυθεί το πρόβληµα αρχικών τιµών µε τις µεθόδους Euler και Runge-Kutta 4ης τάξης. Να σχολιασθούν τα αποτελέσµατα και να γίνει σύγκριση µε τα αντίστοιχα αναλυτικά. Στη συνέχεια να αποδειχθεί το κριτήριο ευστάθειας των δύο µεθόδων για το συγκεκριµένη διαφορική εξίσωση και να υπολογισθεί το µέγιστο επιτρεπτό βήµα x. Τέλος να ελεγχθεί αν τα αναλυτικά ευρήµατα σχετικά µε την ευστάθεια επαληθεύονται αριθµητικά. Απάντηση: Το παραπάνω πρόβληµα αρχικών τιµών µπορεί να επιλυθεί µε Matematca ως: DSolve[{y'[x] == -y[x] + Exp[-x], y[0] == 0}, y[x], x] x Η αναλυτική του λύση προκύπτει να είναι: y( x) = e ( 0 + x) Ο κώδικας σε Fortran που επιλύει το παραπάνω πρόβληµα µε τις µεθόδους Euler και Runge-Kutta 4 ης τάξης δίνεται παρακάτω: program EulerRK4 mplct none nteger::,n real*8::,tstart,tend real*8,allocatable::x(:),y(:)!fnd program start tme call cpu_tme(tstart) n=0!number of steps Allocate(x(n+),y(n+))!Memory allocaton =0.0!step x()=0.!intal x y()=0.!intal y!open output fle open(00,fle="eulerrk4_results.dat")!solve te ntal value problem wt te Euler metod call euler(x,y,,n)!wrte Euler results to fle wrte(00,*) "---------------------------- Euler ------------------------- ---" do =,n+ wrte(00,"(i4,0es5.5)"),x(),sol(x()),y(),abs(sol(x())-y()) - -

!Solve te ntal value problem wt te 4t order Runge-Kutta metod call RK4(x,y,,n)!Wrte 4t order Runge-Kutta results to fle wrte(00,*) "----------------------------- RK4 -------------------------- ---" do =,n+ wrte(00,"(i4,0es5.5)"),x(),sol(x()),y(),abs(sol(x())-y())!fnd program end tme call cpu_tme(tend) wrte(*,"(a,es4.4,x,a)") "Program as used", tend-tstart,"seconds of CPU tme." wrte(*,"(a)") "Open fle EulerRK4_results.dat for te soluton..." wrte(00,"(a)") "----------------------------------" wrte(00,"(a,es4.4,x,a)") "Program as used", tend-tstart,"seconds of CPU tme."!close output fle close(00) contans real*8 functon f(x,y) real*8,ntent(in)::x,y f=-y+exp(-x) end functon f real*8 functon sol(x) real*8,ntent(in)::x sol=exp(-x)*(0.+x) end functon sol subroutne Euler(x,y,,n) nteger,ntent(in)::n nteger:: real*8::,x(:),y(:) do =,n y(+)=y()+*f(x(),y()) x(+)=x()+ end subroutne Euler subroutne RK4(x,y,,n) nteger::,n real*8::k,k,k3,k4,,x(:),y(:) do =,n k=f(x(),y()) k=f(x()+0.5*,y()+0.5**k) k3=f(x()+0.5*,y()+0.5**k) k4=f(x()+,y()+*k3) - -

y(+)=y()+(/6.)*(k+.*k+.*k3+k4) x(+)=x()+ end subroutne RK4 end program Εκτελώντας τον παραπάνω κώδικα για 0 επαναλήψεις και τρία διαφορετικά βήµατα = 0.0, = 0., = 0.5 προκύπτουν τα παρακάτω πινακοποιηµένα αποτελέσµατα: Βήµα = 0.0: Euler n x Αναλυτική Αριθµητική Απόλυτο Σφάλµα 0.000 0.00000 0.00000 0.00E+00 0.00 9.9040 9.9000 3.99E-04 3 0.00 9.859 9.8080 7.90E-04 4 0.030 9.73357 9.7339.7E-03 5 0.040 9.64633 9.64477.55E-03 6 0.050 9.55986 9.55794.9E-03 7 0.060 9.4745 9.4787.8E-03 8 0.070 9.389 9.38657.64E-03 9 0.080 9.3050 9.3003.99E-03 0 0.090 9.57 9.84 3.33E-03 0.00 9.3886 9.359 3.66E-03 Runge-Kutta 4 ης τάξης n x Αναλυτική Αριθµητική Απόλυτο Σφάλµα 0.000 0.00000 0.00000 0.00E+00 0.00 9.9040 9.9040 6.76E- 3 0.00 9.859 9.859.34E- 4 0.030 9.73357 9.73357.99E- 5 0.040 9.64633 9.64633.63E- 6 0.050 9.55986 9.55986 3.6E- 7 0.060 9.4745 9.4745 3.87E- 8 0.070 9.389 9.389 4.47E- 9 0.080 9.3050 9.3050 5.07E- 0 0.090 9.57 9.57 5.64E- 0.00 9.3886 9.3886 6.E- - 3 -

Βήµα = 0.: Euler n x Αναλυτική Αριθµητική Απόλυτο Σφάλµα 0.000 0.00000 0.00000 0.00E+00 0.00 9.3886 9.0000 3.89E-0 3 0.00 8.3505 8.8048 7.06E-0 4 0.300 7.63043 7.5343 9.6E-0 5 0.400 6.9733 6.85496.6E-0 6 0.500 6.36857 6.3650.3E-0 7 0.600 5.8740 5.67350.44E-0 8 0.700 5.3346 5.603.5E-0 9 0.800 4.8575 4.69459.58E-0 0 0.900 4.436 4.7006.6E-0.000 4.04667 3.8837.63E-0 Runge-Kutta 4 ης τάξης n x Αναλυτική Αριθµητική Απόλυτο Σφάλµα 0.000 0.00000 0.00000 0.00E+00 0.00 9.3886 9.3886 6.67E-07 3 0.00 8.3505 8.3505.E-06 4 0.300 7.63043 7.63043.66E-06 5 0.400 6.9733 6.9733.0E-06 6 0.500 6.36857 6.36857.9E-06 7 0.600 5.8740 5.874.50E-06 8 0.700 5.3346 5.3347.66E-06 9 0.800 4.8575 4.8576.77E-06 0 0.900 4.436 4.436.83E-06.000 4.04667 4.04668.86E-06 Βήµα = 0.5 : Euler n x Αναλυτική Αριθµητική Απόλυτο Σφάλµα 0.000 0.00000 0.00000 0.00E+00 0.500 6.36857 5.50000 8.69E-0 3.000 4.04667 3.0537 9.93E-0 4.500.56600.7057 8.55E-0 5.000.640 0.96685 6.57E-0 6.500.0606 0.5509 4.75E-0 7 3.000 0.6473 0.3659 3.3E-0 8 3.500 0.40767 0.839.4E-0 9 4.000 0.564 0.0669.50E-0 0 4.500 0.608 0.0650 9.86E-0 5.000 0.007 0.0368 6.43E-0-4 -

Runge-Kutta 4 ης τάξης n x Αναλυτική Αριθµητική Απόλυτο Σφάλµα 0.000 0.00000 0.00000 0.00E+00 0.500 6.36857 6.37054.97E-03 3.000 4.04667 4.0494.47E-03 4.500.56600.5683.3E-03 5.000.640.6595.9E-03 6.500.0606.0756.50E-03 7 3.000 0.6473 0.64835.E-03 8 3.500 0.40767 0.40848 8.4E-04 9 4.000 0.564 0.5700 5.79E-04 0 4.500 0.608 0.649 4.05E-04 5.000 0.007 0.035.80E-04 Παρατηρείται πως σε όλες τις περιπτώσεις η µέθοδος Runge-Kutta 4 ης τάξης δίνει καλύτερα αποτελέσµατα από την µέθοδο Euler. Επίσης, όπως ήταν αναµενόµενο, η ακρίβεια αυξάνει και στις δύο µεθόδους καθώς το βήµα µικραίνει. Βέβαια η µέθοδος Euler ακόµη και για το σχετικά µικρό βήµα = 0. δεν δίνει ικανοποιητικά αποτελέσµατα. Ανάλυση ευστάθειας µεθόδου Euler Η µέθοδος Euler γράφεται ως: y = (, ) ( x y + f x y = y + y + e + ) Εισάγοντας το σφάλµα ε = yˆ y στην παραπάνω σχέση προκύπτει: (, ) yˆ + ε = yˆ + ε + f x yˆ + ε + + x x ( ) ε yˆ + ε = yˆ + ε + f yˆ + ε + e + + yˆ + ε = yˆ + yˆ + e + + + ε ε = ( ) ε + + ε = ε+ Για να είναι ευσταθής η µέθοδος θα πρέπει: < < < < < ε Από τα γραφήµατα που παρουσιάζονται παρακάτω παρατηρείται ότι το κριτήριο ευστάθειας που υπολογίστηκε αναλυτικά επαληθεύεται αριθµητικά. Για =.0 φαίνεται ότι η λύση είναι ασταθής και συγκεκριµένα ταλαντώνεται µεταξύ δύο τιµών. Τέλος παρατηρείται ότι για = 0.5 και = αν και η λύση της µεθόδου Euler είναι ευσταθής δεν είναι ακριβής. - 5 -

= 0.0 = 0.5 = = Ανάλυση ευστάθειας µεθόδου Runge-Kutta 4 ης τάξης Η µέθοδος Runge-Kutta 4ης τάξης γράφεται ως: k = f x y = y + e x,, k = f x + y + k = y + k + e 3, k = f x + y + k = y + k + e x k = f x +, y + k = y + k + e + 4 3 3 y + = y + k + k + k + k 6 ( ) 3 4 x + x + ( ) - 6 -

Εισάγοντας το σφάλµα ε ˆ = y y στις παραπάνω σχέσεις και συµβολίζοντας µε k ˆ την k x, y ˆ προκύπτει: ποσότητα ) ) k f x y y e k =, x = ε + = + x + x ( ˆ ) ( ˆ ) ( ˆ ε ε ε ) k = y + + k + e = y + + k + e = x + ˆ ˆ = yˆ + k + e ε + ε = k ε x + ˆ ˆ 3 ε x + ( ˆ ) x ( ˆ ) ˆ + k 3 = y + ε + k + e = y + ε + k ε + e = = yˆ + k + e ε ε = k + ε 4 x + 4 (( ˆ ) 3 ) ( ˆ ) ˆ x + k = y + ε + k + e = y + ε + k3 + ε + e = 4 ( ˆ ( x + ) ) 3 ˆ ˆ = y + k3 + e ε + + ε = k4 + + ε 4 4 Εισάγοντας το σφάλµα σχέση για το y + προκύπτει: ε = yˆ y και αντικαθιστώντας τις παραπάνω εκφράσεις στην y = y + + ( k k k3 k4 ) 6 + + + yˆ ˆ + + ε+ = y + ε + ( k + k + k3 + k4 ) 6 yˆ + ε = yˆ + ε + + ˆ ˆ ˆ ˆ + k + ε + k ε + k3 + ε + k4 + ε 6 4 4 ε + = ε + ε ε + ε + ε 6 4 4 3 4 3 4 ε+ ε+ = ε + + = + + 6 4 ε 6 4-7 -

Για να είναι η µέθοδος ευσταθής θα πρέπει: 3 4 + + < 6 4 Η παραπάνω ανισότητα µπορεί να επιλυθεί µε την βοήθεια της Matematca ως: Reduce[Abs[ - + ^/ - ^3/6 + ^4/4] <,, Reals] // N Το αναλυτικό κριτήριο ευστάθειας της µεθόδου Runge-Kutta 4 ης τάξης είναι: 0 < <.785 = 0.5 = = =.8 Παρατηρείται ότι το κριτήριο ευστάθειας που υπολογίστηκε αναλυτικά επαληθεύεται αριθµητικά για την µέθοδο Runge-Kutta 4 ης τάξης. Για =.8 φαίνεται ότι η λύση είναι ασταθής και συγκεκριµένα τείνει να απειριστεί καθώς αυξάνει το x. Τέλος παρατηρείται ότι ακόµα και για σχετικά µεγάλα βήµατα = 0.5 και = η αριθµητική λύση παραµένει ικανοποιητική ακρίβεια. - 8 -

Άσκηση Να εξεταστεί πότε οι αλγόριθµοι ολοκλήρωσης συνήθων διαφορικών εξισώσεων Runge- Kutta ανάγονται στους κανόνες ολοκλήρωσης Newton Cotes. Απάντηση: Οι αλγόριθµοι ολοκλήρωσης συνήθων διαφορικών εξισώσεων Runge-Kutta ανάγονται στους dy κανόνες ολοκλήρωσης Newton Cotes όταν η Σ Ε είναι της µορφής : f ( x) dx = Σε αυτή την περίπτωση η αριθµητική λύση δίνεται από τον τύπο: y = y + + f ( x) dx Τότε η µέθοδος Runge-Kutta ης τάξης γίνεται: =, k = f ( x + ), y y ( k k ) y ( f x f x ) k f ( x ) x + = + + + = + + + η οποία αντιστοιχεί στη µέθοδο ολοκλήρωσης του τραπεζίου: x x + x f ( x) dx = f ( x ) + f ( x + ) Η µέθοδος Runge-Kutta 3 ης τάξης γίνεται: =, k = f ( x + ), k = f ( x + ) k f ( x ) / 3 y+ = y + ( k + 4 k + k3 ) = y + f ( x ) + 4 f ( x + ) + f ( x + ) 6 6 Η παραπάνω σχέση αντιστοιχεί στον κανόνα /3 του Smpson: x + ' ' f ( x) dx = ( f ( x ) + 4 f ( x + ') + f ( x + ') ), ' = 3 x Η µέθοδος Runge-Kutta 4 ης τάξης γίνεται: =, k = f ( x + ), k = f ( x + ), k = f ( x + ) k f ( x ) / 3 / 4 y+ = y + ( k + k + k3 + k4) = y + f ( x ) + 4 f ( x + ) + f ( x + ) 6 6 Η παραπάνω σχέση ταυτίζεται µε την έκφραση για την µέθοδο Runge-Kutta 3 ης και αντιστοιχεί στον κανόνα /3 του Smpson. - 9 -

Άσκηση 3 Έστω το πρόβληµα αρχικών τιµών: d x t dx t dx x ( t) t x dt dt + t dt t= 0 0 t 5 + + = sn, 0 = 0., = 0. Να περιγραφεί ένα φυσικό πρόβληµα που θα µπορούσε να µοντελοποιείται µε το παραπάνω πρόβληµα αρχικών τιµών. Στην συνέχεια εφαρµόζοντας τη µέθοδο αριθµητικής x t και dx / dt. Τα ολοκλήρωσης Runge-Kutta 4 ης τάξης, να υπολογιστούν τις τιµές των αποτελέσµατα να συγκριθούν µε την αναλυτική λύση της Σ Ε. Απάντηση: Η παραπάνω Σ Ε είναι ένα τυπικό πρόβληµα αρχικών τιµών και περιγράφει x t περιγράφει την εξαναγκασµένη ταλάντωση µε τριβή, όπου η εξαρτηµένη µεταβλητή αποµάκρυνση από τη θέση ισορροπίας την χρονική στιγµή t, ενώ οι αρχικές συνθήκες αντιστοιχούν στην αρχική αποµάκρυνση από την θέση ισορροπίας και στην αρχική ταχύτητα κίνησης. Η ταλάντωση είναι εξαναγκασµένη λόγω του όρου στο δεξί τµήµα της εξίσωσης που περιγράφει την εξωτερική διέγερση και έχει τριβή (ή απόσβεση) λόγω του όρου της πρώτης παραγώγου. Παρατηρείται ότι καθώς αυξάνει ο χρόνος η εξωτερική δύναµη µειώνεται και τελικά για µεγάλες τιµές του χρόνου µηδενίζεται. Εποµένως, αφού για µεγάλους χρόνους η εξωτερική δύναµη µηδενίζεται και υπάρχει τριβή στο σύστηµα αναµένεται πως η αρχική ταλαντωτική συµπεριφορά θα αποσβένει και τελικά σε ικανοποιητικά µεγάλους χρόνους το σύστηµα θα επανέρθει στη θέση ισορροπίας. Για την χρήση της µεθόδου Runge-Kutta 4 ης τάξης είναι αναγκαίος ο µετασχηµατισµός της Σ Ε ης τάξης σε ένα σύστηµα δύο Σ Ε ης τάξης θέτοντας: g Το προκύπτον σύστηµα γράφεται ως: dx dg = x, g = = dt dt dg dt dg dt = g + g + g = sn t t + dg dt dg dt (,, ) = g = f t g g = g g + sn t = f t, g, g t + Με οριακές συνθήκες g ( 0 ) = 0. και g 0 = 0.. - 0 -

Ο κώδικας σε Fortran: program OscllatonRK4 mplct none nteger::,n real*8::dt,tstart,tend,k,k,k3,k4,k,k,k3,k4 real*8,allocatable::t(:),g(:),g(:)!fnd program start tme call cpu_tme(tstart) n=00!number of tme steps Allocate(t(n+),g(n+),g(n+))!Memory allocaton dt=0.!tme step t()=0.!intal t g()=0.!intal g g()=0.!intal g!open output fle open(00,fle="oscllatonrk4_results.dat")!implementaon of 4torder Runge-Kutta metod do =,n t(+)=t()+dt do =,n k=f(t(),g(),g()) k=f(t(),g(),g()) k=f(t()+0.5*dt,g()+0.5*dt*k,g()+0.5*dt*k) k=f(t()+0.5*dt,g()+0.5*dt*k,g()+0.5*dt*k) k3=f(t()+0.5*dt,g()+0.5*dt*k,g()+0.5*dt*k) k3=f(t()+0.5*dt,g()+0.5*dt*k,g()+0.5*dt*k) k4=f(t()+dt,g()+dt*k3,g()+dt*k3) k4=f(t()+dt,g()+dt*k3,g()+dt*k3) g(+)=g()+(dt/6.)*(k+.*k+.*k3+k4) g(+)=g()+(dt/6.)*(k+.*k+.*k3+k4) do =,n+ wrte(00,"(i4,es5.5,es6.6)"),t(),g(),g()!fnd program end tme call cpu_tme(tend) wrte(*,"(a,es4.4,x,a)") "Program as used", tend-tstart,"seconds of CPU tme." wrte(*,"(a)") "Open fle OscllatonRK4_results.dat for te soluton..." wrte(00,"(a)") "----------------------------------" wrte(00,"(a,es4.4,x,a)") "Program as used", tend-tstart,"seconds of CPU tme." - -

!Close output fle close(00) contans real*8 functon f(t,g,g) real*8,ntent(in)::t,g,g f=g end functon f real*8 functon f(t,g,g) real*8,ntent(in)::t,g,g f=-g-g+sn(t)/(.+t) end functon f end program Η λύση της παραπάνω Σ Ε η οποία είναι αρκετά περίπλοκη δεν µπορεί να γραφτεί σε κλειστή µορφή. Πρόκειται για ήµι-αναλυτική λύση, όπου απαιτείται ο αριθµητικός υπολογισµός ενός ολοκληρώµατος. Οι τιµές της ηµι-αναλυτικής λύσης µπορούν να υπολογιστούν µέσω Matematca ως: a=dsolve[{x''[t]+x'[t]+x[t]==sn[t]/(+t),x[0]==0.,x'[0]==0.},x[t],t]; g[t_]=x[t]/.a[[]]; n=0; =0.0; sol=table[g[t],{t,0,n*,}]//cop; Dsol=Table[g'[t],{t,0,n*,}]//Cop; NumberForm[MatrxForm[Transpose[{sol,Dsol}]],6] Στην συνέχεια παρουσιάζονται πινακοποιηµένα και γραφικά τα αριθµητικά αποτελέσµατα της Fortran, τα ηµι-αναλητικά αποτελέσµατα της Matematca καθώς και η µεταξύ τους σύγκριση για δύο χρονικά βήµατα: n t Αριθµητική x t Αναλυτική x t = 0.0 Απόλυτο σφάλµα Αριθµητική dx / dt Αναλυτική dx / dt Απόλυτο σφάλµα 0.00 0.0000 0.0000.49E-09 0.0000 0.0000.98E-09 0.0 0.099 0.099.48E-09 0.9705 0.9705 3.00E-09 3 0.0 0.0394 0.0394.46E-09 0.94 0.94 3.0E-09 4 0.03 0.0587 0.0587.45E-09 0.948 0.948 3.0E-09 5 0.04 0.0777 0.0777.44E-09 0.8885 0.8885 3.03E-09 6 0.05 0.0965 0.0965.43E-09 0.863 0.863 3.03E-09 7 0.06 0.50 0.50.4E-09 0.8388 0.8388 3.03E-09 8 0.07 0.333 0.333.40E-09 0.854 0.854 3.0E-09 9 0.08 0.53 0.53.39E-09 0.799 0.799 3.0E-09 0 0.09 0.69 0.69.38E-09 0.773 0.773 3.00E-09 0.0 0.867 0.867.37E-09 0.7506 0.7506.99E-09 - -

n t Αριθµητική x t Χρονικό βήµα t=0.0: Αναλυτική x t = 0.5 Απόλυτο σφάλµα Αριθµητική dx / dt Αναλυτική dx / dt Απόλυτο σφάλµα 0.00 0.0000 0.0000.49E-09 0.0000 0.0000.98E-09 0.50 0.7954 0.7949 5.09E-05 0.400 0.40.95E-04 3.00 0.584 0.586.4E-05 0.538 0.55.4E-04 4.50 0.3795 0.3800 5.49E-05 0.408 0.4083.85E-05 5.00 0.3855 0.38555.95E-05 0.085 0.0844 7.59E-05 6.50 0.40307 0.4030 4.43E-05-0.058-0.059 9.79E-05 7 3.00 0.36788 0.36775.4E-04-0.444-0.449 4.86E-05 8 3.50 0.88 0.865.68E-04-0.470-0.466 4.E-05 9 4.00 0.608 0.600.55E-04-0.638-0.6369.30E-04 0 4.50 0.067 0.0663 8.5E-05-0.634-0.65.83E-04 5.00-0.0998-0.0996.96E-05-0.05-0.0997.8E-04 Χρονικό βήµα t=0.5: - 3 -

Άσκηση 4 ίδεται το πρόβληµα αρχικών τιµών d x dx dx x t t x dt dt dt t= 0 + + = sn, (0) = 0, = 5 Να περιγραφεί ένα φυσικό πρόβληµα που θα µπορούσε να µοντελοποιείται µε το παραπάνω πρόβληµα αρχικών τιµών. Να επιλυθεί αριθµητικά µε την µε τον παρακάτω αλγόριθµο 4ης τάξης και να συγκριθούν µε τα αντίστοιχα αναλυτικά: y+ = y + k + k k3 k4 6 + + + k = f ( x, y ) k = f x +, y + k k3 = f x +, y + k k + + k4 = f x +, y k + + k3 Απάντηση: Η παραπάνω Σ Ε είναι ένα τυπικό πρόβληµα αρχικών τιµών και περιγράφει x t περιγράφει την εξαναγκασµένη ταλάντωση µε τριβή, όπου η εξαρτηµένη µεταβλητή αποµάκρυνση από τη θέση ισορροπίας την χρονική στιγµή t, ενώ οι αρχικές συνθήκες αντιστοιχούν στην αρχική αποµάκρυνση από την θέση ισορροπίας και στην αρχική ταχύτητα κίνησης. Η ταλάντωση είναι εξαναγκασµένη λόγω του όρου στο δεξί τµήµα της εξίσωσης που περιγράφει την εξωτερική διέγερση και έχει τριβή (ή απόσβεση) λόγω του όρου της πρώτης παραγώγου. Καθώς η δύναµη που παρέχεται στο σύστηµα έχει ηµιτονοειδή µορφή, παρατηρείται ότι το σύστηµα θα ταλαντώνεται επ άπειρον γύρω από µια θέση ισορροπίας µε σταθερό πλάτος και περίοδο. Για την χρήση της µεθόδου Runge-Kutta 4 ης τάξης είναι αναγκαίος ο µετασχηµατισµός της Σ Ε ης τάξης σε ένα σύστηµα δύο Σ Ε ης τάξης θέτοντας: g dx dg = x, g = = dt dt - 4 -

Το προκύπτον σύστηµα γράφεται ως: dg dt dg dt = g + g + g = sn t dg dt dg dt (,, ) = g = f t g g = g g + sn t = f t, g, g Με οριακές συνθήκες g ( 0 ) = 0 και g 0 = 5. Η αναλυτική λύση της παραπάνω Σ Ε µπορεί να βρεθεί µέσω Matematca ως: DSolve[{x''[t] + x'[t] + x[t] == Sn[t], x[0]==0., x'[0]==0.}, x[t], t] Προκύπτει ότι η αναλυτική λύση είναι: t 3t 3t x t e t 3 / = 3cos + 3 sn cos Στην συνέχεια δίνεται η γραφική παράσταση της αναλυτικής λύσης όπου παρατηρείται η συµπεριφορά που περιγράφθηκε παραπάνω: Το αρχικό πρόβληµα θα επιλυθεί κάνοντας χρήση της κλασσικής µεθόδου Runge Kutta 4 ης τάξης, καθώς και της τροποποιηµένης που προτείνεται στην εκφώνηση, έτσι ώστε να συγκριθεί η ακρίβεια των δύο µεθόδων. - 5 -

Ο κώδικας σε Fortran: program OscllatonModfedRK4 mplct none nteger::,n real*8::dt,tstart,tend,k,k,k3,k4,k,k,k3,k4 real*8,allocatable::t(:),g(:),g(:)!fnd program start tme call cpu_tme(tstart) n=0!number of tme steps Allocate(t(n+),g(n+),g(n+))!Memory allocaton dt=0.!tme step t()=0.!intal t g()=0.!intal g g()=5.!intal g!open output fle open(00,fle="oscllatonmodfedrk4_results.dat")!tme do =,n t(+)=t()+dt!implementaon of 4t order Runge-Kutta metod call RK4(t,g,g,n) wrte(00,*) " ----------------------------- RK4 ------------------------- ---" do =,n+ wrte(00,"(i4,0es5.5)"),t(),g(),sol(t()),abs(sol(t())-g())!implementaon of modfed 4t order Runge-Kutta metod call modfedrk4(t,g,g,n) wrte(00,*) "------------------------ RK4 modfed ---------------------- ---" do =,n+ wrte(00,"(i4,0es5.5)"),t(),g(),sol(t()),abs(sol(t())-g())!fnd program end tme call cpu_tme(tend) wrte(*,"(a,es4.4,x,a)") "Program as used", tend-tstart,"seconds of CPU tme." wrte(*,"(a)") "Open fle OscllatonModfedRK4_results.dat for te soluton..." wrte(00,"(a)") "----------------------------------" wrte(00,"(a,es4.4,x,a)") "Program as used", tend-tstart,"seconds of CPU tme."!close output fle close(00) contans - 6 -

subroutne RK4(t,g,g,n) nteger::,n real*8::t(:),g(:),g(:) do =,n k=f(t(),g(),g()) k=f(t(),g(),g()) k=f(t()+0.5*dt,g()+0.5*dt*k,g()+0.5*dt*k) k=f(t()+0.5*dt,g()+0.5*dt*k,g()+0.5*dt*k) k3=f(t()+0.5*dt,g()+0.5*dt*k,g()+0.5*dt*k) k3=f(t()+0.5*dt,g()+0.5*dt*k,g()+0.5*dt*k) k4=f(t()+dt,g()+dt*k3,g()+dt*k3) k4=f(t()+dt,g()+dt*k3,g()+dt*k3) g(+)=g()+(dt/6.)*(k+.*k+.*k3+k4) g(+)=g()+(dt/6.)*(k+.*k+.*k3+k4) end subroutne RK4 subroutne modfedrk4(t,g,g,n) nteger::,n real*8::t(:),g(:),g(:) do =,n k=f(t(),g(),g()) k=f(t(),g(),g()) k=f(t()+0.5*dt,g()+0.5*dt*k,g()+0.5*dt*k) k=f(t()+0.5*dt,g()+0.5*dt*k,g()+0.5*dt*k) k3=f(t()+0.5*dt,g()+(-0.5+./sqrt(.))*dt*k+(.-./sqrt(.))*dt*k, & g()+(-0.5+./sqrt(.))*dt*k+(.-./sqrt(.))*dt*k) k3=f(t()+0.5*dt,g()+(-0.5+./sqrt(.))*dt*k+(.-./sqrt(.))*dt*k, & g()+(-0.5+./sqrt(.))*dt*k+(.-./sqrt(.))*dt*k) k4=f(t()+dt,g()-./sqrt(.)*dt*k+(.+./sqrt(.))*dt*k3, & g()-./sqrt(.)*dt*k+(.+./sqrt(.))*dt*k3) k4=f(t()+dt,g()-./sqrt(.)*dt*k+(.+./sqrt(.))*dt*k3, & g()-./sqrt(.)*dt*k+(.+./sqrt(.))*dt*k3) g(+)=g()+(dt/6.)*(k+.*(.-./sqrt(.))*k+.*(.+./sqrt(.))*k3+k4) g(+)=g()+(dt/6.)*(k+.*(.-./sqrt(.))*k+.*(.+./sqrt(.))*k3+k4) end subroutne modfedrk4-7 -

real*8 functon f(t,g,g) real*8,ntent(in)::t,g,g f=g end functon f real*8 functon f(t,g,g) real*8,ntent(in)::t,g,g f=-g-g+sn(t) end functon f real*8 functon sol(t) real*8,ntent(in)::t sol=exp(- 0.5*t)*(3.*Cos(Sqrt(3.)*t/.)+.*Sqrt(3.)*Sn(Sqrt(3.)*t/.))/3.-Cos(t) end functon sol end program RK4 ( = 0.0 ) n x(t) Αριθµητική Αναλυτική Απόλυτο Σφάλµα 0.00 0.00000 0.00000 0.00E+00 0.0 0.04975 0.04975 9.40E-0 3 0.0 0.09900 0.09900.87E-09 4 0.03 0.4776 0.4776.78E-09 5 0.04 0.960 0.960 3.69E-09 6 0.05 0.4377 0.4377 4.58E-09 7 0.06 0.904 0.904 5.46E-09 8 0.07 0.3378 0.3378 6.3E-09 9 0.08 0.38409 0.38409 7.7E-09 0 0.09 0.4988 0.4988 8.0E-09 0.0 0.4758 0.4758 8.84E-09 Τροποποιηµένη RK4 ( = 0.0 ) n x(t) Αριθµητική Αναλυτική Απόλυτο Σφάλµα 0.00 0.00000 0.00000 0.00E+00 0.0 0.04975 0.04975.9E-09 3 0.0 0.09900 0.09900 3.8E-09 4 0.03 0.4776 0.4776 5.67E-09 5 0.04 0.960 0.960 7.50E-09 6 0.05 0.4377 0.4377 9.30E-09 7 0.06 0.904 0.904.E-08 8 0.07 0.3378 0.3378.8E-08 9 0.08 0.38409 0.38409.45E-08 0 0.09 0.4988 0.4988.6E-08 0.0 0.4758 0.4758.78E-08-8 -

RK4 ( = 0. 5) n x(t) Αριθµητική Αναλυτική Απόλυτο Σφάλµα 0.00 0.00000 0.00000 0.00E+00 0.50.90606.90474.3E-03 3.00.78907.78693.3E-03 4.50.94807.94589.7E-03 5.00.66473.663.6E-03 6.50.49.4833 7.7E-04 7 3.00.538.5385 3.7E-05 8 3.50 0.8848 0.88545 6.3E-04 9 4.00 0.590 0.587 9.68E-04 0 4.50-0.3599-0.3490.0E-03 5.00-0.79907-0.79797.E-03 Τροποποιηµένη RK4 ( = 0. 5) n x(t) Αριθµητική Αναλυτική Απόλυτο Σφάλµα 0.00 0.00000 0.00000 0.00E+00 0.50.90606.90474.3E-03 3.00.78907.78693.3E-03 4.50.94807.94589.7E-03 5.00.66473.663.6E-03 6.50.49.4833 7.7E-04 7 3.00.538.5385 3.7E-05 8 3.50 0.8848 0.88545 6.3E-04 9 4.00 0.590 0.587 9.68E-04 0 4.50-0.3599-0.3490.0E-03 5.00-0.79907-0.79797.E-03 Παρατηρείται πως η κλασσική Runge-Kutta 4 ης τάξης δίνει ελάχιστα καλύτερα αποτελέσµατα για µικρά χρονικά βήµατα ενώ καθώς το χρονικό βήµα αυξάνει οι δύο µέθοδοι ταυτίζονται. Άσκηση 5 Να προσδιοριστεί το κριτήριο ευστάθειας για την αριθµητική λύση του παρακάτω προβλήµατος αρχικών τιµών µε τη µέθοδο Euler. dy 3y y dt = dy = y y dt - 9 -

Απάντηση dy = 3y () () () () y y () () () y ( 3y y ) dt + = + y+ = ( 3) y y () () () () () () () dy ( ) y y y y y y+ y y y + = + = = + dt () () y 3 + y () = () y + y 44443 G Θα πρέπει η φασµατική ακτίνα του πίνακα G να είναι <. Υπολογίζονται οι ιδιοτιµές λ του πίνακα G ως: 3 λ λ ( λ )( λ ) = 0 3 = 0 λ + (5 ) λ + 5 + 5 = 0 5 5 λ = + =.38 5 5 λ = = 3.68 Θα πρέπει οι απόλυτες τιµές και των δύο ιδιοτιµών <: λ <.38 < <.38 < <.38 < 0 0 <.38 < < <.447.38 λ < 3.68 < < < 0.553 3.68 Εποµένως, διατηρώντας το αυστηρότερο κριτήριο προκύπτει: 0 < < 0.553. - 0 -