13 & 18 Νοέμβρη 2002

23
Μαθηματικοί Υπολογισμοί Μαθηματικοί Υπολογισμοί Χειμερινό Εξάμηνο 2002-2003 7η Διάλεξη 7η Διάλεξη Παρεμβολή Παρεμβολή http://www.math.uoc.gr/~mav/my 13 & 18 Νοέμβρη 2002

description

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

Transcript of 13 & 18 Νοέμβρη 2002

Page 1: 13 & 18  Νοέμβρη 2002

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

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

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

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

13 & 18 Νοέμβρη 2002

Page 2: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

2

Περιεχόμενα

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

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

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

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

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

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

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

Page 3: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

3

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

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

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

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

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

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

καμπύλης.

t0

Page 4: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

4

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

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

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

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

Page 5: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

5

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

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

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

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

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

Page 6: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

6

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

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

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

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

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

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

Page 7: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

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;

Page 8: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

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

Page 9: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

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

Page 10: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

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]);

Page 11: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

11

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

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

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

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

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

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

Page 12: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

12

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

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

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

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

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

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

Page 13: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

13

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

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

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

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

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

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

Page 14: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

14

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

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

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

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

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

Page 15: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

15

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

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

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

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

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

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

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

Page 16: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

16

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

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

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

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

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

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

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

Page 17: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

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

Page 18: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

18

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

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

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

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

Page 19: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

19

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

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

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

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

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

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

Page 20: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

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).Η πολυωνυμική παρεμβολή είναι μια γραμμική πράξη.Σημείωση: Η έννοια του όρου ``γραμμική'' είναι διαφορετική εδώ από

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

Page 21: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

21

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

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

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

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

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

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

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

Page 22: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

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)

Page 23: 13 & 18  Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

23

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

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