Η μέθοδος του Verlet - εισαγωγικά

Σχετικά έγγραφα
Ολοκλήρωση - Μέθοδος Monte Carlo

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

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια υπορουτίνα; με υπορουτίνα ΥΠΟΡΟΥΤΙΝΕΣ. Παράδειγμα #1: η πράξη SQ. Ποια η διαφορά συναρτήσεων και υπορουτίνων;

Κίνηση σε μία διάσταση

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Υποπρογράμματα. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης while for do-while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Παράδειγμα #1 Εντολή while

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

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

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

Κεφάλαιο 8. Αριθμητικός υπολογισμός ορισμένου ολοκληρώματος

4. Παραγώγιση πεπερασμένων διαφορών Σειρά Taylor Πολυωνυμική παρεμβολή

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

ΦΥΣ Διάλ Άλγεβρα. 1 a. Άσκηση για το σπίτι: Διαβάστε το παράρτημα Β του βιβλίου

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

Υπολογιστικά Mαθηματικά II

4. Παραγώγιση πεπερασμένων διαφορών Σειρά Taylor Πολυωνυμική παρεμβολή

Συνήθεις διαφορικές εξισώσεις O.D.E.

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

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

Υπο-προγράμματα στη Fortran

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Aριθμητική Ανάλυση, 4 ο Εξάμηνο Θ. Σ. Παπαθεοδώρου

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

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

6. Αριθμητική Ολοκλήρωση

Περιεχόμενα. Κεφάλαιο 1 ΣΥΣΤΗΜΑΤΑ ΣΥΝΤΕΤΑΓΜΕΝΩΝ ΣΕ ΜΙΑ ΕΥΘΕΙΑ Οι συντεταγμένες ενός σημείου Απόλυτη τιμή...14

Εισαγωγή στον Προγραµµατισµό. Ανάλυση (ή Επιστηµονικοί 21Υπολογισµοί)

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

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

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

Δηλαδή η ρητή συνάρτηση είναι πηλίκο δύο ακέραιων πολυωνύμων. Επομένως, το ζητούμενο ολοκλήρωμα είναι της μορφής

ΘΕΜΑΤΑ ΚΑΙ ΑΣΚΗΣΕΙΣ ΓΙΑ «ΜΑΘΗΜΑΤΙΚΑ ΙΙ» ΑΚΟΛΟΥΘΙΕΣ ΚΑΙ ΟΡΙΑ ΑΚΟΛΟΥΘΙΩΝ. lim. (β) n +

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

ΜΑΣ 371: Αριθμητική Ανάλυση ΙI ΑΣΚΗΣΕΙΣ. 1. Να βρεθεί το πολυώνυμο Lagrange για τα σημεία (0, 1), (1, 2) και (4, 2).

Υπολογιστές Ι. Άδειες Χρήσης. Συναρτήσεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

!n k. Ιστογράμματα. n k. x = N = x k

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

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

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

Μαθηματική Ανάλυση Ι

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

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

ΑΥΤΟΜΑΤΙΣΤΕΣ ΦΥΣΙΚΗ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΔΕΥΤΕΡΑ ΑΙΘ.ΖΑ

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

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

4.1 Το αόριστο ολοκλήρωµα - Βασικά ολοκληρώ-

Μαθηματικά ΜΕΡΟΣ 8 ΟΛΟΚΛΗΡΩΜΑΤΑ α

ΑΝΑΛΥΣΗ 2 ΣΕ 37 ΜΑΘΗΜΑΤΑ

f x g x f x g x, x του πεδίου ορισμού της; Μονάδες 4 είναι οι παρατηρήσεις μιας ποσοτικής μεταβλητής Χ ενός δείγματος μεγέθους ν και w

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

Απειροστικός Λογισμός Ι, χειμερινό εξάμηνο Λύσεις δέκατου φυλλαδίου ασκήσεων. 2 x dx = 02 ( 2) 2

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ. (2 μονάδες) Δίνονται τα σημεία (-2, -16), (-1, -3), (0, 0), (1, -1) και (2, 0). Υπολογίστε το πολυώνυμο παρεμβολής Newton.

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

Σηµειώσεις. Eφαρµοσµένα Μαθηµατικά Ι. Nικόλαος Aτρέας

Γραμμική Διαφορική Εξίσωση 2 ου βαθμού

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

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

Μέϑοδοι Εφαρμοσμένων Μαϑηματιϰών (ΜΕΜ 274) Φυλλάδιο 2

ΜΑΘΗΜΑΤΙΚΑ ΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ

Ο ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ LAPLACE

ΦΥΣ Διαλ Σήμερα...? q Λογισμό μεταβολών (calculus of variations)

Oι εντολές COMMON και PARAMETER

Θερμοδυναμική - Εργαστήριο

(s n (f)) g = s n (f g) = f (s n (g)). s n (f) g = (f D n ) g = f (D n g) = f (g D n ) = f s n (g). K n (x)g δ (x) dx. K n (x) dx.

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

ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ

= 1. z n 1 = z z n = 1. f(z) = x 0. (0, 0) = lim

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

17. Εισαγωγή σε αριθμητικές μεθόδους για μηχανικούς και αλγορίθμους

ΚΕΦΑΛΑΙΟ 4 ο : ΑΝΙΣΩΣΕΙΣ ΤΟ 2 Ο ΘΕΜΑ

5.1 Συναρτήσεις δύο ή περισσοτέρων µεταβλητών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΛΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Εξετάσεις Ιουνίου 2002

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

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

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

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

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

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

Κεφ. 3: Παρεμβολή. 3.1 Εισαγωγή. 3.2 Πολυωνυμική παρεμβολή Παρεμβολή Lagrange Παρεμβολή Newton. 3.3 Παρεμβολή με κυβικές splines

Α. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ

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

v y = 12x 2 y + 4y v(x, y) = 6x 2 y 2 + y 4 + y + c(x). f(z) = u(z, 0) + iv(z, 0) = z + i(z 4 + c), f(z) = iz 4 + z i.

AkoloujÐec sunart sewn A. N. Giannakìpouloc, Tm ma Statistik c OPA

Διαφορικός λογισµός. y(x + Δx) y(x) dy dx = lim Δy

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 B ΦΑΣΗ ΜΑΘΗΜΑΤΙΚΑ / ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ

Κεφ. 4: Ολοκλήρωση. 4.1 Εισαγωγή

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

Εφαρμοσμένα Μαθηματικά ΙΙ Πρόοδος 18/4/2018 Διδάσκων: Ι. Λυχναρόπουλος

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ. Β κύκλος

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

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

Συνήθεις Διαφορικές Εξισώσεις Ι Ασκήσεις - 09/11/2017. Άσκηση 1. Να βρεθεί η γενική λύση της διαφορικής εξίσωσης. dy dx = 2y + x 2 y 2 2x

Αριθμητική παραγώγιση εκφράσεις πεπερασμένων διαφορών

= 1 E x. f(t)x n (t)dt, n = 1, 2,, N (2) = 0, i = 1, 2,, N (3) E e = e 2 (t)dt (4) e(t) = f(t) c n x n (t) (5) f(t) cx(t) = 4 sin(t) (7)

Transcript:

Η μέθοδος του Verlet - εισαγωγικά ΦΥΣ 145 - Διαλ.08 1 q Η μέθοδος του Euler στηρίζεται στον ορισμό της δεξιάς παραγώγου. Ένας ισοδύναμος ορισμός είναι f (t + h) # f (t # h) f (t) = lim h"0 2h q Αυτή η εξίσωση λέμε ότι είναι ζυγισμένη ως προς t. Χρησιμοποιώντας το ανάπτυγμα Taylor μπορούμε να γράψουμε f (t + h) = f (t) + h f (t) + 1 2 h2 f (t) + 1 3 h3 f (" + ) f (t h) = f (t) h f "(t) + 1 2 h2 f ""(t) 1 3 h3 f """ (# ) όπου ζ ± είναι μεταξύ t και t±h q Επομένως αφαιρώντας γράφουμε: f (t) = f (t + h) " f (t " h) 2h " 1 3 h2 f (# ) $$% t " h & # & t + h σφάλμα αποκοπής τάξης h 2 q Χρησιμοποιώντας το ανάπτυγμα Taylor για f(t+h) και f(t-h) μπορούμε να γράψουμε τη δεύτερη παράγωγο της f με τη μορφή f (t) = f (t + h) + f (t " h) " 2 f (t) " 1 4 h2 f (4) (# ) $$% t " h & # & t + h h 2

ΦΥΣ 145 - Διαλ.08 2 Εύρεση της 1 ης και 2 ης παραγώγου συνάρτησης C======================================== Program DERIVATIVES C======================================== C Evresi twn paragogon tis f(x)=sin(x) C xrisimipoivntas tis ekfraseis gia tin C proti kai deyteri paragogo apo ti C proigoymeni selida C F1 = f, F2=f C D1 = sfalma stin F1 C D2 = sfalma stin F2 C========================================= Parameter(N=101) REAL X(N), F(N), F1(N) REAL D1(N),F2(N),D2(N) pi = 4.0*atan(1.0) h = pi/(2.*100.) Do 100 i =1, N x(i) = h*(i-1) F(I) = sin(x(i)) 100 Continue CALL THREE(N,h,F,F1,F2) DO 300 I = 1, N D1(I) = F1(I) COS(X(I)) D2(I) = F2(I) + SIN(X(I)) WRITE(6,99)X(I),F1(I),D1(I),F2(I),D2(I) 300 Continue 99 FORMAT(5F10.6) END C============================== Subroutine THREE(N,H,FI,F1,F2) C============================== C Yporoutina gia ton ypologismo tis C prwtis kai deyteris paragogou. C Input arguments: C h: vima C FI: input f(x) C Output arguments: C F1 kai F2: 1 η kai 2 η paragogos C============================= REAL FI(N),F1(N),F2(N) DO 100 I =2, N-1 F1(I) = (FI(I+1)-FI(I 1))/(2.0*h) F2(I) = (FI(I+1) 2.*FI(I)+FI(I 1))/(h*h) 100 Continue F1(1) = 2.0*F1(2) F1(3) F1(N) = 2.0*F1(N 1) F1(N 2) F2(1) = 2.0*F2(2) F2(3) F2(N) = 2.0*F2(N 1) F2(N 2) RETURN END

Η Μέθοδος Verlet d r q Παίρνοντας τις εξισώσεις κίνησης dt = d 2 r (t); dt = a( r ) 2 και χρησιμοποιώντας τις σχέσεις για την πρώτη και δεύτερη παράγωγο που δείξαμε πριν θα έχουμε r n+1 r n1 2h + O(h 2 ) = " n rn+1 + r n1 2 r n h 2 + O(h 2 ) = a n ""# a n = a( r n ) q Από τις εξισώσεις αυτές παίρνουμε: r n = n+1 " r n"1 + O(h 2 ) 2h r n+1 = 2 r n r n1 + h 2 an + O(h 4 ) ΦΥΣ 145 - Διαλ.08 3 q Γνωρίζοντας r 0 και r 1 μπορούμε να υπολογίσουμε r 2. Γνωρίζοντας r 2 και r 1 μπορούμε να υπολογίσουμε r 3 και άρα να πάρουμε υ 2 q Το πρόβλημα της μεθόδου είναι ότι δεν είναι εύκολο να την ξεκινήσουμε. Οι αρχικές συνθήκες που μας δίνονται συνήθως είναι r 1 = r(t = 0) και υ 1 = υ(t = 0) αλλά όχι r 0 = r(t = -h) Ø Επιπλέον προβλήματα στρογγυλοποίησης στον τύπο της ταχύτητας λόγω αφαίρεσης σχεδόν ίσων και μεγάλων μεγεθών

ΦΥΣ 145 - Διαλ.08 4 H Mέθοδος Verlet - ταχύτητας Από τις σχέσεις: n = r n+1 " r n"1 + O(h 2 ) 2h Λύνοντας την (1) ως προς r n-1 έχουµε: Αντικαθιστώντας στην (2): Από την (1) έχουµε ακόµα: Αλλά σύµφωνα µε την (2), r n+2 δίνεται από: Αντικατάσταση της (6) στη (5) δίνει: n+1 = h n + h2 2 h r n+1 = 2 r n r (1) n1 + h 2 an + O(h 4 ) (2) r n1 = r n+1 2h " n r n+1 = r n + h n + h2 2 n+1 = n+1 = r n+2 " r n 2h a n (3) (4) (5) r n+2 = 2 r n+1 r n + h 2 an+1 (6) r n+1 " r n + h a (7) n+1 h 2 Χρησιµοποιώντας την (4) για αντικατάσταση του r n+1 - r n στην (7) έχουµε: a n + h 2 a n+1 " n+1 = n + h 2 ( a n + a n+1 ) r n+1 = r n + h n + h2 2 a n Μέθοδος Verlet ταχύτητας q Η µέθοδος αυτή είναι µαθηµατικά ισοδύναµη µε την γενική µορφή του Verlet αλλά δεν παρουσιάζει προβλήµατα σφαλµάτων στογγυλοποίησης και επίσης ξεκινά εύκολα από τις αρχικές συνθήκες και µόνο.

ΦΥΣ 145 - Διαλ.08 5 H Mέθοδος Verlet - ταχύτητας Σχηµατικά η µέθοδος ταχύτητας Verlet µπορεί να χρησιµοποιηθεί ως εξής: Δεδοµένων των αρχικών συνθηκών x k και υ k και της συνάρτησης της δύναµης ή επιτάχυνσης ενός σώµατος F(x): Βήµα 1: Υπολογίζουµε k +1 2 = k + h 2 F ( x k ) Βήµα 2: Υπολογίζουµε x k +1 = x k + k +1 2 h Βήµα 3: Υπολογίζουµε k +1 = k +1 2 + h 2m F ( x k +1)

Αριθμητική ολοκλήρωση q Υπάρχουν πολλοί λόγοι που κάποιος θέλει να κάνει αριθμητική ολοκλήρωση: Ø Το ολοκλήρωμα είναι δύσκολο να υπολογισθεί αναλυτικά Ø Ολοκλήρωση πίνακα δεδομένων q Διάφοροι τρόποι ολοκλήρωσης ανάλογα με το πρόβλημα v Ολοκλήρωση με το χέρι Ø Ένας τρόπος είναι να χρησιμοποιήσουμε ένα πλέγμα πάνω στο γράφημα της συνάρτησης προς ολοκλήρωση και να μετρήσουμε τα τετράγωνα (μόνο αυτά που περιέχονται κατά 50% από τη συνάρτηση). Ø Αν οι υποδιαιρέσεις του πλέγματος (τετράγωνα) είναι πολύ μικρές τότε μπορούμε να προσεγγίσουμε αρκετά καλά το ολοκλήρωμα της συνάρτησης.

Αριθμητική ολοκλήρωση v Προσέγγιση συνάρτησης με σταθερά Ø Ο πιο απλός τρόπος ολοκλήρωσης. Ø Υποθέτουμε ότι η συνάρτηση f(x) είναι σταθερή στο διάστημα (,x 1 ) Ø H μέθοδος δεν είναι ακριβής και οδηγεί σε αμφίβολα αποτελέσματα ανάλογα με το αν η σταθερά επιλέγεται στην αρχή ή το τέλος του διαστήματος ολοκλήρωσης. Aν πάρουμε το ανάπτυγμα Taylor της συνάρτησης f(x) ως προς το κατώτερο όριο: x+ x x+ x % " f (x)dx = f ( ) + f #( )(x $ ) + 1 2 f ##(x )(x $ x ( " 0 0 )2 + & ' ) * dx σταθερά = f ( )x + 1 2 f "(x 0 )(x # ) 2 + 1 6 f ""(x 0 )(x # ) 3 + = f ( )x + O(x 2 ) Αν η σταθερά λαμβάνεται από το πάνω όριο ολοκλήρωσης θα είχαμε: + x " f (x)dx = f ( + x)x + O(x 2 ) Ø Το σφάλμα και στις 2 περιπτώσεις είναι τάξης Ο(Δx 2 ) με το συντελεστή να καθορίζεται από τη τιμή της 1 ης παραγώγου

Αριθμητική ολοκλήρωση Κανόνας του τραπεζίου Θεωρήστε το ανάπτυγμα της σειράς Taylor που ολοκληρώνεται μεταξύ και +Δx x+ x " f (x)dx = " % & f ( ) + f #( )(x $ ) + 1 2 f ##( )(x $ ) 2 + ' ( dx x+ x = f ( )x + 1 2 f "( )x 2 + 1 6 f ""( )x 3 + = { 1 2 f (x ) + 1 # 0 2 $ f ( ) + f ( )"x + 1 2 f ( )"x 2 + % & ' 1 12 f ( )"x 2 + }"x = 1 2 [ f (x ) + f (x + x) 0 0 ]x + O(x 3 ) Κανόνας του τραπεζίου Σφάλμα προσέγγισης Γεωμετρική ερμηνεία Αφού το σφάλμα ελαττώνεται κατά Δx 3 κάνοντας το διάστημα μισό το σφάλμα θα μικραίνει κατά 8 Αλλά η περιοχή θα ελαττωθεί στο μισό και θα πρέπει να χρησιμοποιήσουμε το κανόνα 2 φορές και να αθροίσουμε. Το σφάλμα τελικά ελαττώνεται κατά 4

Αριθμητική ολοκλήρωση Κανόνας του τραπεζίου Συνήθως όταν θέλουμε να ολοκληρώσουμε σε ένα διάστημα, x 1 χωρίζουμε το διάστημα σε N μικρότερα διαστήματα Δx=(x 1 - )/N Εφαρμόζοντας το κανόνα του τραπεζίου x 1 n#1 +(i+1)"x f (x)dx = f (x)dx "x 2 $ i=0 n'1 +i"x ( ) + f ( + (i + 1)"x ) ( #$ f + i"x % & ) i=0 x 1 f (x)dx " #x f ( ) + 2 f ( + #x) + 2 f ( + 2#x) ++ 2 f ( + (n $ 1)#x ) + f ( x 1 ) 2 %& ' ( Ενώ το σφάλμα για κάθε βήμα είναι Δx 3 το συνολικό σφάλμα είναι αθροιστικό ως προς όλα τα βήματα (Ν) και επομένως θα είναι N φορές Ο(Δx 2 )~Ο(Ν -2 ) Στα παραπάνω υποθέσαμε ότι το βήμα, Δx, είναι σταθερό σε όλο το διάστημα. Θα μπορούσε ωστόσο να μεταβάλλεται σε μια περιοχή (να ναι πιο μικρό) ώστε να έχουμε μικρότερο σφάλμα. π.χ. περιοχές με μεγάλη καμπύλωση της συνάρτησης Προσοχή το σφάλμα παραμένει και πάλι της τάξης Ο(Δx 2 ) αλλά οι υπολογισμοί θα είναι πιο ακριβείς Αυτό το κάνουμε γιατί σε περιοχές μεγάλης καμπύλωσης η 2 η παράγωγος της συνάρτησης θα γίνει πολύ μεγάλη οπότε μικρότερο Δx θα κρατήσει τον όρο μικρό

Κώδικας για κανόνα του τραπεζίου PROGRAM Integration Double Precision x0,x1,value,exact,pi INTEGER i, j, nx C=====Functions Double Precision TrapeziumRule C=====Constants pi = 2.0*ASIN(1.0D0) Exact = 2.0 C=====Limits x0 = 0.0 x1 = pi C===================== C= Trapezium rule = C===================== WRITE(6,*) WRITE(6,*) Trapezium rule nx = 1 DO i=1,20 Value = TrapeziumRule(x0,x1,nx) WRITE(6,*)nx,Value,Value Exact nx = 2*nx ENDDO FUNCTION MYFUNC(x) Double Precision x, myfunc myfunc = SIN(x) RETURN END Double Precision FUNCTION TrapeziumRule(x0,x1,nx) C=====parameters INTEGER nx Double Precision x0,x1 C=====functions Double precision myfunc C=====local variables INTEGER i Double Precision dx, xa, xb, fa, fb, Sum dx = (x1 - x0)/dfloat(nx) Sum = 0.0 DO i=0,nx-1 xa = x0 + DFLOAT(i)*dx xb = x0 + DFLOAT(i+1)*dx fa = myfunc(xa) fb = myfunc(xb) Sum = Sum + fa + fb ENDDO Sum = Sum * dx / 2.0 TrapeziumRule = Sum RETURΝ END

Αριθμητική ολοκλήρωση Κανόνας μέσου σημείου Μια παραλλαγή του κανόνα του τραπεζίου είναι ο κανόνας του μέσου σημείου Η ολοκλήρωση του αναπτύγματος Taylor γίνεται από -Δx/2 σε +Δx/2 οπότε: + 1 2 "x # f (x)dx = # % & f ( ) + f $ ( )(x ) + 1 2 f $$ ( )(x ) 2 + ' ( dx ) 1 2 "x + 1 2 "x 1 2 "x + 1 2 "x # f (x)dx $ f ( )"x + 1 24 f %%(x 0 )"x 3 + 1 2 "x Υπολογίζοντας τη συνάρτηση στο μέσο κάθε διαστήματος το σφάλμα μπορεί να ελαττωθεί κάπως μια και ο παράγοντας μπροστά από τον όρο της 2 ης παραγώγου είναι 1/24 αντί του 1/12 που έχουμε στη μέθοδο του τραπεζίου αλλά και η μέθοδος αυτή είναι τάξης Ο(Δx 2 ) Διαχωρίζοντας το διάστημα σε υποδιαστήματα μπορούμε να ελαττώσουμε το σφάλμα όπως και στην περίπτωση του κανόνα του τραπεζίου: x 1 n$1 f (x)dx " #x% f + ( i + 1 2)#x i=0 ( )

Αριθμητική ολοκλήρωση Κανόνας μέσου σημείου Κανόνας μέσου σημείου: Κανόνας τραπεζίου: x 1 n$1 f (x)dx " #x% f + ( i + 1 2)#x i=0 ( ) x 1 f (x)dx " #x f ( ) + 2 f ( + #x) + 2 f ( + 2#x) ++ 2 f ( + (n $ 1)#x ) + f ( x 1 ) 2 %& ' ( Η διαφορά τους είναι μόνο στη φάση των σημείων και της περιοχής υπολογισμού, και στον τρόπο υπολογισμού του πρώτου και τελευταίου διαστήματος Γεωμετρική ερμηνεία Ωστόσο υπάρχουν δύο πλεονεκτήματα της μεθόδου του ενδιάμεσου σημείου σε σχέση με την μέθοδο του τραπεζίου: Α) Χρειάζεται ένα υπολογισμό της f(x) λιγότερο B) Μπορεί να χρησιμοποιηθεί πιο αποτελεσματικά για τον υπολογισμό του ολοκληρώματος κοντά σε μια περιοχή που υπάρχει ολοκληρώσιμο ιδιάζων σημείο

Κώδικας για κανόνα του ενδιάμεσου σημείου PROGRAM Integration Double Precision x0,x1,value,exact,pi INTEGER i, j, nx C=====Functions Double Precision MidPointRule C=====Constants pi = 2.0*ASIN(1.0D0) Exact = 2.0 C=====Limits x0 = 0.0 x1 = pi C===================== C= Mid point = C===================== WRITE(6,*) WRITE(6,*) Midpoint rule nx = 1 DO i=1,20 Value = MidPointRule(x0,x1,nx) WRITE(6,*)nx,Value,Value Exact nx = 2*nx ENDDO FUNCTION myfunc(x) Double Precision x, myfunc myfunc = SIN(x) RETURN END Double Precision FUNCTION MidpointRule(x0,x1,nx) C=====parameters INTEGER nx Double Precision x0,x1 C=====functions Double Precision myfunc C=====local variables INTEGER i Double Precision dx,xa,fa,sum dx = (x1 - x0)/dfloat(nx) Sum = 0.0 DO i=0,nx-1 xa = x0 + (DFLOAT(i)+0.5)*dx fa = myfunc(xa) Sum = Sum + fa ENDDO Sum = Sum * dx MidpointRule = Sum RETURN END

Αριθμητική ολοκλήρωση Κανόνας του Simpson 2 Ένας διαφορετικός τρόπος προσέγγισης από το να ου βαθμού προσέγγιση της f(x) ελαττώνουμε το μέγεθος του Δx στην ολοκλήρωση για καλύτερη ακρίβεια είναι να αυξήσουμε την ακρίβεια των συναρτήσεων που χρησιμοποιούμε για να προσεγγίσουμε το ολοκλήρωμα. Ολοκληρώνοντας το ανάπτυγμα Taylor σε ένα διάστημα 2Δx +2x " f (x)dx = 2 f ( )x + 2 f #( )x 2 + 4 f ##(x 3 0 )x 3 + 2 f ### (x 3 0 )x 4 + 4 f iv (x 15 0 )x 5 +2x " f (x)dx = x [ 3 f ( ) + ( ) ( f ( )"x + 2 f (x )"x 2 + 4 f ( 3 0 )"x 3 + 2 f iv (x 3 0 )"x 4 + ) # +4 f ( ) + f ( )"x + 1 f (x )"x 2 + 1 f (x )"x 3 + 1 f iv (x 2 0 6 0 24 0 )"x 4 + + f ( ) + 2 17 30 f iv ( )"x 4 ] # +2x " f (x)dx = x f ( ) + 4 f ( + x) + f ( + 2x) 3 #$ % & + O x 5 ( ) Ο κανόνας του Simpson είναι 2 τάξεις περισσότερο ακριβής από αυτόν του τραπεζίου δίνοντας ακριβή ολοκλήρωση κύβων ΦΥΣ 145 - Διαλ.09

Αριθμητική ολοκλήρωση Βελτιστοποίηση Simpson Χωρίζοντας το διάστημα από σε x 1 σε μικρότερα (N) διαστήματα, μπορούμε να αυξήσουμε την ακρίβεια του αλγόριθμου. Το γεγονός ότι χρειαζόμαστε 3 σημεία για την ολοκλήρωση κάθε διαστήματος απαιτεί να υπάρχουν άρτια σε πλήθος διαστήματα. Άρα θα πρέπει να εκφράσουμε το πλήθος των διαστημάτων σαν Ν = 2m. Θα έχουμε: x 1 f (x)dx " #x 3 m(1 ) i=0 ( ) + f ( + 2i + 2 ) $% f ( + 2i#x) + 4 f + ( 2i + 1)#x ( )#x & ' x 1 f (x)dx " #x f ( ) + 4 f ( + #x) + 2 f ( + 2#x) ++ 4 f ( + ( N $ 1)#x) + f ( x 1 ) 3 %& ' (

Κώδικας για κανόνα του Simpson PROGRAM Integration Double Precision x0,x1,value,exact,pi INTEGER i, j, nx C=====Functions Double Precision SimpsonsRule C=====Constants pi = 2.0*ASIN(1.0D0) Exact = 2.0 C=====Limits x0 = 0.0 x1 = pi C===================== C= Simpson = C===================== WRITE(6,*) WRITE(6,*) Simpson rule nx = 2 DO i=1,10 Value = SimpsonsRule(x0,x1,nx) WRITE(6,*) nx,value,value Exact nx = 2*nx ENDDO FUNCTION myfunc(x) Double Precision x, myfunc myfunc = SIN(x) RETURN END Double Precision FUNCTION SimpsonsRule(x0,x1,nx) INTEGER nx Double Precision x0,x1 Double Precision myfunc INTEGER i Double Precision dx,xa,xb,xc,fa,fb,fc,sum dx = (x1 - x0)/dfloat(nx) Sum = 0.0 DO i=0, nx-1, 2 xa = x0 + DFLOAT(i)*dx xb = x0 + DFLOAT(i+1)*dx xc = x0 + DFLOAT(i+2)*dx fa = myfunc(xa) fb = myfunc(xb) fc = myfunc(xc) Sum = Sum + fa + 4.0*fb + fc ENDDO Sum = Sum * dx / 3.0 SimpsonsRule = Sum RETURN END

Ολοκλήρωση - Πολλαπλά ολοκληρώματα Έστω ότι έχουμε να υπολογίσουμε ένα ολοκλήρωμα της μορφής: x b x a y b y a f ( x, y)dxdy f x y b ( ) = f x, y y a ( )dy x b f ( x)dx x a Μπορεί να λυθεί υπολογίζοντας το καθένα ολοκλήρωμα κατά σειρά Κανόνα του τραπεζίου Κανόνα ενδιάμεσου σημείου Κανόνα Simpson Θεωρώντας Ν σημεία για κάθε ολοκλήρωση θα χρειαστούμε Ν 2 υπολογισμούς

Ολοκλήρωση - Πολλαπλά ολοκληρώματα Για παράδειγμα, έστω τα ηλεκτρόνια του ατόμου του 4 Be: 1 1 I = dx 1 dx 2 dx 3 dx 12 f x 1, x 2,, x 12 0 0 1 0 1 0 ( ) Έχουμε 3 διαστάσεις για κάθε ηλεκτρόνιo x 4 ηλεκτρόνια =12διαστάσεις Αλλά για 100 σημεία για κάθε ολοκλήρωση τότε θα χρειαστούμε συνολικά 100 12 = 10 24 υπολογισμούς Για τα PCs υποθέτοντας 1Giga υπολογισμούς/sec θα χρειαστούμε 10 7 χρόνια

Ολοκλήρωση - Μέθοδος Monte Carlo Χρησιμοποίηση τυχαίων αριθμών για επίλυση ολοκληρωμάτων Η μέθοδος Monte Carlo δίνει μια διαφορετική προσέγγιση για την επίλυση ενός ολοκληρώμτατος Τυχαίοι αριθμοί Η συνάρτηση rand προσφέρει μια ακολουθία τυχαίων αριθμών ομοιόμορφα κατανεμημένων στο διάστημα [0,1) Δύο βασικές μέθοδοι χρησιμοποιούνται για την επίλυση ολοκληρωμάτων Μέθοδος επιλογής ή δειγματοληψίας Μέθοδος μέσης τιμής

Monte Carlo μέθοδος δειγματοληψίας Ø Περικλείουμε την συνάρτηση που θέλουμε να ολοκληρώσουμε μέσα σε ένα ορθογώνιο στο διάστημα της ολοκλήρωσης q Υπολογίζουμε το εμβαδό του ορθογωνίου Ø Εισάγουμε τυχαία σημεία στο ορθογώνιο Ø Μετρούμε τα σημεία που βρίσκονται μέσα στο ορθογώνιο και αυτά που περικλείονται από την συνάρτηση Ø To εμβαδό της συνάρτησης (ολοκλήρωμα) στο διάστημα ολοκλήρωσης δίνεται από Όπου Ν f(χ) = αριθμός E f (x) = E "#$. % N f (x) N "#$. Ν ορθογ. = αριθμός

Monte Carlo μέθοδος μέσης τιμής H ολοκλήρωση με Monte Carlo γίνεται με το να πάρουμε τη μέση τιμή της συνάρτησης υπολογιζόμενη σε τυχαία επιλεγμένα σημεία μέσα στο διάστημα ολοκλήρωσης I = x b f (x)dx = (b " a) < f (x) > x a < f (x) > 1 N N i=0 f (x i ) Tο στατιστικό σφάλμα: I = " f όπου f = f N

Παράδειγμα κώδικα ολοκλήρωσης Monte Carlo program random integer iseed/12345/ call srand(iseed) Ξεκίνημα ακολουθίας τυχαίων αριθμών με αρχική τιμή 12345 Τµήµα κώδικα για τη Μέθοδο δειγµατοληψίας Do I = 0, Npnts x = xmax * rand() Η συνάρτηση rand() επιστρέφει ψευδοτυχαίες τιμές στο διάστημα [0,1) frand = fmax * rand() if (frand < myfunc(x)) then below = below + 1 endif Enddo Print *, Apotelesma oloklirwsis =, fmax*xmax *below/npnts Τµήµα κώδικα για τη Μέθοδο µέσης τιµής Sum = 0 Do I = 0, Npnts x = xmax * rand() sum = f(x) + sum End do Print *, Apotelesma oloklirwsis, xmax*sum/npnts

Monte Carlo ολοκλήρωση σε πολλές διαστάσεις Εύκολο να γενικεύσουμε τη μέθοδο της μέσης τιμής σε πολλές διαστάσεις Το σφάλμα στη μέθοδο ολοκλήρωσης με Monte Carlo είναι στατιστικό Ελαττώνεται ως 1 N Για 2 διαστάσεις: b d I= dx 1 dx 2 f (x, y) (b " a)(d " c) # 1 c N a N $ i f (x i, y i )

Ολοκλήρωση - Πολλαπλά ολοκληρώματα Για παράδειγμα, έστω τα ηλεκτρόνια του ατόμου του 4 Be: 1 1 I = dx 1 dx 2 dx 3 dx 12 f x 1, x 2,, x 12 0 0 1 0 1 0 ( ) Έχουμε 3 διαστάσεις για κάθε ηλεκτρόνιo x 4 ηλεκτρόνια = 12διαστάσεις I = (1 0) 12 " 1 N # f (x i 1, x i i 2,, x 12 ) Αλλά για N=10 6 σημεία στη ολοκλήρωση Monte Carlo έχουμε 10 6 υπολογισμούς Για τα PCs υποθέτοντας 1Giga υπολογισμούς/sec θα χρειαστούμε 10-3 secs