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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΔΙΔΑΣΚΩΝ: Δ. Βαλουγεώργης Απαντήσεις: ΠΡΟΟΔΟΣ 1, Επιμέλεια λύσεων: Γιώργος Τάτσιος

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

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

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

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

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

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

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

website:

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

Λύσεις ασκήσεων Άσκηση 1: Cengel and Ghajar, Κεφάλαιο 13: Προβλήματα και

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

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟ ΟΙ

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

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

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

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

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

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

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

Μελέτη ευστάθειας και αστάθειας συστημάτων με το περιβάλλον Matlab

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

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

f x και τέσσερα ζευγάρια σημείων

f f 2 0 B f f 0 1 B 10.3 Ακρότατα υπό συνθήκες Πολλαπλασιαστές του Lagrange

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

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

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

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

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

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

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

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

1.1. Διαφορική Εξίσωση και λύση αυτής

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

ΚΕΦΑΛΑΙΟ 3ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 8: ΜΟΝΟΤΟΝΙΑ ΣΥΝΑΡΤΗΣΗΣ [Ενότητα Μονοτονία Συνάρτησης του κεφ.2.6 Μέρος Β του σχολικού βιβλίου].

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

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

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

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

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

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

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. Να βρείτε τις ασύμπτωτες της γραφικής παράστασης της συνάρτησης f με τύπο

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

Λύσεις θεμάτων Α εξεταστικής περιόδου Χειμερινού εξαμήνου

Συνήθεις Διαφορικές Εξισώσεις Ι Ασκήσεις - 19/10/2017. Ακριβείς Διαφορικές Εξισώσεις-Ολοκληρωτικοί Παράγοντες. Η πρώτης τάξης διαφορική εξίσωση

Αριθμητική Ανάλυση. Ενότητα 1: Εισαγωγή Βασικές Έννοιες. Φραγκίσκος Κουτελιέρης Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών

Εφαρμοσμένα Μαθηματικά ΙΙ Πρόοδος Ι. Λυχναρόπουλος

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

8 FORTRAN 77/90/95/2003

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

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

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

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

Να επιλύουμε και να διερευνούμε την εξίσωση αx + β = 0, βάση τη γραφική παράσταση της ευθείας y = ax + β.

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

1η Οµάδα Ασκήσεων. ΑΣΚΗΣΗ 1 (Θεωρία)

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

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

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

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

2. α) Να διατάξετε από το μικρότερο στο μεγαλύτερο τους παρακάτω αριθμούς: x2 )

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

ΚΕΦΑΛΑΙΟ 1ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 3: ΟΡΙΑ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

ΜΑΘΗΜΑΤΙΚΩΝ ΔΑΣΟΛΟΓΙΑΣ

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

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

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

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

ΘΕΩΡΗΜΑ ROLLE. τέτοιο ώστε. στο οποίο η εφαπτομένη είναι παράλληλη στον άξονα χχ. της γραφικής παράστασης της f x με. Κατηγορίες Ασκήσεων

1 3 (a2 ρ 2 ) 3/2 ] b V = [(a 2 b 2 ) 3/2 a 3 ] 3 (1) V total = 2V V total = 4π 3 (2)

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

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

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

2ογελ ΣΥΚΕΩΝ 2ογελ ΣΥΚΕΩΝ ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Β Λυκει(ου ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ

ΚΕΦΑΛΑΙΟ 3ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 3: ΕΦΑΠΤΟΜΕΝΗ [Κεφάλαιο 2.1: Πρόβλημα εφαπτομένης του σχολικού βιβλίου]. ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

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

Transcript:

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, 008-009, 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #: ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΠΡΟΒΛΗΜΑΤΑ ΑΡΧΙΚΩΝ ΤΙΜΩΝ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: 3.0.008 ΔΙΔΑΣΚΩΝ: Δ. Βαλουγεώργης Άσκηση Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος Έστω το πρόβλημα αρχικών τιμών: dv() t dv() t LC + RC + V () t = 0, 0 t 0 dt dt dv V ( 0) = V 0, = 0 dt t= 0 Εφαρμόζοντας τη μέθοδο αριθμητικής ολοκλήρωσης Runge-Kutta 4 ης τάξης, να V t και dv / dt. Οι τιμές των παραμέτρων είναι υπολογιστούν τις τιμές των ( ) 6 V 0 = 00, C = 0, L = 0.5, R = 00. Τα αποτελέσματα να συγκριθούν με τις αναλυτικές λύσεις. Λύση Θέτοντας dv g = παίρνουμε το σύστημα: dt η dv εξίσωση: = g, V(0) = 00 dt η dg 6 εξίσωση: 0 V 00 g, g(0) 0 dt = = Με τη βοήθεια του Matematca υπολογίζουμε την αναλυτική λύση της αρχικής εξίσωσης με την ακόλουθη εντολή: DSolveA90 6 @td + 00 0 6 @td + @td 0, @0D 00, @0D 0=, @td,te ::@td 00 33 00 t I33 CosA300 è!!!!! te + è!!!!! SnA300 è!!!!! tem>> Απομονώνουμε τη λύση με την εντολή: g[t_] = [t]/.%[[]] H γραφική παράσταση της αναλυτικής λύσης στο διάστημα [0, 0.06] δίνεται με την εντολή: Plot[g[t],{t,0,0.06},PlotRange All]

00 75 50 5 0.0 0.0 0.03 0.04 0.05 0.06-5 -50-75 Είναι φανερό ότι πρόκειται για μία ταλάντωση με ισχυρή απόσβεση. Στη συνέχεια μετατρέπουμε την αναλυτική λύση σε μορφή Fortran με την εντολή: g[t]//fortranform (00*(33*Cos(300*Sqrt()*t)+Sqrt()*Sn(300*Sqrt()*t)))/(33.*E**(00*t)) H μετατροπή που προτείνει το Matematca δεν είναι ωστόσο τέλεια! Για να γίνει δεκτή η ανωτέρω έκφραση στην Fortran πρέπει τα ορίσματα της συνάρτησης sqrt να γίνουν πραγματικά και η έκφραση E**(00*t) να γίνει Exp(00*t) Έτσι τελικά η αναλυτική λύση σε μορφή Fortran θα είναι η ακόλουθη: (00*(33*Cos(300*Sqrt(.)*t)+Sqrt(.)*Sn(300*Sqrt(.)*t)))/(33.*Exp(00*t)) Ακολουθούμε αντίστοιχη διαδικασία για την εύρεση της παραγώγου της αναλυτικής λύσης. Αρχικά υπολογίζουμε την παράγωγο με την εντολή: DA 00 33 00 t I33 CosA300 è!!!!! te + è!!!!! SnA300 è!!!!! tem,teêêsmplf 000000 00t SnA300 è!!!!! te 3 è!!!!! Σε μορφή Fortran θα είναι: %//FortranForm (-000000*Sn(300*Sqrt()*t))/(3.*Sqrt()*E**(00*t)) Τελικά με τις διορθώσεις που αναφέραμε προηγουμένως έχουμε: (-000000*Sn(300*Sqrt(.)*t))/(3.*Sqrt(.)*Exp(00*t))

Αριθμητική επίλυση με κώδικα Fortran: program ntal_value_problems_sstem! Solve: 0^-6*''+00*0^-6*'+=0, [0]=00, '[0]=0 As8ens aposbes mplct none real:: real,allocatable,dmenson(:)::,,x nteger::,metod,n=0! number of teratons allocate(x(n),(n),(n)) x()=0!startng pont ()=00!ntal value ()=0!ntal value =0.00 call rk4(x,,,,n) open(,fle='results.csv',recl=50) do =,n prnt*,,x(),(),f(x()),abs(f(x())- ()),(),df(x()),abs(df(x())-()) wrte(,'(i,",",f7.6,",",f5.7,",",f5.7,",",e5.7,",",f5.7,",",f5.7,",",e5.7)'),x(),(),f(x()),abs(f(x())- ()),(),df(x()),abs(df(x())-()) end do close() contans subroutne rk4(x,,,,n) real::x(:),(:),(:),,k,k,k3,k4,k,k,k3,k4 nteger::,n do =,n- k=f(x(),(),()) k=g(x(),(),()) k=f(x()+0.5*,()+0.5**k,()+0.5**k) k=g(x()+0.5*,()+0.5**k,()+0.5**k) k3=f(x()+0.5*,()+0.5**k,()+0.5**k) k3=g(x()+0.5*,()+0.5**k,()+0.5**k) k4=f(x()+,()+*k3,()+*k3) k4=g(x()+,()+*k3,()+*k3) x(+)=x()+ (+)=()+(/6)*(k+*k+*k3+k4) (+)=()+(/6)*(k+*k+*k3+k4) enddo end subroutne rk4 real functon f(x,x,x3) result() real,ntent(n)::x,x,x3 =x3 end functon f real functon g(x,x,x3) result() real,ntent(n)::x,x,x3 =-0**6*x-00*x3 end functon g real functon f(t) result()!analtc soluton 3

real,ntent(n)::t =(00*(33*Cos(300*Sqrt(.)*t) + Sqrt(.)*Sn(300*Sqrt(.)*t)))/(33.*Exp(00*t)) end functon f real functon df( t) result()!analtc dervatve of soluton real,ntent(n)::t =(-000000*Sn(300*Sqrt(.)*t))/(3.*Sqrt(.)*Exp(00*t)) end functon df end program ntal_value_problems_sstem Παρατηρήσεις: Οι συναρτήσεις f και g στον κώδικα προέρχονται από τις σχέσεις: dv dg 6 = g και = 0 V 00g αντίστοιχα dt dt Οι συναρτήσεις f και df προέρχονται από τις σχέσεις που υπολογίσαμε προηγουμένως με τη βοήθεια του Matematca για την αναλυτική λύση και την παράγωγό της. Τα αποτελέσματα τα εμφανίζουμε στην οθόνη, αλλά τα εξάγουμε επίσης και σε αρχείο τιμών χωρισμένων με κόμμα (csv) για εύκολη εισαγωγή στο excel και ακολούθως στο word. Στο αρχείο αυτό ορίζουμε κατάλληλα το πλάτος των γραμμών του, ώστε να αποφύγουμε την αναδίπλωση του κειμένου. Γι αυτό θέτουμε την παράμετρο recl=50 στην εντολή open. Κάθε φορά που εκτελούμε τον κώδικα πρέπει να αλλάζουμε μόνο το βήμα ή (και) το πλήθος n των επαναλήψεων. Εκτελώντας τον κώδικα για διάφορες τιμές βήματος και για n=0 επαναλήψεις παίρνουμε τα ακόλουθα αποτελέσματα: Βήμα =0-6 Αριθμός Βημάτων t V(t) Αρ. V(t) Aναλ. V (t) Αρ. V (t) Αναλ. 0 00 00 0.00E+00 0 0 0.00E+00 0.00000 99.9999466 99.9999466 0.00E+00-99.989986-99.989990 7.63E-06 3 0.00000 99.999794 99.999806 7.63E-06-99.9598694-99.9598694 0.00E+00 4 0.000003 99.99954 99.9995499 7.63E-06-99.9095459-99.9095764 3.05E-05 5 0.000004 99.99993 99.999065.53E-05-399.8389587-399.8389893 3.05E-05 6 0.000005 99.99874 99.9987488 7.63E-06-499.7479858-499.7479858 0.00E+00 7 0.000006 99.99898 99.998995 7.63E-06-599.6365356-599.6365356 0.00E+00 8 0.000007 99.9975433 99.99755 7.63E-06-699.504566-699.5044556 6.0E-05 9 0.000008 99.9967957 99.9968033 7.63E-06-799.358066-799.358066 0.00E+00 0 0.000009 99.9959488 99.9959488 0.00E+00-899.783447-899.784058 6.0E-05 0.00000 99.995007 99.995004 7.63E-06-998.9840088-998.984309.E-04 0.0000 99.9939575 99.9939575 0.00E+00-098.768677-098.768799.E-04 3 0.0000 99.998055 99.998055 0.00E+00-98.53349-98.53593.44E-04 4 0.00003 99.995543 99.99569 7.63E-06-98.7490-98.7504.E-04 5 0.00004 99.990039 99.9905 7.63E-06-397.9966-397.996338.E-04 6 0.00005 99.9887543 99.988769 7.63E-06-497.69667-497.69689.E-04 7 0.00006 99.987055 99.9873 7.63E-06-597.374634-597.374878.44E-04 8 0.00007 99.9855576 99.985565 7.63E-06-697.0366-697.0366 0.00E+00 9 0.00008 99.983804 99.98388 7.63E-06-796.66699-796.66699 0.00E+00 0 0.00009 99.98964 99.98977 7.63E-06-896.8064-896.8076.E-04 4

Βήμα =0-5 Αριθμός Βημάτων t V(t) Αρ. V(t) Aναλ. Βήμα =0-4 V (t) Αρ. V (t) Αναλ. 0 00 00 0.00E+00 0 0 0.00E+00 0.0000 99.995007 99.995004 7.63E-06-998.9840088-998.9840088 0.00E+00 3 0.0000 99.98006 99.9800339 7.63E-06-995.879-995.8735.E-04 4 0.00003 99.9550934 99.9550934 0.00E+00-990.569336-990.56909.44E-04 5 0.00004 99.907 99.907 0.00E+00-398.9805-398.9805 0.00E+00 6 0.00005 99.875445 99.875445 0.00E+00-4973.0054-4973.0054 0.00E+00 7 0.00006 99.807703 99.807703 0.00E+00-5960.56543-5960.56598 4.88E-04 8 0.00007 99.756408 99.75633 7.63E-06-6945.5546-6945.55758 4.88E-04 9 0.00008 99.688695 99.688695 0.00E+00-797.876953-797.87744 4.88E-04 0 0.00009 99.5976868 99.5976868 0.00E+00-8907.44766-8907.44766 0.00E+00 0.0000 99.50373 99.5037308 7.63E-06-9884.699-9884.7875.95E-03 0.000 99.400009 99.400068 7.63E-06-0857.954-0857.95508 9.77E-04 3 0.000 99.865753 99.86589 7.63E-06-88.7080-88.70898 9.77E-04 4 0.0003 99.634445 99.6345 7.63E-06-796.3408-796.3477.95E-03 5 0.0004 99.0306549 99.030670.53E-05-3760.767-3760.76465.93E-03 6 0.0005 98.88837 98.88853.53E-05-47.88086-47.88379.93E-03 7 0.0006 98.73689 98.736366 7.63E-06-5679.60938-5679.63.93E-03 8 0.0007 98.574663 98.574663 0.00E+00-6633.8574-6633.8633 3.9E-03 9 0.0008 98.4035645 98.40357 7.63E-06-7584.537-7584.540 3.9E-03 0 0.0009 98.9843 98.9843 0.00E+00-853.56055-853.5664 5.86E-03 Αριθμός Βημάτων t V(t) Αρ. V(t) Aναλ. V (t) Αρ. V (t) Αναλ. 0 00 00 0.00E+00 0 0 0.00E+00 0.000 99.5037308 99.5037308 0.00E+00-9884.63086-9884.70898 7.8E-03 3 0.000 98.03959 98.03959 0.00E+00-9474.883-9474.848.37E-0 4 0.0003 95.6586 95.6534.53E-05-868.93359-868.9533.95E-0 5 0.0004 9.390 9.39049.53E-05-3744.96484-3744.9888.34E-0 6 0.0005 88.54663 88.54640.9E-05-4563.66797-4563.694.34E-0 7 0.0006 83.076645 83.07663 3.8E-05-5308.699-5308.7656.73E-0 8 0.0007 77.5354996 77.5354538 4.58E-05-607.7578-607.0703 3.3E-0 9 0.0008 7.086334 7.0858 5.34E-05-6694.565-6694.7969.34E-0 0 0.0009 64.30676 64.305665 6.0E-05-7693.0563-7693.035.56E-0 0.000 56.897588 56.89790 6.87E-05-7675.75-7675.76563.56E-0 0.00 49.075676 49.0756035 7.5E-05-8003.953-8003.033 7.8E-03 3 0.00 40.93496 40.934 7.63E-05-8885.0938-8885.056 7.8E-03 4 0.003 3.579083 3.5788 8.0E-05-84880.656-84880.094.56E-0 5 0.004 3.9767838 3.9766998 8.39E-05-85996.6406-85996.4063.34E-0 6 0.005 5.3577938 5.357708 8.30E-05-8639.9688-8639.578 3.9E-0 7 0.006 6.7575455 6.757463 8.5E-05-8564.5-8564.46094 3.9E-0 8 0.007 -.739553 -.7393363 8.09E-05-8474.8556-8474.79688 5.47E-0 9 0.008-0.0506039-0.05068 7.7E-05-89.094-89.4063 7.03E-0 0 0.009-8.097959-8.098044 7.5E-05-7890.79688-7890.7656 7.03E-0 5

Βήμα =0-3 Αριθμός Βημάτων t V(t) Αρ. V(t) Aναλ. V (t) Αρ. V (t) Αναλ. Παρατηρούμε ότι για βήμα =0-3 τα αριθμητικά αποτελέσματα ξεφεύγουν αρκετά από τα αναλυτικά, ενώ για μικρά < 0-3 έχουμε καλή προσέγγιση. 0 00 00 0.00E+00 0 0 0.00E+00 0.00 57.33338 56.89785 4.36E-0-75633.33594-7675.77344 6.4E+0 3 0.00-4.339067-5.80704.47E+00-7585.4406-756.53906.4E+0 4 0.003-70.89733-7.03569.E+00-337.6788-64.783.76E+03 5 0.004-50.758099-49.83544 9.5E-0 47974.0497 5009.4533.E+03 6 0.005 7.830997 9.855035.67E+00 58638.3438 58869.66406.3E+0 7 0.006 48.4683609 50.505705.04E+00 936.4578 6997.46094.3E+03 8 0.007 4.39889 4.704039 6.94E-0-8505.499-3449.444.94E+03 9 0.008.748690-0.59796 3.0E+00-44098.34766-44906.7969 8.08E+0 0 0.009-3.777358-34.400305.6E+00-069.3679-850.73633.9E+03 0.00-33.868466-33.68550.83E-0 5300.9766 8534.6074 3.3E+03 0.0-7.8458-5.08480.8E+00 3073.87695 334.78906.34E+03 3 0.0 9.76058.64045.86E+00 9470.96094 7748.85547.7E+03 4 0.03 6.0559368 6.40586 3.55E-0-677.5449-9865.680664 3.4E+03 5 0.04 9.8504696 7.50733.35E+00-546.4477-453.09375.7E+03 6 0.05 -.405074-4.30975.83E+00-6966.348-58.46875.4E+03 7 0.06-9.37098-0.64974 7.94E-0 465.07605 466.39037.80E+03 8 0.07-9.9980059-8.9079.78E+00 569.363 757.6056.89E+03 9 0.08 5.865383 8.4067.59E+00 4006.5367 343.9375 5.93E+0 0 0.09 3.984086 5.07093.09E+00 5.44086-89.47058.34E+03 6

Άσκηση Να λυθεί με τις μεθόδους Runge Kutta το πρόβλημα αρχικών τιμών d k, dx = d ( 0) = a, = b dx x = 0 Μετά την επιλογή των παραμέτρων που είναι ελεύθερη να περιγράψτε ένα φυσικό πρόβλημα με μοντελοποιείται με το συγκεκριμένο πρόβλημα αρχικών τιμών. Σε κάθε αλγόριθμο να προσδιορισθεί το κριτήριο σύγκλισης. Λύση Θέτοντας d g =, g = dx παίρνουμε το σύστημα: dg g f( x, g, g), g(0) dx = = =a dg k g f( x, g, g), g(0) b dx = = = Επιλέγουμε για παραμέτρους τις τιμές: k=, α=5, b=0 Η αναλυτική λύση της αρχικής εξίσωσης είναι η (t)=5 (Cos[ t]+sn[ t]) και η γραφική παράσταση είναι ως εξής: 6 4-4 6 8 0-4 -6 O κώδικας Fortran που επιλύει το πρόβλημα είναι ο ακόλουθος: program ntal_value_problems_sstem! Solve: ''+4=0, [0]=5, '[0]=0 Eleter Armonk Talantws mplct none real:: real,allocatable,dmenson(:)::,,x nteger::,metod,n=0! number of teratons 7

allocate(x(n),(n),(n)) do metod=,4!=euler, =rk, 3=rk3, 4=rk4 x()=0!startng pont ()=5!ntal value ()=0!ntal value =0. select case (metod) case () call euler(x,,,,n) case () call rk(x,,,,n) case (3) call rk3(x,,,,n) case (4) call rk4(x,,,,n) end select prnt*, '--------------------',metod,'----------------------' do =,n enddo end do contans prnt*,,x(),(),f(x()),abs(f(x())-()) subroutne euler(x,,,,n) real::x(:),(:),(:), nteger::,n do =,n- (+)=()+*f(x(),(),()) (+)=()+*g(x(),(),()) x(+)=x()+ enddo end subroutne euler subroutne rk(x,,,,n) real::x(:),(:),(:),,k,k,k,k nteger::,n do =,n- k=f(x(),(),()) k=g(x(),(),()) k=f(x()+,()+*k,()+*k) k=g(x()+,()+*k,()+*k) x(+)=x()+ (+)=()+(/)*(k+k) (+)=()+(/)*(k+k) enddo end subroutne rk subroutne rk3(x,,,,n) real::x(:),(:),(:),,k,k,k3,k,k,k3 nteger::,n do =,n- k=f(x(),(),()) k=g(x(),(),()) 8

k=f(x()+0.5*,()+0.5**k,()+0.5**k) k=g(x()+0.5*,()+0.5**k,()+0.5**k) k3=f(x()+,()+*k,()+*k) k3=g(x()+,()+*k,()+*k) x(+)=x()+ (+)=()+(/6)*(k+4*k+k3) (+)=()+(/6)*(k+4*k+k3) enddo end subroutne rk3 subroutne rk4(x,,,,n) real::x(:),(:),(:),,k,k,k3,k4,k,k,k3,k4 nteger::,n do =,n- k=f(x(),(),()) k=g(x(),(),()) k=f(x()+0.5*,()+0.5**k,()+0.5**k) k=g(x()+0.5*,()+0.5**k,()+0.5**k) k3=f(x()+0.5*,()+0.5**k,()+0.5**k) k3=g(x()+0.5*,()+0.5**k,()+0.5**k) k4=f(x()+,()+*k3,()+*k3) k4=g(x()+,()+*k3,()+*k3) x(+)=x()+ (+)=()+(/6)*(k+*k+*k3+k4) (+)=()+(/6)*(k+*k+*k3+k4) enddo end subroutne rk4 real functon f(x,x,x3) result() real,ntent(n)::x,x,x3 =x3 end functon f real functon g(x,x,x3) result() real,ntent(n)::x,x,x3! =-(*x3+.5*x)/5 =-4*x end functon g real functon f(t) result()!analtc soluton real,ntent(n)::t =5*(Cos(*t)+Sn(*t)) end functon f end program ntal_value_problems_sstem Στο πίνακα της επόμενης σελίδας παρουσιάζονται ενδεικτικά τα αριθμητικά αποτελέσματα όλων των μεθόδων για τρεις διαφορετικές τιμές του βήματος και για 0 επαναλήψεις. Για κάθε μέθοδο παρουσιάζονται τρεις στήλες αποτελεσμάτων: η τιμή του x, η αριθμητική λύση της εξίσωσης και το αντίστοιχο απόλυτο σφάλμα. 9

Euler RK- RK-3 RK-4 =0.0 =0. =0.5 0. 5. 0.. 0 5..00663 0 3. 0 5.98.058 0 3 3. 0 5.9396 3.377 0 3 4. 0 5.38784 4.588 0 3 5. 0 5.4796 5.46 0 3 6. 0 5.569 6.60788 0 3 7. 0 5.65663 7.8378 0 3 8. 0 5.748 9.08944 0 3 k 9. 0 5.8474.03765 0 { 0. 5. 0.. 0 7. 4.47603 0 4. 0 8..969 6. 0 8.8.8080 8. 0 7.048.963. 4.49.0545. 8.067 0.637.4 3.59635 5.608 0.6 k.8 8.85.8455.085 0 5.38884 0. 5. 0. 5. 0. 0 3.093.. 0 7.5345.5 0. 4.4436.. 0.9478 0.5 4. 0 3.6637 0 3. 4. 0 4.34038 0 3.5 0. 7.05444 4. 8. 0 7.57807 0 k k 4.5.6 0.6495 0 { { 0. 5. 0.. 0 5.099 6.633 0 6. 0 5.9596.9958 0 5 3. 0 5.9084.90799 0 5 4. 0 5.3836.4878 0 5 5. 0 5.474 3.0387 0 5 6. 0 5.5664 3.5587 0 5 7. 0 5.64884 4.04839 0 5 8. 0 5.7377 4.50668 0 5 k 9. 0 5.844 4.939 0 5 { 0. 5. 0.. 0 6.6 4.76033 0 4. 0 7. 4.686 0 6. 0 6.44384.844 0 8. 0 4.6995.57 0..635 3.044 0. 7.5333 0 4.468 0.4 3.55948 5.3308 0.6 5.799 5.08949 0 k.8 7.07556 3.7966 0 { 0. 5. 0. 5. 0 7.5 5.934 0..5.575.5 8.5 3.88064. 9.6875.6357.5 4.6875 0 3.84506 3..578 0 9.7435 3.5.99 0 4.93774 4. 3.73047 7.94976 k 4.5.8707 0.656 0 { 0. 5. 0.. 0 5.099 3.9987 0 6. 0 5.9595 6.46376 0 6 3. 0 5.9083 9.4878 0 6 4. 0 5.38359.368 0 5 5. 0 5.474.504 0 5 6. 0 5.566.76837 0 5 7. 0 5.6488.08 0 5 8. 0 5.7375.384 0 5 k 9. 0 5.8439.449 0 5 { 0. 5. 0.. 0 6.57333.09367 0 4. 0 7.084.3804 0 6. 0 6.4475.47386 0 8. 0 4.76349 8.83773 0..30364.609 0. 5.35085 0.5433 0.4 3.938.570 0.6 5.53.39867 0 k.8 6.864.6604 0 { 0. 5. 0. 5. 0 7.08333.74467 0..6394 8.33809 0.5 6.09086.84649. 7.8703 8.7899 0.5.94.469 3. 7.35 3.94745 3.5 8.696.6377 4. 6.7674 0 3.5455 k 4.5 8.79954 6.30448 { 0. 5. 0.. 0 5.09899.3887 0 0. 0 5.9595.6037 0 0 3. 0 5.908 3.894 0 0 4. 0 5.38358 4.98507 0 0 5. 0 5.4749 6.0886 0 0 6. 0 5.566 7.3 0 0 7. 0 5.6488 8.4 0 0 8. 0 5.7373 9.03358 0 0 k 9. 0 5.8437 9.88895 0 0 { 0. 5. 0.. 0 6.55 3.9668 0 4 4. 0 7.06994 3.77646 0 4 6. 0 6.473.46504 0 4 8. 0 4.8599.5 0 3..46808.3355 0 3. 3.0689 0 3.4637 0 3.4 3.0398 4.96 0 3.6 5.794 4.0544 0 3 k.8 6.69307 3.3685 0 3 { 0. 5. 0. 5. 0 6.875 3.38665 0..50868 4.976 0.5 4.0737.7065 0. 6.8938.60849 0.5 3.4446 6.5474 0 3. 3.07939 3.4388 0 3.5 6.73564 3.8808 0 4. 4.5498 3.5685 0 k 4.5.044 4.50837 0 { { 0

Ανάλυση Ευστάθειας μεθόδου Euler ( ) ( ) g = g + + f x, g, g = g + g () () () () () () g g f x, g, g g k g () () () () () () + = + = () () g + g () = () g k + g G Με το Matematca υπολογίζουμε τις ιδιοτιμές του πίνακα G: g = k k ; { Egenvalues[g]//Smplf {+ k,- k} Επομένως οι δύο ιδιοτιμές του G είναι οι: λ, = ± k Για να έχουμε ευσταθές σχήμα θα πρέπει, < + k <, το οποίο δεν λ μπορεί να ισχύει αφού k > 0. Άρα από την ανάλυση ευστάθειας προκύπτει ότι η μέθοδος Euler είναι ασταθής για οποιαδήποτε επιλογή του βήματος. Παράλληλα βλέπουμε ότι τα αριθμητικά αποτελέσματα είναι αποδεκτά, τουλάχιστον για το μικρό αριθμό βημάτων που έχουμε κάνει τους υπολογισμούς, όταν το είναι πολύ μικρό. Βεβαίως δεν γνωρίζουμε πως θα εξελιχθεί η αριθμητική λύση στα επόμενα χρονικά βήματα.. Θα επαληθευθεί η θεωρητική ανάλυση ή όχι? Αντίστοιχη συμπεριφορά παρατηρείται και με τις άλλες μεθόδους Runge Kutta.

Άσκηση 3 Να αποδειχθεί ο πεπλεγμένος αλγόριθμος n+ = n + f ( xn, n ) + 4 f ( xn, n) + f ( xn+, n+ 3 ) που εφαρμόζεται στην αριθμητική ολοκλήρωση συνήθων διαφορικών εξισώσεων της ' = f x, x. ( ) μορφής ( ) Να βρεθεί το κριτήριο ευστάθειας του αλγορίθμου + = + + + + 4 όπου ( ) ( 4 ' ' 3 ' ) ( ) = f x n. ', n n,, Λύση d f x d f xdx dx = = Α. (, ) (, ) Ολοκληρώνοντας μεταξύ των σημείων xn και x n + παίρνουμε: n+ xn+ xn+ = (, ) = (, ) ( ) d f x dx f x dx n+ = n + f x, dx () n+ n n xn xn Εφαρμόζοντας τον ο κανόνα του Smpson έχουμε: xn+ f ( x, ) dx f ( xn, n ) 4 f ( xn, n) f ( xn n 3 + + +, + ) () xn Από () και () παίρνουμε το ζητούμενο. + = + + + + = 4 = ( + ) + 4 f ( x+, + ) f ( x, ) + 3 f ( x, ) 4 B. ( ) ( 4 ' ' 3 ' ) ( ) xn+ xn Θέτοντας = ( x ) + ε, παίρνουμε ε+ + x ( + ) = ( ε + x ( ) + ε + x ( ) ) + + 4 f ( x+, ε+ + ( x+ ) ) f ( x, ε + ( x) ) + 3 f ( x, ε + ( x ) 4 ) ()

f + = + ε Χρησιμοποιώντας ανάπτυγμα Talor έχουμε: f ( x, ( x ) ε ) f ( x, ( x )) Έτσι η () δίνει ε+ + x ( + ) = ( ε + x ( ) + ε + x ( ) ) + f f + 4 f ( x+, ( x+ ) ) + ε+ f ( x, ( x) ) + ε + 4 = ( x+ ) = ( x) f + 3 f ( x, ( x ) ) + ε = ( x ) f f f ε+ + x ( + ) = ( ε + ε ) + 4ε+ ε + 3ε + 4 = ( x+ ) = ( x) = ( x ) + ( ( x) + ( x ) ) + 4 f ( x+, ( x+ ) ) f ( x, ( x) ) + 3 f ( x, ( x ) ) 4 ( x+ ) f f f ε+ = ( ε + ε ) + 4ε+ ε + 3ε 4 = ( x+ ) = ( x) = ( x ) () = ( x ) Για απλοποίηση της σχέσης () θεωρούμε ότι f f f f = = ( x ) = ( x) = ( x+ ) Επομένως η () γίνεται: f ε+ = ( ε + ε ) + [ 4ε+ ε + 3ε ] 4 f f 3 f ε+ + + ε + ε = 0 (3) 4 4 a b c ε ε aε+ + bε + cε = a + b+ c = ε ε + 0 0 ε+ ε Υποθέτουμε ότι = ξ και η (3) δίνει: ε ε aξ + b+ c = 0 αξ + bξ + c= 0 (4) ξ Ζητάμε από τις ρίζες της (4) να ικανοποιείται η ακόλουθη ανισότητα ξ, b± b 4ac = < a Για να συνεχίσουμε θα πρέπει να γνωρίζουμε την συνάρτηση f ( x, ) 3

Άσκηση 4 Προσδιορίστε το κριτήριο ευστάθειας για την αριθμητική λύση του προβλήματος αρχικών τιμών d 3 dt = d dt = με τη μέθοδο Euler. Λύση d = 3 () () () () () () () ( 3 ) dt + = + + = ( 3) () () () () () () () d ( ) ( ) + = + + = + = dt () () 3 + () = () + 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 4