13 & 18 Νοέμβρη 2002

Preview:

DESCRIPTION

13 & 18 Νοέμβρη 2002. Περιεχόμενα. Το πρόβλημα της Παρεμβολής ΔΕΝ είναι Καλώς Τεθιμένο- Τι πρέπει κάνουμε? Πολυωνυμική Παρεμβολή Τύπος Παρεμβολής Lagrange Παρεμβολή στην Maple Συμπεριφορά Πολυωνύμου Παρεμβολής Τμηματικά Πολυωνυμική Παρεμβολή - Γραμμική & Lagrange - PowerPoint PPT Presentation

Citation preview

Μαθηματικοί ΥπολογισμοίΜαθηματικοί ΥπολογισμοίΧειμερινό Εξάμηνο 2002-2003

7η Διάλεξη7η Διάλεξη

ΠαρεμβολήΠαρεμβολή

http://www.math.uoc.gr/~mav/my

13 & 18 Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

2

Περιεχόμενα

Το πρόβλημα της Παρεμβολής ΔΕΝ είναι Καλώς Τεθιμένο- Τι πρέπει κάνουμε?

Πολυωνυμική Παρεμβολή Τύπος Παρεμβολής Lagrange

Παρεμβολή στην Maple Συμπεριφορά Πολυωνύμου Παρεμβολής Τμηματικά Πολυωνυμική Παρεμβολή - Γραμμική &

Lagrange Οι Φυσικές Κυβικές Splines

Πώς Μπορούμε να Βρούμε μια Φυσική Spline? Ιδιότητες Φυσικών Κυβικών Splines

Η Παρεμβάλουσα Catmull Rom Η Πολυωνυμική Παρεμβολή είναι Γραμμική - Γραμμικότητα

της Τμηματικής Παρεμβολής Συναρτήσεις Βάσης Γραμμικής Παρεμβολής& Lagrange

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

3

Το πρόβλημα της ΠαρεμβολήςΠρόβλημα: Γνωρίζουμε την τιμή της συνάρτησης, x(t), στα σημεία t0, t1 , ... , tn. Ποια είναι η τιμή της σε κάποιο

άλλο σημείο t;Παραδείγματα: Έχουμε μετρήσει το υψόμετρο σε ορισμένα σημεία μιας

περιοχής. Θέλουμε να μάθουμε το υψόμετρο σε κάποια άλλα ενδιάμεσα σημεία.

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

Θα υποθέσουμε ότι το t είναι ένας πραγματικός αριθμός, παρόλο που στην πράξη μπορεί το t να είναι διάνυσμα πραγματικών αριθμών.

Συχνά θα ασχοληθούμε με πολλές συναρτήσεις μαζί – πχ τιςx(t), y(t), z(t), που ορίζουν την παραμετρική παράσταση μιας

καμπύλης.

t0

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

4

Το Πρόβλημα ΔΕΝ είναι Καλώς Τεθιμένο

Δυστυχώς το πρόβλημα της παρεμβολής δεν είναι καλώς τεθιμένο. Υπάρχουν προφανώς πολλές συναρτήσεις που διέρχονται από τα δοθέντα σημεία.

Για παράδειγμα:

Τα πράγματα περιπλέκονται περισσότερο εάν εξετάσουμε περιοχές εκτός του διαστήματος που ορίζουν τα δοθέντα σημεία. Κάτι τέτοιο δεν λέγεται πια παρεμβολή αλλά παρεκβολή.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

5

Λοιπόν, τι θα Κάνουμε?

Δεν μπορούμε να λύσουμε το πρόβλημα της παρεμβολής εκτός και είμαστε διατεθειμένοι να δώσουμε κάποια επιπρόσθετη πληροφορία σχετικά με την συνάρτηση.

Συνήθως, υποθέτουμε ότι η ακριβής συνάρτηση είναι πιθανότατα ομαλή, κατά κάποια έννοια.

Μια στατιστική προσέγγιση: Υποθέτουμε μια πιθανοθεωρητική κατανομή συναρτήσεων, και από αυτήν επιλέγουμε την συνάρτηση που ταιριάζει στις δοθείσες γνωστές τιμές.

Μια πιο συνήθης προσέγγιση: Υποθέστε ότι η συνάρτηση ανήκει σε μια περιορισμένη κλάση συναρτήσεων, από την οποία μία μόνο συνάρτηση ταιριάζει με τις δεδομένες τιμές.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

6

Πολυωνυμική Παρεμβολή

Εάν ξέρουμε την τιμή της συνάρτησης σε n+1 διαφορετικά σημεία, μπορούμε να την παρεμβάλουμε βρίσκοντας ένα πολυώνυμο βαθμού το πολύ n το οποίο διέρχεται από τα δοθέντα σημεία.

Το πολυώνυμο αυτό είναι μοναδικό, και συνεπώς το πρόβλημά μας καλώς τεθιμένο.

Είναι λογική αυτή η λύση; Δύο αντικρουόμενα γεγονότα: Κάθε συνεχής συνάρτηση μπορεί να προσεγγισθεί με όση

ακρίβεια (πεπερασμένη) θέλουμε με ένα πολυώνυμο κάποιου βαθμού.

Το πολυώνυμο βαθμού το πολύ n που παρεμβάλει τις n+1 τιμές μιας συνάρτησης μπορεί να είναι πολύ διαφορετικό από κάτι που προσεγγίζει την συνάρτηση καλά.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

7

Το Φαινόμενο του Runge

runge := proc(n) # n είναι ο βαθμός του πολυωνύμουlocal f, xp, yp, i, poly, p1, p2, caption; f := x -> 1 / (1+x^2); xp := [ seq(-5+i*10/n, i=0..n) ]; yp := map(f,xp); poly := interp(xp,yp,x); caption := cat(`degree = `, n); p1 := plot(f(x), x=-5..5, y=-2..2, numpoints=401); p2 := plot(poly, x=-5..5, y=-2..2, numpoints=401, color=red); plots[display]([p1,p2], title=caption);

end:

for n in [2,4,10,20,50,100] do # interface(plotdevice=gif, plotoutput=`runge`.n.`.gif`); runge(n);

od;

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

8

Τύπος Παρεμβολής Lagrange

Έστω ότι θέλουμε να κάνουμε πολυωνυμική παρεμβολή. Πρέπει να βρούμε ένα πολυώνυμο βαθμού n (το πολύ) που διέρχεται από τα σημεία

(t0, x0), (t1, x1), ... , (tn, xn)

Θα μπορούσαμε να λύσουμε ένα σύστημα γραμμικών εξισώσεων:

Αλλά ίσως να προτιμούσαμε να χρησιμοποιήσουμε το τύπο παρεμβολής Lagrange:

10 1 0 0 0

11 1 1 0 1

11 0

n nn n

n nn n

n nn n n n n

a t a t a x

a t a t a x

a t a t a x

0 0

( )nn

ji

i j i jj i

t tx t x

t t

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

9

Είναι ο τύπος Lagrange επιτυχής;

Ας ξαναδούμε τον τύπο παρεμβολής Lagrange:

Παρατηρούμε ότι είναι ένα πολυώνυμο βαθμού το πολύ n. Θυμηθείτε, τα xi και ti είναι σταθερές.

Περνά όμως από τα δοθέντα σημεία?

Για n = 4, εξετάστε την τιμή για t = t3. Οι όροι με i = 0,1,2,4 θα είναι μηδέν, μια και περιέχουν τον όρο (t3 - t3) = 0. Ο αριθμητής του κλάσματος του όρου με i = 3 είναι ίσος με τον παρονομαστή.

Οπότε η τιμή στο t = t3 θα είναι x3 , το οποίο είναι σωστό!

0 0

( )nn

ji

i j i jj i

t tx t x

t t

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

10

Ένα Παράδειγμα στην Maple> ti:=[ 3, 2, 1,0,1,2]; > xi:=[12,10,5,1,3,4]; > interp(ti,xi,t);

> with(plots): > pts:=plot([seq([ti[i],xi[i]],i=1..6)],style=point): > inter:=plot(interp(ti,xi,t),t= 3..3): > display([pts,inter]);

> ti:=[ti[],3]; > xi:=[xi[],6]; > pts2:=plot([seq([ti[i],xi[i]],i=1..7)],style=point): > inter2:=plot(interp(ti,xi,t),t= 3..3): > display([pts2,inter2]);

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

11

Συμπεριφορά Πολυωνύμου Παρεμβολής

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

Η προσθήκη ή η μεταβολή ενός σημείου παρεμβολής μπορεί να επηρεάσει ολόκληρη την παρεμβάλουσα – ακόμα και σε περιοχές μακριά από το εν λόγω σημείο.

Μικρές αλλαγές στα σημεία παρεμβολής μπορούν να έχουν ισχυρές επιπτώσεις στην παρεμβάλουσα.

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

Μερικά από αυτά τα προβλήματα μπορούν να διορθωθούν εάν χρησιμοποιήσουμε τμηματικά πολυωνυμική παρεμβολή .

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

12

Τμηματικά Πολυωνυμική Παρεμβολή

Ένα πολυώνυμο 9ου βαθμού παρεμβάλον σε 10 σημεία:

Η συμπεριφορά στα άκρα μάλλον είναι προβληματική. Εναλλακτικά, ας χρησιμοποιήσουμε περισσότερα του ενός

πολυώνυμα. Ορίστε η Τμηματική κυβική φυσική spline που παρεμβάλει

τα παραπάνω δεδομένα.

Τα σημεία στα οποία περνάμε από το ένα πολυώνυμο στο άλλο λέγονται κόμβοι. Στο παραπάνω κάθε σημείο παρεμβολής είναι κόμβος.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

13

Τμηματικά Γραμμική ΠαρεμβολήΤο απλούστερο σχήμα παρεμβολής είναι η τμηματικά

γραμμική παρεμβολή – απλά ενώνουμε τα σημεία παρεμβολής με ευθύγραμμα τμήματα:

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

συνεχής.Από την άλλη μεριά έχει και μερικά προτερήματα: Τυχόν αλλαγή στα σημεία παρεμβολής επηρεάζει μόνον

την περιοχή που ορίζουν τα αντίστοιχα δύο γειτονικά σημεία.

Η παρεμβάλουσα δεν έχει παράλογη συμπεριφορά εκτός της περιοχής παρεμβολής.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

14

Τμηματική Παρεμβολή Lagrange

Θα μπορούσαμε να προσπαθήσουμε να πάρουμε μια πιο ακριβή τμηματική παρεμβάλουσα χρησιμοποιώντας παρεμβολή Lagrange με περισσότερα από δυο σημεία.

Ορίστε μια τμηματικά κυβική παρεμβάλουσα, προσαρμοσμένη σε μια τετράδα σημείων κάθε φορά:

Εδώ, έχουμε κόμβους στο 4ο και στο 7ο σημείο.

Αναγνωρίζουμε αμέσως το πρόβλημα: Τα κομμάτια δεν ενώνονται μεταξύ τους ομαλά.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

15

Ενώνοντας τα Κομμάτια Ομαλά

Για να ενώσουμε τα κομμάτια ομαλά, μπορούμε να χρησιμοποιήσουμε κυβικά πολυώνυμα, παρεμβάλοντα σε δύο μόνον σημεία. Κάθε κομμάτι είναι ελεύθερο να ενωθεί με τα γειτονικά του ομαλά.

Πόση ελευθερία έχει;

Κάθε κυβικό πολυώνυμο έχει 4 παραμέτρους. Οι 2 από αυτές χρησιμοποιούνται για να υλοποιηθεί η παρεμβολή στα δύο σημεία. Άρα περισσεύουν 2 παράμετροι σε κάθε κομμάτι τις οποίες μπορούμε να χρησιμοποιήσουμε για να κάνουμε την συνολική παρεμβάλουσα ομαλή.

Θα δούμε δύο τέτοια σχήματα για τμηματικά κυβική παρεμβολή:

1. Τις φυσικές κυβικές splines και

2. Την παρεμβάλουσα Catmull Rom.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

16

Οι Φυσικές Κυβικές Splines

Έστω ότι παρεμβάλουμε σε n+1 δεδομένα σημεία χρησιμοποιώντας n κυβικά πολυώνυμα. Ορίστε ένας τρόπος αποτελεσματικής χρήσης των διαθέσιμων 4n παραμέτρων:

Απαίτησε το κάθε κομμάτι να παρεμβάλει τα δεδομένα σημεία που το αφορούν. Αυτό μας δίνει 2n περιορισμούς.

Απαίτησε τα γειτονικά κομμάτια να έχουν ίδιες τιμές πρώτων παραγώγων στα κοινά τους σημεία. Άλλοι n-1 περιορισμοί.

Απαίτησε τα γειτονικά κομμάτια να έχουν ίδιες τιμές και δεύτερων παραγώγων στα κοινά τους σημεία. Άλλοι n-1 περιορισμοί.

Μας περισσεύουν δύο ακόμα παράμετροι. Απαίτησε μηδενικές τιμές δευτέρων παραγώγων στα άκρα.

Το παραπάνω σχήμα μας δίνει κυβικές φυσικές splines.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

17

Πώς Μπορούμε να Βρούμε μια Φυσική Spline?

Πώς θα βρούμε την φυσική κυβική spline που παρεμβάλει στα σημεία (t0,x0 ), (t1,x1 ), (t2,x2 );

H spline θα αποτελείται από 2 κομμάτια:

a3t3 + a2t2 + a1t + a0 (t0,< t < t1 )

b3t3 + b2t2 + b1t + b0 (t1,< t < t2 )Μπορούμε να βρούμε τα a και b λύνοντας το παρακάτω

σύστημα των 8 γραμμ9ικών εξισώσεων:

a3t03 + a2t0

2 + a1t0+ a0 = x0

a3t13 + a2t1

2 + a1t1+ a0 = x1

b3t13 + b2t1

2 + b1t1+ b0 = x1

b3t23 + b2t2

2 + b1t2+ b0 = x2

3a3t12 + 2a2t1 + a1 = 3b3t1

2 + 2b2t1 + b1

6a3t1+ 2a2 = 6b3t1+ 2b2

6a3t0+ 2a2 = 0

6b3t1+ 2b2 = 0

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

18

Ιδιότητες Φυσικών Κυβικών Splines

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

Όλα τα δεδομένα σημεία επηρεάζουν όλα τα κομμάτια μια φυσικής spline, προφανώς τα πλησιέστερα σημεία επηρεάζουν περισσότερο.

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

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

19

Η Παρεμβάλουσα Catmull RomΊσως να προτιμούμε μια τμηματικά κυβική παρεμβάλουσα

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

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

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

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

Ένα παράδειγμα:

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

20

Η Πολυωνυμική Παρεμβολή είναι ΓραμμικήΥποθέστε ότι το πολυώνυμο

p(t) = antn + an-1tn-1 + … + a0

παρεμβάλει στα σημεία

(t0,x0 ), (t1,x1), … , (tn,xn)

και ότι το πολυώνυμο q(t) = bntn + bn-1tn-1 + … + b0

παρεμβάλει στα σημεία (t0,y0 ), (t1,y1), … , (tn,yn).

Είναι εύκολο να δούμε ότι το πολυώνυμο p(t) + q(t) παρεμβάλει στα σημεία

(t0, x0+y0), (t1, x1+y1), … , (tn, xn+yn).Παρόμοια, το cp(t) παρεμβάλει στα (t0, cx0), (t1,cx1), … ,

(tn,cxn).Η πολυωνυμική παρεμβολή είναι μια γραμμική πράξη.Σημείωση: Η έννοια του όρου ``γραμμική'' είναι διαφορετική εδώ από

αυτήν της ``γραμμικής παρεμβολής'' σαν παρεμβολή με ευθύγραμμα τμήματα.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

21

Γραμμικότητα της Τμηματικής Παρεμβολής

Η τμηματική πολυωνυμική παρεμβολή είναι επίσης γραμμική, με την προϋπόθεση ότι βασίζεται σε γραμμικές παρεμβάλουσες.

Για παράδειγμα: Η τμηματική παρεμβάλουσα Lagrange είναι γραμμική,

επειδή το κάθε κομμάτι της είναι πολυωνυμική παρεμβάλουσα.

Οι φυσικές κυβικές splines είναι γραμμικές, επειδή οι παράγωγοι στις οποίες βασίζονται είναι γραμμικές, δηλ.: Δηλαδή, εάν οι παράγωγοι δύο splines συμπίπτουν θα

συμπίπτει και το άθροισμά τους. Η παρεμβάλουσα Catmull Rom είναι γραμμική, μια και

βασίζεται σε κλίσεις που καθορίζονται από ζεύγη σημείων, οι οποίες είναι γραμμικές ως προς τις τιμές των συναρτήσεων αυτών.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

22

Συναρτήσεις Βάσης Γραμμικής Παρεμβολής

Εάν χρησιμοποιούμε ένα γραμμικό σχήμα, μπορούμε να παράγουμε μια συνάρτηση παρεμβολής από συναρτήσεις βάσης οι οποίες παρεμβάλουν μόνο σε ένα μη-μηδενικό σημείο.

Για ένα σύνολο σημείων t0, t1, ... ,tn, μπορούμε να βρούμε τις παρακάτω συναρτήσεις βάσης:

p0(t) παρεμβάλει στα (t0,1), (t1,0), ... ,(tn,0).

p1(t) παρεμβάλει στα (t0,0), (t1,1), ... ,(tn,0).

: : :

pn(t) παρεμβάλει στα (t0,0), (t1,0), ... ,(tn,1).

Τώρα, για να παρεμβάλουμε στα σημεία

(t0, x0), (t1,x1), ... ,(tn,xn).

Αρκεί να υπολογίσουμε το

p(t) = x0 p0(t) + x1 p1(t) + … + xn pn(t)

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

23

Συναρτήσεις Βάσης Παρεμβολής Lagrange

Ορίστε οι συναρτήσεις βάσης για παρεμβολή Lagrange στα t0 = 0, t1 = 1, t2 = 3, t3 = 4:

Recommended