19
ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις – O.D.E. Παράδειγμα αριθμητικής λύσης φυσικού προβλήματος: Πολλοί πυρήνες είναι ασταθείς π.χ. U 235 διασπάται σε δύο πυρήνες εκπέμποντας ακτινοβολία. Η σχάση γίνεται με τυχαίο τρόπο και για αυτό μιλάμε για την πιθανότητα διάσπασης των πυρήνων ή για την μέση ζωή τους, δηλαδή το μέσο χρονικό διάστημα για να διασπαστεί περίπου το 60% της αρχικής ποσότητα του πυρήνα ! dN U dt = -N U N U (t) = N U (0) e -t / ! Η εξίσωση αυτή λύνεται αναλυτικά αλλά θα δοκιμάσουμε μια αριθμητική λύση ώστε να ελέγξουμε αν ο αλγόριθμος που αναπτύσσουμε δίνει τη σωστή απάντηση ώστε να τον χρησιμοποιήσουμε σε προβλήματα που δεν έχουμε αναλυτική λύση Η παραπάνω εξίσωση της ραδιενεργούς διάσπασης αποτελεί μια διαφορική εξίσωση πρώτης τάξης Η σταθερά τ είναι μια σταθερά που καθορίζει το μέσο χρόνο ζωής του U 235 . Όταν t=τ τότε η ποσότητα που δεν έχει διασπαστεί είναι e -1 ~0.37 Η λύση της εξίσωσης αυτής είναι Αν Ν U (t) είναι ο αριθμός των πυρήνων U 235 τη χρονική στιγμή, t, τότε ο ρυθμός διάσπασης του δίδεται από τη σχέση

ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 1

Συνήθεις διαφορικές εξισώσεις – O.D.E. Παράδειγμα αριθμητικής λύσης φυσικού προβλήματος:

Πολλοί πυρήνες είναι ασταθείς π.χ. U235 διασπάται σε δύο πυρήνες εκπέμποντας ακτινοβολία. Η σχάση γίνεται με τυχαίο τρόπο και για αυτό μιλάμε για την πιθανότητα διάσπασης των πυρήνων ή για την μέση ζωή τους, δηλαδή το μέσο χρονικό διάστημα για να διασπαστεί περίπου το 60% της αρχικής ποσότητα του πυρήνα

!

dNU

dt= -NU NU (t) = NU (0) e-t / !

q  Η εξίσωση αυτή λύνεται αναλυτικά αλλά θα δοκιμάσουμε μια αριθμητική λύση ώστε να ελέγξουμε αν ο αλγόριθμος που αναπτύσσουμε δίνει τη σωστή απάντηση ώστε να τον χρησιμοποιήσουμε σε προβλήματα που δεν έχουμε αναλυτική λύση

q  Η παραπάνω εξίσωση της ραδιενεργούς διάσπασης αποτελεί μια διαφορική εξίσωση πρώτης τάξης

Η σταθερά τ είναι μια σταθερά που καθορίζει το μέσο χρόνο ζωής του U235.

Όταν t=τ τότε η ποσότητα που δεν έχει διασπαστεί είναι e-1~0.37

Η λύση της εξίσωσης αυτής είναι

Αν ΝU(t) είναι ο αριθμός των πυρήνων U235 τη χρονική στιγμή, t, τότε ο ρυθμός διάσπασης του δίδεται από τη σχέση

Page 2: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 2

Η Μέθοδος του Euler

d!ydt

=!f (!y,t) όπου t≥t0 και ισχύει η αρχική συνθήκη:

!y(t0 ) =!y0

q  Προς το παρών υποθέτουμε ότι έχουμε την μεταβλητή y και ότι ο χρόνος είναι η ανεξάρτητη μεταβλητή μας. Ας σημειώσουμε ότι αν η εξίσωση είναι ανώτερου βαθμού του πρώτου (όπως οι εξισώσεις της Μηχανικής) τότε οδηγούμαστε σε σύστημα εξισώσεων και χρειαζόμαστε γραμμική άλγεβρα για να το λύσουμε, ειδικά αν είμαστε σε χώρο περισσότερο της μιας διάστασης.

Υπάρχουν ακόμα και προβλήματα συνοριακών συνθηκών όπου τα yi ορίζονται σε περισσότερα από ένα σημεία. Αυτά τα προβλήματα είναι γενικά περισσότερο δύσκολα.

όλα τα yi ορίζονται σε κάποια αρχικό χρόνο t=t0 και

q  Θα εξετάσουμε το γενικό σύστημα

Yποθέτουμε δηλαδή ότι το πρόβλημα ανάγεται σε πρόβλημα αρχικής τιμής:

θέλουμε να ξέρουμε την εξέλιξή τους σε όλους τους μεταγενέστερους χρόνους t.

Page 3: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 3

Η Μέθοδος του Euler

q  Η κεντρική ιδέα πίσω από τις αριθμητικές μεθόδους είναι η διακριτοποίηση του χρόνου (της ανεξάρτητης μεταβλητής) και η αντικατάσταση των παραγώγων από πεπερασμένες διαφορές:

q  Δηλαδή είναι σα να γράφουμε:

Δεδομένης μιας ακολουθίας χρονικών τιμών: t0, t1=t0+Δt, t2=t0+2Δt, …, όπου Δt > 0 είναι το χρονικό βήμα, γράφουμε τη λύση για τη χρονική στιγμή tn σαν y(tn) = yn και επομένως έχουμε:

Με αρχικές συνθήκες y(0)=y0 και υ(0)=υ0

Και γενικά: Αυτή είναι η μέθοδος του Euler

q  Έστω ότι είμαστε σε μια διάσταση. Μπορούμε να γράψουμε:

d! y dt

=! !

! a =d ! ! dt

=! F y,t( )

m

! y t( ) = ! y t0( ) + g ! t , ! y ! t ( )[ ]d ! t t0

t

" # ! y 0 + g t0,! y 0[ ] t $ t0( )

g y, t( ) =d! y dt

!"y"t

=y t + "t( ) # y t( )

"t

! y 1 = ! y 0 + g t0,! y 0[ ]!t

! y n = ! y n!1 + g tn!1,! y n!1[ ]"t

Page 4: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 4

q  Aν εφαρμόσουμε την μέθοδο του Euler στον υπολογιστή, θα πρέπει να αναπτύξουμε τα ακόλουθα τμήματα:

Ø  Εισάγουμε την αρχική συνθήκη, το μέγεθος και αριθμό των βημάτων (Δt ή Δx) που ορίζονται μέσα στο διάστημα [x0,xn] ή [t0,tn]

Ø  Υπολογίζουμε τη τιμή της συνάρτησης και της εφαπτομένης στην αρχή κάθε διαστήματος

Ø  Υπολογίζουμε τη τιμή της συνάρτησης στο τέλος του διαστήματος Ø  Επαναλαμβάνουμε n φορές τα βήματα 2 και 3, όσα είναι τα βήματα που έχουμε

καθορίσει βάσει του μεγέθους του βήματος και του ολικού διαστήματος

Ο αλγόριθμος του Euler

Για να καθορίσουμε την ευστάθεια του αλγόριθμου θα πρέπει να τρέξουμε το πρόγραμμά μας πολλές φορές για διαφορετικές τιμές για το μέγεθος του βήματος (Δx ή Δt) και να δούμε για ποιες τιμές τα αποτελέσματα του αλγορίθμου παραμένουν σταθερά. Αυτό γιατί ο αλγόριθμος δίνει αποτελέσματα που συμφωνούν με την αναλυτική λύση για μικρές τιμές των διακριτοποιημένων διαστημάτων ενώ για μεγάλες τιμές αποκλίνει του σωστού αποτελέσματος

Page 5: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 5

Επίλυση ραδιενεργούς διάσπασης με μέθοδο Euler program decay ��� call initial(y, x, dx, tau, nstep) call Euler(y, x, dx, tau, nstep) end subroutine initial(yN, t, dt, tau, nstep) ! Αρχή υπορουτίνας initial write(6,*) ‘enter t0, yN0, tmax, dt, tau’ read(5,*) t0, yN0, tmax, dt, tau nstep = (tmax-t0)/dt ! Συνολικός αριθμός βημάτων yN = yN0 ! Αρχικός αριθμός πυρήνων t = t0 return ! Επιστροφή στο κυρίως πρόγραμμα end ! Τέλος υπορουτίνας initial subroutine Euler(y, t, dt, tau, nstep) ! y o αριθμός των πυρήνων do j=1, nstep c ypologismos klisis (παραγώγου) stin arxi tou diastimatos (Ρυθμός διάσπασης)��� dNdt = -y / tau ! Η διαφορική είναι��� c ypologismos klisis sto telos tou diastimatos y = y + dNdt * dt t = t + dt ! Νέα χρονική στιγμή��� if (j.eq.1) open (unit=2,file=“decay.dat”,status=“unknown”) write(2,*) t, y end do return end

!dNdt

= "N #dNdt

= "N!

Page 6: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

Γραφική Αναπαράσταση – Μέθοδος Euler

ΦΥΣ 145 - Διαλ.07 6

Ουσιαστικά αυτό που κάνουµε µε τη µέθοδο του Euler είναι να ακολουθήσουµε την εφαπτοµένη της καµπύλης της λύσης για το διάστηµα (t1-t0)

Κατόπιν υπολογίζουµε και πάλι την κλίση της καµπύλης στο νέο σηµείο και προχωρούµε µε βάση τη κλίση αυτή στο επόµενο διάστηµα

Aν θυµηθούµε, από το ανάπτυγµα Taylor έχουµε:

x t( ) = x t0( ) + ! x t( )"t +12

! ! x t( )"t 2 +!

Χρησιµοποιώντας την κλίση σε κάθε διάστηµα ουσιαστικά χρησιµοποιούµε τη 1η παράγωγο και αγνοούµε τους ανώτερους όρους τάξης Ο(δt2)

Το σφάλµα εποµένως σε κάθε βήµα είναι της τάξης Ο(δt2) και για Ν βήµατα σε ένα συγκεκριµένο διάστηµα αυξάνει σχεδόν γραµµικά.

Επειδή ο αριθµός των βηµάτων είναι ανάλογος του διαστήµατος 1/δt ουσιαστικά το σφάλµα είναι γραµµικό µε δt

Page 7: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

Ανάπτυγµα Taylor ΦΥΣ 145 - Διαλ.07 7

Αν έχουµε µια πολύπλοκη συνάρτηση f(x) συνεχή και η οποία έχει συνεχείς παραγώγους τάξης n σε ένα διάστηµα α ≤ x ≤ b. Μπορούµε να εξετάσουµε τις ιδιότητες της συνάρτησης κοντά ή ακριβώς σε ένα σηµείο x=α, γράφοντάς τη µε τη µορφή ενός πολυωνύµου:

f x( ) = f a( )

x=a+ x ! a( ) f 1( ) x( )

x=a+

x ! a( )22!

f 2( ) x( )x=a

+x ! a( )33!

f 3( ) x( )x=a

+!+x ! a( )nn!

f n( ) x( )x=a

Πως προκύπτει η σχέση αυτή: Μπορούµε να ολοκληρώσουµε την n-ιοστή παράγωγο οπότε θα έχουµε:

f n( ) x( )dxa

x

! = f n"1( ) x( ) " f n"1( ) a( )Ολοκληρώνοντας και πάλι θα έχουµε:

f n( ) x( )dx2a

x

!ax

! = f n"1( ) x( )" f n"1( ) a( )#$ %&a

x

! dx = f n"2( ) x( )" f n"2( ) a( )" x " a( ) f n"1( ) a( )Συνεχίζοντας µε τον ίδιο τρόπο µετά από n ολοκληρώσεις θα έχουµε:

!

a

x

! f n( ) x( )dxna

x

!ax

! = f x( ) " f a( ) " x " a( ) f 1( ) a( ) " x " a( )22!

f 2( ) a( )!"x " a( )n"1n "1( )! f n"1( ) a( )

Αυτή η τελευταία σχέση µπορεί να γραφεί εποµένως:

f x( ) = f a( ) + x ! a( ) f 1( ) a( ) + x ! a( )2

2!f 2( ) a( ) +!+

x ! a( )n!1n !1( )! f n!1( ) a( ) + !

a

x

" f n( ) x( )dxna

x

"ax

"

Page 8: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

Ανάπτυγµα Taylor ΦΥΣ 145 - Διαλ.07 8

Καταλήξαµε στη σχέση:

Από το θεώρηµα µέσης τιµής του ολοκληρωτικού λογισµού έχουµε:

f x( ) = f a( ) + x ! a( ) f 1( ) a( ) + x ! a( )2

2!f 2( ) a( ) + x ! a( )3

3!f 3( ) a( ) +!+

x ! a( )nn!

f n( ) a( ) +!

f x( ) = f a( ) + x ! a( ) f 1( ) a( ) + x ! a( )2

2!f 2( ) a( ) +!+

x ! a( )n!1n !1( )! f n!1( ) a( ) + Rn x( )

όπου Rn x( ) = !

a

x

! f n( ) x( )dxna

x

!ax

!

Εφαρµόζοντας στον όρο Rn(x) και ολοκληρώνοντας n-1 φορές θα πάρουµε:

g y( )dy = x ! a( )g "( )a

x

# όπου: a ! " ! x

Rn x( ) = x ! a( )nn!

f n( ) "( ) µορφή γνωστή ως µορφή Langrange

Αν η Rn(x) είναι τέτοια ώστε καταλήγουµε στην άπειρη σειρά του αναπτύγµατος Taylor

limn!"

Rn x( ) = 0

Αν α=0 τότε καταλήγουµε στη λεγόµενη σειρά McLaurin:

f x( ) = f 0( ) + xf 1( ) 0( ) + x2

2!f 2( ) 0( ) + x3

3!f 3( ) 0( ) +!+

xn

n!f n( ) 0( ) +!

Page 9: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 9

Ανάγκη βελτίωσης της μεθόδου του Euler q  Η μέθοδος κάνει γραμμική εξέλιξη ως προς την ανεξάρτητη μεταβλητή

και επομένως το σφάλμα ανεβαίνει σαν h2

d !!dt

= !a(!r , !!); d!rdt

=!!

!!n+1 =

!!n + h

!an

!rn+1 =

!rn + h!!n+1 Euler-Cromer (χρησιμοποίηση της νέας ταχύτητας)

Ø  Δεν κερδίζουμε όμως τίποτα σε ακρίβεια. Απλά η μέθοδος αυτή δίνει σωστότερα αποτελέσματα για μια κατηγορία προβλημάτων

q  Μια απλή παραλλαγή της μεθόδου είναι η χρησιμοποίηση των εξισώσεων:

q  Με τη μέθοδο του Euler θα γράψουμε:

q  Αν έχουμε τις εξισώσεις κίνησης ενός σώματος γράφουμε:

!!n+1 =

!!n + h

!an

!rn+1 =

!rn + h!!n

q  Ο φορμαλισμός της μεθόδου του Euler είναι ασύμμετρος. Προχωρά τη λύση μέσω του διαστήματος h αλλά χρησιμοποιεί την πληροφορία σχετικά με την παράγωγο μόνο στην αρχή του διαστήματος

Οι εξισώσεις αντιστοιχούν στο πρώτο όρο του αναπτύγματος γύρω από το σημείο t0 ή x0 και επομένως είναι τάξης h2, Ο(h2)

Η μέθοδος Euler δεν είναι ακριβής.

Page 10: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 10

q  Ας υποθέσουμε ότι έχουμε κίνηση ενός βλήματος με αρχική ταχύτητα υ και ότι η δύναμη drag είναι ανάλογη του τετραγώνου της ταχύτητας f = Dυ2

q  Η διεύθυνση της f είναι αντίθετη αυτής της υ και το μέτρο της θα είναι:

Κίνηση σώματος σε 2 διαστάσεις με αντίσταση ρευστού

fx = !D""x fy = !D""y f = fx2 + fy

2 , !"# $ = $x2 +$y

2

x

y υ

fx

fy

w=mg f

Επομένως μπορούμε να γράψουμε: Fx! = "D##x = max , Fy! = " mg + D##y( ) = may

ax = !(D / m)""x , ay = !g ! (D / m)""y

Η σταθερά D εξαρτάται από την πυκνότητα του αέρα, ρ, το σχήμα Α του σώματος (επιφάνεια όπως φαίνεται από εμπρός) και από μια αδιάσταση σταθερά C που ονομάζεται σταθερά αντίστασης

D =!CA2

Ø  Για ένα αρκετά μικρό χρονικό διάστημα Δt μπορούμε να τη θεωρήσουμε σταθερή Ø  Στο χρονικό διάστημα Δt η μέση x(y)-συνιστώσα της επιτάχυνσης είναι αx =Δυx/Δt, αy=Δυy/Δt, ενώ η ταχύτητα αλλάζει κατά Δυx=αxΔt και Δυy=αyΔt Ø  Επομένως στο τέλος του διαστήματος Δt η ταχύτητα έχει τιμή

!x + "!x = !x + ax"t, !y + "!y = !y + ay"tØ  Aνάλογα αλλάζουν οι συντεταγμένες του σώματος (χρησιμοποιούμε τη μέση αλλαγή της ταχύτητας στο Δt)

!x = ("x +!"x

2)!t = "x!t +

!"x

2!t = "x!t +

12ax (!t)

2 x + !x = x +"x!t +12ax (!t)

2

Page 11: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 11

Πρόγραμμα για την κίνηση βλήματος με αντίσταση αέρα

program cannon real x(5000), y(5000) call initialize(dt,v_init,theta,A_m) call calculate(x,y,nstep,dt,v_init,theta,A_m) call writeout(x,y,nstep) end subroutine initialize(dt,v_init,theta,A_m) dt = 0.25 ! seconds v_init = 700 ! m/s theta = 55 ! firing angle A_m = 4e-5 ! A2/m return end subroutine writeout(x,y,nstep) integer nstep real x(nstep), y(nstep) open file(unit=20,file='cannon.dat', > status='unknown') write(20,10)(x(j),y(j),j=1,nstep) 10 format(2(2x,f10.4)) return end

subroutine calculate(x,y,nstep,dt,v_init,theta,A_m) real x(5000),y(5000) x(1) = 0 y(1) = 0 vx = v_init * cos(theta) vy = v_init * sin(theta) istep = 2 doit = .true. do while (doit .eq. .true.) f = A_m * sqr(vx**2 + vy**2) ! drag force vy = vy - 9.8 * dt - f * vy * dt vx = vx - f * vx * dt x(istep) = x(istep-1) + vx * dt ! Euler-Cromer y(istep) = y(istep-1) + vy * dt if (y(istep) .le. 0.) then doit = .false. ! vlima ktipise sto edafos else istep = istep + 1 endif enddo nstep = istep a = -y(nstep) / y(nstep-1) ! eyresi simiou ptvsis x(nstep) = (x(nstep) + a*x(nstep-1))/(1+a) y(nstep) = 0 return end

Page 12: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 12

Παράδειγμα: Αρμονικός ταλαντωτής

q  Οριζόντιο ελατήριο με μάζα m στο ένα άκρο του. Η εξίσωση της κίνησης είναι:

md 2xdt 2

= !kx όπου x η απομάκρυνση από τη θέση ισορροπίας

q  Θέτουμε τις αρχικές συνθήκες x(0) και υ(0) και μετατρέπουμε την αρχική εξίσωση σε σύστημα δύο εξισώσεων πρώτου βαθμού

! =dxdt

d!dt

= "kmx

q  Η πρακτική ερώτηση που παρουσιάζεται τώρα είναι πως μπορούμε να ελέγξουμε τις διάφορες μεθόδους αν δίνουν τα σωστά αποτελέσματα. Μια πολύ ισχυρή μέθοδος είναι αυτή των νόμων διατήρησης. Στη μηχανική όταν δεν έχουμε τριβές η ολική ενέργεια διατηρείται και μπορούμε να θέσουμε το ερώτημα κατά πόσο οι προσεγγιστικές μέθοδοι ικανοποιούν αυτή τη διατήρηση. q  Οι παραπάνω εξισώσεις κίνησης της μάζας εξαρτώμενης από ελατήριο δίνουν ενέργεια Ε = mυ2/2+kx2/2. Από τη μέθοδο του Euler οι εξισώσεις είναι

En+1 =m!n+1

2

2+kxn+1

2

2= (1+ " )En ! = h2 k

m

En+1 = (1+ ! )n E0 = (1+ n! +O(n2! 2 ))E0Άρα Η μέθοδος Euler δεν διατηρεί

τη ενέργεια

!n+1 = !n + "k / m( )xn#$ %&h

xn+1 = xn +!nh

Page 13: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 13

Σφάλμα – μη διατήρηση ενέργειας q  Μπορεί όμως να υποθέσουμε ότι η διαφορά για κάθε βήμα είναι μικρή αφού είναι της ίδιας τάξης μεγέθους με το σφάλμα της μεθόδου Ο(h2)

q  Το σφάλμα όμως είναι προσθετικό και μετά από n βήματα γίνεται nδ δηλαδή πρώτης τάξης στο δ. Αν το nδ γίνει συγκρίσιμο με τη μονάδα, η προσεγγιστική μέθοδος δεν έχει έννοια.

q  Το σφάλμα, όντας προσθετικό, θέτει όρια για τον αριθμό των βημάτων που μπορούμε να χρησιμοποιήσουμε στη μέθοδο του Euler.

nmax =

1!=

mkh2

Βλέπουμε ότι ο μέγιστος αριθμός των βημάτων είναι ανάλογος της μάζας και αντιστρόφως ανάλογος της σταθεράς του ελατηρίου και του βήματος. Βλέπουμε επίσης ότι η ποσότητα nmaxh έχει διαστάσεις χρόνου και επειδή η περίοδος είναι ανάλογη με το μας ενδιαφέρει nmaxh να είναι τουλάχιστον όσο η περίοδος.

m / k

Για nmaxδ≈1

Page 14: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 14

Πόσο μικρό είναι το βήμα Χρησιμοποιώντας το ανάπτυγμα Taylor βρήκαμε:

y(t + !t) " y(t) = !t #y (t) +

(!t)2

2##y (t) +!$

y(t + !t) " y(t)!t

=dy(t)dt

+!t2

##y (t) +!

Ο πρωτεύων όρος του σφάλματος εξαφανίζεται με Δt άρα είναι τάξης Ο(Δt)

Στη ραδιενεργό διάσπαση, η διαφορική εξίσωση γράφτηκε:

y(t + !t) " y(t)!t

= "#y(t) +!

Με προσεγγιστική λύση: y(t + !t) = y(t) " #y(t)!t = (1" #!t)y(t)

Είδαμε ακόμα ότι όσο το βήμα μεγαλώνει, η λύση γίνεται ασταθής

Με περίπου την ίδια ακρίβεια μπορούμε να γράψουμε τη λύση με τη μορφή:

y(t + !t) = y(t) " #y(t + !t)!t με λύση y(t + !t) = y(t)1+ "!t

Τα σφάλματα στην παράγωγο είναι περίπου: e = E y(t + !t) " y(t)!t

#$%

&'(=y!t

)m + **y !t2

Το σχετικό σφάλμα είναι: ey=!m"t

+ ##y "t2y

$ "t% &2'

!mΒέλτιστη τιμή βήματος

εm= 1.1920929x10-7

Παραγώγιση ως προς Δt Στρογγυλοποίηση αυξάνει για Δt<Δtβ

Page 15: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 15 Η μέθοδος του ενδιάμεσου σημείου q  Θα μπορούσαμε να χρησιμοποιήσουμε τη μέθοδο του μέσου σημείου όπου οι

εξισώσεις που χρησιμοποιούνται τώρα είναι q  Στην περίπτωση αυτή χρησιμοποιούμε το μέσο όρο των δύο ταχυτήτων.

Αντικαθιστώντας την έκφραση της ταχύτητας από την πρώτη εξίσωση στη δεύτερη θα έχουμε:

q  Η μορφή αυτή είναι ενδιαφέρουσα. Το σφάλμα αποκοπής είναι ακόμα τάξης h2 στην εξίσωση της ταχύτητας αλλά για την εξίσωση θέσης, το σφάλμα αποκοπής είναι τώρα h3. Στην πραγματικότητα, η μέθοδος αυτή δίνει πολύ πιο σωστά αποτελέσματα από τις δύο προηγούμενες για προβλήματα που εμπλέκουν κίνηση βλημάτων αλλά και πάλι για άλλη κατηγορία προβλημάτων δεν δίνει σωστά αποτελέσματα

Ø  Πως μπορούμε ωστόσο να αυξήσουμε την ακρίβεια της μεθόδου ώστε το σφάλμα να είναι Ο(h3) τουλάχιστο

!!n+1 =

!!n + h

!an

!rn+1 =!rn + h

!!n +

12!anh

2

!rn+1 =!rn + h

!!n+1 +

!!n

2

Page 16: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 16 Η μέθοδος του ενδιάμεσου σημείου q  O λόγος για τον οποίο η μέθοδος είναι ενδιαφέρουσα φαίνεται από το

γεγονός ότι αν εφαρμόσουμε την μέθοδο του Euler χρησιμοποιώντας τη παράγωγο στο ενδιάμεσο σημείο θα έχουμε:

q  Αυτή είναι η σωστή έκφραση δεύτερης τάξης. Έχουμε κερδίσει μια τάξη

μεγέθους στο σφάλμα με το να υπολογίζουμε την παράγωγο σε κάποια άλλη χρονική στιγμή

q  Γεωμετρικά αυτό σημαίνει το εξής:

x t( ) + f t + 12!t"

#$%&'!t = x t( ) + f t( ) + 1

2(f t( )!t)

*+,-.!t +O !t 3( )

x(t)

x(Euler)

x(ενδιάµεσου σηµείου)

Πως βρίσκουµε την παράγωγο στο ενδιάµεσο σηµείο?

Χρησιµοποιώντας τη µέθοδο του Euler:

!x = f xi ,ti( )!txi+1 = xi + f xi +

12!x,ti +

12!t"

#$%&'!t

Page 17: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 17

Παράδειγμα q  Έστω η συνάρτηση !x t( ) = "x t( )

Η μέθοδος του Euler θα μας δώσει: dxdt

= f (x(t),t) = !x(t) h = "t

x t + h( ) = x(t) + hf (x(t),t) = x(t) + h(!x) = x(t) ! hx(t) = x(t)(1! h)

Η μέθοδος του ενδιάμεσου σημείου βάζοντας βήμα h/2 θα δώσει:

x t + h( ) = x t( ) + hf x t + h

2!"#

$%& , t + h

2!"#

$%&

Όπου στη 2η ισότητα αντικαταστήσαμε το όρισμα x(t+h/2) της f με το ανάπτυγμά του x(t+h/2) = x(t)+(h/2)f(x(t),t) Ενώ στη 3η και 4η ισότητα αντικαταστήσαμε με f(x) = -x

= x t( ) + h !x t( ) + h2x t( )"

#$%&'= x t( ) 1! h + h

2

2"#$

%&'

= x t( ) + hf x t( ) + h

2f x t( ),t( )!

"#$%&,t + h

2'()

*+,

= x t( ) + hf x t( ) + h2

!x t( )( ),t + h2

"#$

%&'

Page 18: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 18

Κίνηση πλανητών

Μέθοδος Euler Μέθοδος Euler-Cromer

Κινητική ενέργεια Κινητική ενέργεια

Ολική ενέργεια

Δυναμική ενέργεια Δυναμική ενέργεια

Ολική ενέργεια

Page 19: ΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές εξισώσεις ...phy145/Lectures/lecture07.pdfΦΥΣ 145 - Διαλ.07 1 Συνήθεις διαφορικές

ΦΥΣ 145 - Διαλ.07 19

Κίνηση πλανητών

Ενέργεια

Μέθοδος Euler-Cromer για τροχιά με μεγάλη εκκεντρότητα (αρχική ταχύτητα π ΑU/yr, βήμα 0.02yr και 200 βήματα) Λόγω αριθμητικού σφάλματος ο πλανήτης φαίνεται να αποκτά ταχύτητα διαφυγής

Ίδιες συνθήκες όπως προηγουμένως αλλά για βήμα 0.005