9 Οκτώβρη 2002
description
Transcript of 9 Οκτώβρη 2002
Μαθηματικοί ΥπολογισμοίΜαθηματικοί ΥπολογισμοίΧειμερινό Εξάμηνο 2002-2003
33η Διάλεξηη Διάλεξη
Προσέγγιση ΣυναρτήσεωνΠροσέγγιση Συναρτήσεων
http://www.math.uoc.gr/~mav/my
9 Οκτώβρη 2002
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
2
Περιεχόμενα
Εισαγωγή Γραμμική & Τετραγωνική Προσέγγιση Γενίκευση: Προσέγγιση με πολυώνυμα Taylor
Το Θεώρημα του Taylor Συγκλίνει η (άπειρη) προσέγγιση Taylor;
Τμηματικές Προσεγγίσεις Παράδειγμα: Σειρά Taylor για το sin(x)
Χρησιμοποιώντας Σειρές Taylor στην Πράξη Τερματίζοντας Σειρές
Εναλλασσόμενου Πρόσημου Mε Χρήση του Θεωρήματος του Taylor Αθροίζοντας Μέχρι Κορεσμού
Αποτελέσματα Αθροισμάτων Μέχρι Κορεσμού
Ο Κανόνας του Horner
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
3
Εισαγωγή
Είδαμε πώς παραστούνται προσεγγιστικά οι αριθμοί στον υπολογιστή χρησιμοποιώντας διάφορους τρόπους παράστασης (π.χ. κινητής-υποδιαστολής).
Ας δούμε πως ο υπολογιστής εκτελεί αριθμητικές πράξεις για να υπολογίσει τιμές συναρτήσεων όπως η log και η sin.
Οι βασικές πράξεις (+,-,x,/) συχνά εκτελούνται με τον ίδιο τρόπο που τις εκτελούμε με χαρτί & μολύβι, υπάρχουν όμως πιο εξεζητημένοι τρόποι εκτέλεσης σε γρήγορες μηχανές.
Συναρτήσεις όπως η log και η sin μπορούν να υπολογισθούν με διάφορους τρόπους. Θα δούμε έναν από αυτούς – με χρήση πολυωνυμικών προσεγγίσεων, τις οποίες βρίσκουμε κυρίως με αναπτύγματα Taylor.
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
4
Γραμμική Προσέγγιση
Ένας άτεχνος τρόπος προσέγγισης μίας συνάρτησης, f(x), είναι να την αντικαταστήσουμε με την εφαπτόμενή της σε κάποιο σημείο,
Παράδειγμα: Μπορούμε να προσεγγίσουμε την με την εφαπτόμενή της γραμμή στο x=1, που ορίζετε από την σχέση
Προφανώς η προσέγγιση αυτή είναι ικανοποιητική κοντά στο x=1 και όσο απομακρυνόμαστε τόσο χάνουμε ακρίβεια.
Ερώτηση: Έχει έννοια να χρησιμοποιήσουμε τα sin(1) και cos(1) στην προσπάθειά μας αυτήν;
, ( ) ( ) ( )( ).x a f x f a f a x a sin( )x
sin(1) cos(1)( 1)x
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
5
Τετραγωνική Προσέγγιση
Μπορούμε να βελτιώσουμε την κατάσταση χρησιμοποιώντας συναρτήσεις 2ου βαθμού.
Εδώ προσεγγίσουμε το f(x) κοντά στο x=1 καί με γραμμικές και με τετραγωνικές συναρτήσεις:
Η τετραγωνική προσέγγιση δίδετε απο την
Γιατί είναι σωστή;
2sin(1)sin(1) cos(1)( 1) ( 1)
2x x
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
6
Προσέγγιση με πολυώνυμα Taylor
Γενικά θα μπορούσαμε να προσεγγίσουμε την f(x) με μια συνάρτηση με την να οποία συμφωνεί στις τιμές των παραγώγων στο σημείο x = a μέχρι τάξης n και η οποία θα έχει τις όλες τις υπόλοιπες παραγώγους μηδέν στο εν λόγω σημείο.
Η προσέγγιση αυτή είναι το πολυώνυμο Taylor βαθμού n γύρω από το x = a:
Η προσέγγιση της προηγούμενης διαφάνειας ήταν το πολυώνυμο Taylor βαθμού 2 γύρω από το x = 1.
( )2( ) ( )
( ) ( )( ) ( ) ( )2 !
nnf a f a
f a f a x a x a x an
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
7
Το Θεώρημα του Taylor
Πόσο καλές προσεγγίσεις είναι τα πολυώνυμαTaylor;Αυτό μας το λεει το ομώνυμο θεώρημα.Υποθέτοντας ότι η συνάρτηση f(x) είναι αρκετά ομαλή
έχουμε:
όπου το c είναι μεταξύ a και x.Σημειώστε ότι το c μπορεί να εξαρτάται από το x.
Οι πρώτοι όροι στην παραπάνω σχέση είναι το πολυώνυμο του Taylor n βαθμού. Ο τελευταίος όρος είναι το``υπόλο ιπο''. Εάν μπορέσουμε να βρούμε ένα άνω φράγμα αυτού του όρου, τότε ουσιαστικά έχουμε κατορθώσει να εκτιμήσουμε ένα άνω φράγμα του σφάλματος της προσέγγισης αυτής.
2
( ) ( 1)1
( )( ) ( ) ( )( ) ( )
2
( ) ( )( ) ( ) ,
! ( 1)!
n nn n
f af x f a f a x a x a
f a f cx a x a
n n
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
8
Συγκλίνει η (άπειρη) προσέγγιση Taylor;
Μπορούμε πάντα να προσεγγίσουμε μια f(x) καλά με χρήση πολυωνύμου Taylor γύρω από το x = a αρκεί να είναι αρκετά υψηλού βαθμού?
Με άλλα λόγια, συγκλίνει πάντα η άπειρη σειρά Taylor;
Όχι, δεν συγκλίνει πάντα. Μερικές φορές συγκλίνει στην γειτονιά του a, αλλά όχι για κάθε x. Για log(x) γύρω από το x = 1, η Maple μας λεει ? taylor(log(x),x=1);
Αυτό δεν συγκλίνει για x>2. Εάν η f(x) είναι αναλυτική, τότε η σειρά Taylor συγκλίνει για x αρκετά κοντά στο a.
2( )( ) ( ) ( )( ) ( )
2
f af x f a f a x a x a
2 3 4 5 61 1 1 1( 1) ( 1) ( 1) ( 1) ( 1) ( 1)
2 3 4 5x x x x x O x
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
9
Τμηματικές Προσεγγίσεις
Πώς μπορούμε να προσεγγίσουμε την f(x) εάν η σειρά Taylor δεν συγκλίνει για κάθε x;
Μια λύση είναι να χρησιμοποιήσουμε σειράTaylor γύρω από διαφορετικά σημεία σε διάφορες περιοχές --- έχοντας σαν αποτέλεσμα τμηματική προσέγγιση.
Ίσως θέλουμε να κάνουμε το ίδιο ακόμα και εάν η σειρά Taylor συγκλίνει παντού, μια και ίσως (το πιθανότερο δηλαδή) συγκλίνει ιδιαίτερα αργά μακριά από το a.
Μια παρόμοια ιδέα είναι να μετασχηματίσουμε το πρόβλημα χρησιμοποιώντας τις ιδιότητες της συνάρτησης. Για παράδειγμα:
sin(x) = sin(x + 2π)
log(x) = log(ex) - 1
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
10
Παράδειγμα: Σειρά Taylor για το sin(x)
Ας βρούμε την σειρά Taylor για το sin(x) γύρω από το x = 0:
Το παραπάνω χρησιμοποιεί ότι sin’(x) = cos(x) και cos’(x)=sin(x).
Συγκλίνει η παραπάνω σειρά για κάθε x;
Πόσο γρήγορα συγκλίνει;
Ποια θα ήταν μια καλή στρατηγική χρήσης της σειράς αυτής για την προσέγγιση του sin(x) για κάθε x;
2 3
2 3
3 5 7
1 1sin(0) sin (0) sin (0) sin (0)
2! 3!1 1
sin(0) cos(0) sin(0) cos(0)2! 3!
1 1 1
3! 5! 7!
x x x
x x x
x x x x
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
11
Χρησιμοποιώντας Σειρές Taylor στην Πράξη
Για να μπορέσουμε να χρησιμοποιήσουμε σειρές Taylor για τον υπολογισμό τιμών συναρτήσεων, πρέπει να λύσουμε τα παρακάτω δύο προβλήματα:
Πώς μπορούμε να αποφασίσουμε ότι έχουμε κρατήσει αρκετούς όρους (δηλαδή, πόσο ψηλού βαθμού είναι το πολυώνυμο Taylor που χρειαζόμαστε);
Πόσο θα επηρεάσει το σφάλμα στρογγύλευσης το αποτέλεσμά μας; Μπορούμε να ελαττώσουμε τα σφάλματα στρογγύλευσης;
Η λύσεις των προβλημάτων αυτών μπορεί να αλληλο-σχετίζονται. Θα δούμε τρεις πιθανές προσεγγίσεις του θέματος. Υπάρχουν πολλές άλλες, ποιο εξεζητημένες μεθόδους με τις οποίες δεν θα ασχοληθούμε!
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
12
Τερματίζοντας Σειρές Εναλλασσόμενου ΠρόσημουΥποθέστε ότι οι όροι της σειράς έχουν εναλλασσόμενα πρόσημα (πχ,
sin(x) γύρω από το x = 0), και ότι είναι σε φθίνουσα σειρά μεγέθους. Μπορούμε εύκολα να θέσουμε ένα φράγμα στο πόσο μεγάλο σφάλμα
είναι δυνατόν να έχουμε στην απάντησή μας --- δεν μπορεί να είναι μεγαλύτερο από το μέγεθος του επόμενου όρου της σειράς.
Θεωρήστε την σειρά
t1 – t2 + t3 – t4 – t5 + t6 +... με t1 > t2 > t3 > ...Έστω ότι ενδιαφερόμαστε για το σφάλμα όταν χρησιμοποιήσουμε μόνον
έναν όρο t1. Μπορούμε να δούμε ότι το t1 είναι αρκετά μεγάλο αναδιατάσσοντας τους όρους του αθροίσματος:
t1 + (–t2 + t3) + (–t4 + t5) + ...
Όλοι οι όροι στις παρενθέσεις είναι αρνητικοί, οπότε το t1 είναι μεγαλύτερο από το άπειρο άθροισμα. Από την άλλη μεριά βλέπουμε ότι το t1 - t2 είναι πολύ μικρό:
(t1 – t2) + (t3 – t4 ) + (t5 – t6) +...Πράγμα που μπορούμε να το χρησιμοποιήσουμε σαν κριτήριο
τερματισμού.
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
13
Τερματισμός με Χρήση του Θεωρήματος του Taylor
Εναλλακτικά, θα μπορούσαμε να αποφασίσουμε να τερματίσουμε όταν το υπόλοιπο του Θεωρήματος του Taylor είναι αρκετά μικρό.
Για την σειρά για το sin(x) γύρω από το x = 0, ο όρος του υπολοίπου είναι
Η (n+1)στη παράγωγος του sin θα είναι είτε sin(x) ή cos(x).
Δεν γνωρίζουμε το c. Ξέρουμε όμως ότι είναι μεταξύ του 0 και του x, οπότε ξέρουμε ότι το υπόλοιπο δεν θα είναι μεγαλύτερο από
Για κάθε x, το υπόλοιπο τελικά θα γίνει μικρότερο από το επιθυμητό άνω φράγμα του σφάλματος.
( 1)
1sin ( )
1 !
nncx
n
1
1 !
nx
n
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
14
Αθροίζοντας Μέχρι Κορεσμού
Μια απλή προσέγγιση στο πρόβλημα τερματισμού είναι να συνεχίσουμε να αθροίζουμε όρους έως ότου η προσθήκη νέων όρων δεν επηρεάζει το αποτέλεσμα, λόγω κορεσμού.
Κάτι τέτοιο είναι απλό να υλοποιηθεί. Αλλά δουλεύει;
Θεωρήστε τις εξής δυο σειρές:
Τι συμβαίνει όταν αθροίσουμε και τις δυο μέχρι κορεσμού χρησιμοποιώντας Digits = 5 ;
2 1 1 11
6 4 9 161 1 1 1
2 12 4 8 16
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
15
Αποτελέσματα Αθροισμάτων Μέχρι Κορεσμού
Ας το δοκιμάσουμε: > Digits:=5: > s:=0: > for i from 1 while evalf(s+1/i^2)>s do s := evalf(s+1/i“2): od: > s;
1.6390 > evalf(Pi“2/6);
1.6450 > s:=0: > for i from 0 while evalf(s+1/2^i)>s do s := evalf(s+1/2“i): od: > s;
2.0000
Γιατί αυτή η διαφορά;Τι θα συνέβαινε εάν προσθέταμε τους όρους με την
αντίστροφη σειρά; Γιατί κάτι τέτοιο θα μπορούσε να είναι δύσκολο;
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
16
Ο Κανόνας του Horner
Υποθέστε ότι, με κάποιον τρόπο, γνωρίζουμε εκ των προτέρων πόσους όρους μιας δυναμο-σειράς θα χρησιμοποιήσουμε. Ποιος είναι ο καλλίτερος τρόπος να υπολογίσουμε το άθροισμα;
Ο ευκολότερος τρόπος είναι πιθανόν να αθροίσουμε τους όρους με την σειρά που ήδη έχει ορισθεί. Ο γρηγορότερος όμως τρόπος είναι να χρησιμοποιήσουμε τον κανόνα του Horner. Ας το επιβεβαιώσουμε αυτό με την εξής σχέση
a0 + a1x + a2x2 + a3x3 = a0 + x( a1 + x(a2 + x( a3 ) ) )
Το αριστερό μέλος χρειάζεται 5 πολλαπλασιασμούς και 3
προσθέσεις.
Το δεξιό μέλος χρειάζεται 3 πολλαπλασιασμούς και 3
προσθέσεις.
Ποια μέθοδος είναι ποιο ακριβής;
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
17
Ανακοινώσεις
Η ιστοσελίδα έχει ενημερωθεί σημαντικά. Αξίζει να την επισκεφθείτε και να την μελετήσετε. Προσεκτικά!
Ο βοηθός του μαθήματος θα ορισθεί σήμερα. Αρχίσατε την εξοικείωση σας με την Maple; Το μάθημα θα γίνετε πάντα στην Α02. Ασκήσεις; Αλλαγές; Προσοχή σε αυτά που θα προτείνετε.
Μπορεί να γίνουν αποδεκτά! Την άλλη εβδομάδα δεν έχουμε μαθήματα. Την
μεθεπόμενη Πέμπτη θα κάνουμε έξτρα μάθημα για να αναπληρώσουμε το χαμένο μάθημα.