27 Νοέμβρη 2002
description
Transcript of 27 Νοέμβρη 2002
Μαθηματικοί ΥπολογισμοίΜαθηματικοί ΥπολογισμοίΧειμερινό Εξάμηνο 2002-2003
99η Διάλεξηη Διάλεξη
Ολοκλήρωση ΣυναρτήσεωνΟλοκλήρωση Συναρτήσεων
http://www.math.uoc.gr/~mav/my
27 Νοέμβρη 2002
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
2
Περιεχόμενα Το Πρόβλημα της Ολοκλήρωσης Συναρτήσεων Εφαρμογές Ολοκλήρωσης Συμβολική Ολοκλήρωση Και αν η Συμβολική Ολοκλήρωση Aποτύχει; Αριθμητική Ολοκλήρωση
με Ορθογώνια με Τραπέζια
Δύο Προγράμματα για Ολοκλήρωση με Τραπέζια Ακρίβεια Ολοκλήρωσης με Τραπέζια
Ολοκλήρωση με Παρεμβολή Ολοκλήρωση με Τμηματικά Τετραγωνικά: Simpson
Σύνθετος κανόνας Simpson Ο Κανόνας του Simpson στην Maple
Γενικοί Κανόνες Newton-Cotes Συναρτήσεων με Ιδιομορφίες Ολοκλήρωση Άπειρων Χωρίων
Ένας Μετασχηματισμός από το [0, ] στο [0,1]
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
3
Το Πρόβλημα της Ολοκλήρωσης Συναρτήσεων
Ολοκλήρωση είναι η διαδικασία εύρεσης αθροισμάτων, εμβαδών, όγκων, κλπ.
Το ολοκλήρωμα από το a στο b μιας συνάρτησης f(x), γράφεται σαν
και είναι η περιοχή κάτω από την καμπύλη που ορίζει η f(x):
Όπου η f(x) είναι αρνητική, το εμβαδόν λογίζεται σαν να είναι και αυτό αρνητικό.
Το ολοκλήρωμα μιας συνάρτησης δύο μεταβλητών είναι ο όγκος κάτω από την επιφάνεια που ορίζει. Παρόμοια για συναρτήσεις περισσότερων μεταβλητών/διαστάσεων.
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
4
Εφαρμογές Ολοκλήρωσης
Στην στατιστική, η πιθανότητα ενός γεγονότος είναι το ολοκλήρωμα της πυκνότητας της πιθανότητας για όλους τους πιθανούς τρόπους που μπορούν να συμβεί. Πχ.
Το μήκος τόξου μιας καμπύλης μπορεί να ορισθεί σαν συνάρτηση της παραμετρικής της παράστασης, (x(t),y(t)), με t0< t< t1, σαν
Όταν φωτοσκιάζουμε μια εικόνα με βάση μια συνάρτηση έντασης I(x,y), ως προς 1x1 εικονο-στοιχεία, πρέπει να δώσουμε στο εικονοστοιχείο p, που καλύπτει τα
πυκνότητα
1 1 1 1, , ,
2 2 2 2p p p px x x y y y
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
5
Συμβολική Ολοκλήρωση
Όπως γνωρίζουμε, εάν μπορούμε να βρούμε μια συνάρτηση F(x) της οποίας η παράγωγος είναι f(x), τότε μπορούμε να υπολογίσουμε το ολοκλήρωμα της f(x) ως εξής
Συχνά όμως είναι δύσκολο να βρούμε μια τέτοια αντιπαράγωγο. Η Maple έχει χρησιμοποιεί χρησιμοποιώντας κατάλληλες τεχνικές μπορεί, μερικές φορές, να βρει την F(x)
> int((1+x)/(1+x^2),x); 2
1/2 ln(1 + x ) + arctan(x)
> int((1+x)/(1+x^2),x=0..1);
1/2 ln(2) + 1/4 Pi
Πολλές φορές όμως αποτυγχάνει (όπως και κάθε άλλο πρόγραμμα ή άτομο).
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
6
Και αν η Συμβολική Ολοκλήρωση Aποτύχει;
Εάν δεν μπορούμε να βρούμε το ολοκλήρωμα μιας συνάρτησης μπορούμε πάντα να ορίσουμε μια νέα συνάρτηση που θα χρησιμοποιήσουμε για να ολοκληρώσουμε. Για παράδειγμα η συνάρτηση ¨Γάμα¨:
Μπορούμε τώρα να προσπαθήσουμε να προσεγγίσουμε την νέα αυτή συνάρτηση και να την χρησιμοποιήσουμε για να βρούμε ολοκληρώματα. Πχ.
Εάν δεν μας καλύπτει κάτι τέτοιο (θέλουμε την ακριβή απάντηση), τότε μπορούμε να χρησιμοποιήσουμε αριθμητική ολοκλήρωση.
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
7
Αριθμητική Ολοκλήρωση με ΟρθογώνιαΈνας τρόπος να βρούμε προσεγγιστικές τιμές ολοκληρωμάτων είναι να
αθροίσουμε εμβαδά ορθογωνίων:
Χρησιμοποιώντας n ορθογώνια, μήκους h = (b – a)/n:
Int_rectangle := proc(fn,rng,n)local low, high, sum, i, h; low := evalf(op(1,rng)); high := evalf(op(2,rng)); h := (high low)/n; sum := 0; for i from 1 to n do
sum := sum + h * fn(low+(i 0.5)*h); od; sum;
end:
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
8
Αριθμητική Ολοκλήρωση με Τραπέζια
Αντί να χρησιμοποιήσουμε τμηματικά σταθερές για να προσεγγίσουμε την προς ολοκλήρωση συνάρτηση, μπορούμε να δοκιμάσουμε τμηματικά μια γραμμική προσέγγιση:
Το ολοκλήρωμα τότε είναι το άθροισμα των εμβαδών των n τραπεζίων.
Ο τύπος είναι (για h = (b-a)/n):
ή ισοδύναμα
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
9
Δύο Προγράμματα για Ολοκλήρωση με Τραπέζιαint—trapezoid1 := proc(fn,rng,n)
local low, high, sum, i, h; low := evalf(op(1,rng)); high := evalf(op(2,rng)); h := (high low)/n; sum := 0; for i from 1 to n do
sum := sum + (h/2) * (fn(low+(i 1)*h) + fn(low+i*h)); od;
sum; end:
int—trapezoid2 := proc(fn,rng,n) local low, high, sum, i, h; low := evalf(op(1,rng)); high := evalf(op(2,rng)); h := (high low)/n; sum := (fn(low) + fn(high)) / 2; for i from 1 to n 1 do
sum := sum + fn(low+i*h); od; h * sum;
end:
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
10
Ακρίβεια Ολοκλήρωσης με Τραπέζια
Μερικά πειραματικά αποτελέσματα: > int(sin(x),x=0..Pi/2);
1 > int—rectangle(x >sin(x),0..Pi/2,10) 1;
.00102882415 > int—trapezoid1(x >sin(x),0..Pi/2,10) 1;
.002057013638 > int—rectangle(x >sin(x),0..Pi/2,100) 1;
.00001028092 > int—trapezoid1(x >sin(x),0..Pi/2,100) 1;
.000020561752
Το σφάλμα, και για τις δύο μεθόδους, φαίνετε να είναι ανάλογο του 1/n2 .
Γιατί η καλλίτερη τμηματικά γραμμική προσέγγιση της μεθόδου του τραπεζίου δεν παράγει καλλίτερες απαντήσεις;
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
11
Ολοκλήρωση με Παρεμβολή
Η μέθοδος του τραπεζίου ουσιαστικά πρώτα βρίσκει μια τμηματικά γραμμική παρεμβάλουσα, και μετά υπολογίζει το ολοκλήρωμά της.
Εναλλακτικά, μπορούμε να χρησιμοποιήσουμε οποιαδήποτε άλλη παρεμβάλουσα. Για παράδειγμα:
Τμηματικά κυβική παρεμβολή με συνθήκες Catmull Rom. Τμηματικά κυβική παρεμβολή με συνθήκες splines. Ίσως
κάτι τέτοιο δεν ενδείκνυται – είναι δύσκολο να υπολογίσουμε την παρεμβάλουσα για ένα πλήθος δεδομένων σημείων.
Τμηματική παρεμβολή Lagrange, κάποιου βαθμού.
Σημειώστε: Το ολοκλήρωμα μια τμηματικής παρεμβάλουσας είναι απλά το άθροισμα των ολοκληρωμάτων των τμημάτων της.
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
12
Ολοκλήρωση με Τμηματικά Τετραγωνικά: Simpson
Ας ξαναθυμηθούμε την παρεμβολή Lagrange:
Για n=3, t0=0, t1=.5, t2=1 έχουμε
από όπου παίρνουμε
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
13
Σύνθετος κανόνας Simpson
Μπορούμε να ολοκληρώσουμε μια συνάρτηση εφαρμόζοντας τον κανόνα του Simpson σε n κομμάτια του, ως εξής:
όπου h = (b-a)/n.
Μπορούμε δηλαδή να έχουμε
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
14
Ο Κανόνας του Simpson στην Mapleint—simpson := proc(fn,rng,n)
local low, high, sum, i, h; low := evalf(op(1,rng)); high := evalf(op(2,rng)); h := (high low)/n; sum := (h/6) * (fn(low) + fn(high)); for i from 1 to n 1 do
sum := sum + (h/3) * fn(low+i*h); od; for i from 1 to n do
sum := sum + (2*h/3) * fn(low+(i 0.5)*h); od; sum;
end: Πόσο ακριβής είναι η λύση;
> Digits:=30: > int—simpson(x ?sin(x),0..Pi/2,10) 1;
6 .21154659142360207800571*10
> int—simpson(x ?sin(x),0..Pi/2,100) 1; 10
.2113928089365798526*10
Το σφάλμα φαίνετε να ελαττώνεται με ρυθμό 1/n4.
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
15
Γενικοί Κανόνες Newton-Cotes
Οι μέθοδοι ορθογωνίου, τραπεζίου και Simpson είναι παραδείγματα κανόνων ``Newton Cotes'', στους οποίους χρησιμοποιούμε την τιμή της συνάρτησης σε ισαπέχοντα σημεία.
Υπάρχουν άλλες μέθοδοι ολοκλήρωσης οι οποίες δεν χρησιμοποιούν ισαπέχοντα σημεία, ή προσαρμόζουν το πλήθος των σημείων ανάλογα με την συμπεριφορά της συνάρτησης.
Μπορούμε να ξεχωρίσουμε δύο κατηγορίες τύπων ολοκλήρωσης:
Κλειστούς τύπους, όπως η μέθοδος του τραπεζίου και ο κανόνας του Simpson, οι οποίες χρησιμοποιούν την τιμή της συνάρτησης στα δύο ακρότατα σημεία.
Ανοιχτούς τύπους, όπως η μέθοδος του ορθογωνίου, που δεν χρησιμοποιούν την τιμή της συνάρτησης στα δύο ακρότατα σημεία.
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
16
Ολοκλήρωση Συναρτήσεων με Ιδιομορφίες
Ακόμα και εάν μια συνάρτηση απειρίζεται σε κάποιο ακρότατο σημείο της, το ολοκλήρωμά της μπορεί να είναι καλώς-ορισμένο. Για παράδειγμα:
Πώς μπορούμε να ολοκληρώσουμε αριθμητικά μια τέτοια συνάρτηση;
Μια και η συνάρτηση δεν ορίζεται στο ένα από τα ακρότατα σημεία, οι κλειστοί τύποι δεν δουλεύουν.
Οι ανοιχτοί τύποι μάλλον δουλεύουν, αλλά λόγω της ιδιομορφίας ίσως να μην συγκλίνουν όσο γρήγορα θα ελπίζαμε.
Θα μπορούσαμε επίσης να χρησιμοποιήσουμε κάποιον μετασχηματισμό για να απαλλαγούμε από την ιδιομορφία.
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
17
Ολοκλήρωση Άπειρων Χωρίων
Τα ολοκληρώματα απείρων χωρίων μπορεί να είναι και αυτά καλώς-ορισμένα. Για παράδειγμα:
Πώς μπορούμε να υπολογίσουμε αριθμητικά τέτοια ολοκληρώματα;
Οι κανόνες Newton-Cotes, σε ισαπέχοντα σημεία, δεν δουλεύουν – χρειάζονται άπειρο πλήθος σημείων!
Κάποια άλλα σχήματα δουλεύουν. Επιλέγουν σημεία τα οποία εξαπλώνονται σε όλο τον R όσο αυξάνει το πλήθος τους.
Μπορούμε επίσης να χρησιμοποιήσουμε έναν μετασχηματισμό με τον οποίο θα καταλήξουμε σε ολοκλήρωμα πεπερασμένου χωρίου.
Μα
θη
μα
τικ
οί
Υπολογισ
μοί
18
Ένας Μετασχηματισμός από το [0, ] στο [0,1]
Ένα παράδειγμα: Μπορούμε να υπολογίσουμε το
Χρησιμοποιώντας τον μετασχηματισμό
Αυτό μετασχηματίζει τα ακρότατα 0->0, ->1.
Επίσης, dx = dy(1-y).
Οπότε έχουμε το εξής αποτέλεσμα:
Ο παραπάνω δεν είναι ο μόνος δυνατός μετασχηματισμός. Ποιος είναι ο καλλίτερος εξαρτάται από τις ιδιότητες της f(x).