191 likes | 355 Views
27 Νοέμβρη 2002. Περιεχόμενα. Το Πρόβλημα της Ολοκλήρωσης Συναρτήσεων Εφαρμογές Ολοκλήρωσης Συμβολική Ολοκλήρωση Και αν η Συμβολική Ολοκλήρωση A ποτύχει ; Αριθμητική Ολοκλήρωση με Ορθογώνια με Τραπέζια Δύο Προγράμματα για Ολοκλήρωση με Τραπέζια Ακρίβεια Ολοκλήρωσης με Τραπέζια
E N D
Περιεχόμενα • Το Πρόβλημα της Ολοκλήρωσης Συναρτήσεων • Εφαρμογές Ολοκλήρωσης • Συμβολική Ολοκλήρωση • Και αν η Συμβολική Ολοκλήρωση Aποτύχει; • Αριθμητική Ολοκλήρωση • με Ορθογώνια • με Τραπέζια • Δύο Προγράμματα για Ολοκλήρωση με Τραπέζια • Ακρίβεια Ολοκλήρωσης με Τραπέζια • Ολοκλήρωση με Παρεμβολή • Ολοκλήρωση με Τμηματικά Τετραγωνικά: Simpson • Σύνθετος κανόνας Simpson • Ο Κανόνας του Simpson στην Maple • Γενικοί Κανόνες Newton-Cotes • Συναρτήσεων με Ιδιομορφίες • Ολοκλήρωση Άπειρων Χωρίων • Ένας Μετασχηματισμός από το [0, ] στο [0,1]
Το Πρόβλημα της Ολοκλήρωσης Συναρτήσεων Ολοκλήρωση είναι η διαδικασία εύρεσης αθροισμάτων, εμβαδών, όγκων, κλπ. Το ολοκλήρωμα από το a στο b μιας συνάρτησης f(x), γράφεται σαν και είναι η περιοχή κάτω από την καμπύλη που ορίζει η f(x): Όπου η f(x) είναι αρνητική, το εμβαδόν λογίζεται σαν να είναι και αυτό αρνητικό. Το ολοκλήρωμα μιας συνάρτησης δύο μεταβλητών είναι ο όγκος κάτω από την επιφάνεια που ορίζει. Παρόμοια για συναρτήσεις περισσότερων μεταβλητών/διαστάσεων.
Εφαρμογές Ολοκλήρωσης • Στην στατιστική, η πιθανότητα ενός γεγονότος είναι το ολοκλήρωμα της πυκνότητας της πιθανότητας για όλους τους πιθανούς τρόπους που μπορούν να συμβεί. Πχ. • Το μήκος τόξου μιας καμπύλης μπορεί να ορισθεί σαν συνάρτηση της παραμετρικής της παράστασης, (x(t),y(t)), με t0< t< t1,σαν • Όταν φωτοσκιάζουμε μια εικόνα με βάση μια συνάρτηση έντασης I(x,y), ως προς 1x1 εικονο-στοιχεία, πρέπει να δώσουμεστο εικονοστοιχείο p, που καλύπτει τα πυκνότητα
Συμβολική Ολοκλήρωση Όπως γνωρίζουμε, εάν μπορούμε να βρούμε μια συνάρτηση 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 Πολλές φορές όμως αποτυγχάνει (όπως και κάθε άλλο πρόγραμμα ή άτομο).
Και αν η Συμβολική Ολοκλήρωση Aποτύχει; Εάν δεν μπορούμε να βρούμε το ολοκλήρωμα μιας συνάρτησης μπορούμε πάντα να ορίσουμε μια νέα συνάρτηση που θα χρησιμοποιήσουμε για να ολοκληρώσουμε. Για παράδειγμα η συνάρτηση ¨Γάμα¨: Μπορούμε τώρα να προσπαθήσουμε να προσεγγίσουμε την νέα αυτή συνάρτηση και να την χρησιμοποιήσουμε για να βρούμε ολοκληρώματα. Πχ. Εάν δεν μας καλύπτει κάτι τέτοιο (θέλουμε την ακριβή απάντηση), τότε μπορούμε να χρησιμοποιήσουμε αριθμητική ολοκλήρωση.
Αριθμητική Ολοκλήρωση με Ορθογώνια Ένας τρόπος να βρούμε προσεγγιστικές τιμές ολοκληρωμάτων είναι να αθροίσουμε εμβαδά ορθογωνίων: Χρησιμοποιώντας 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 := (highlow)/n; sum := 0; for i from 1 to n do sum := sum + h * fn(low+(i0.5)*h); od; sum; end:
Αριθμητική Ολοκλήρωση με Τραπέζια Αντί να χρησιμοποιήσουμε τμηματικά σταθερές για να προσεγγίσουμε την προς ολοκλήρωση συνάρτηση, μπορούμε να δοκιμάσουμε τμηματικά μια γραμμική προσέγγιση: Το ολοκλήρωμα τότε είναι το άθροισμα των εμβαδών των n τραπεζίων. Ο τύπος είναι (για h = (b-a)/n): ή ισοδύναμα
Δύο Προγράμματα για Ολοκλήρωση με Τραπέζια int—trapezoid1 := proc(fn,rng,n) local low, high, sum, i, h; low := evalf(op(1,rng)); high := evalf(op(2,rng)); h := (highlow)/n; sum := 0; for i from 1 to n do sum := sum + (h/2) * (fn(low+(i1)*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 := (highlow)/n; sum := (fn(low) + fn(high)) / 2; for i from 1 to n1 do sum := sum + fn(low+i*h); od; h * sum; end:
Ακρίβεια Ολοκλήρωσης με Τραπέζια Μερικά πειραματικά αποτελέσματα: > 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 . Γιατί η καλλίτερη τμηματικά γραμμική προσέγγιση της μεθόδου του τραπεζίου δεν παράγει καλλίτερες απαντήσεις;
Ολοκλήρωση με Παρεμβολή Η μέθοδος του τραπεζίου ουσιαστικά πρώτα βρίσκει μια τμηματικά γραμμική παρεμβάλουσα, και μετά υπολογίζει το ολοκλήρωμά της. Εναλλακτικά, μπορούμε να χρησιμοποιήσουμε οποιαδήποτε άλλη παρεμβάλουσα. Για παράδειγμα: • Τμηματικά κυβική παρεμβολή με συνθήκες CatmullRom. • Τμηματικά κυβική παρεμβολή με συνθήκες splines. Ίσως κάτι τέτοιο δεν ενδείκνυται – είναι δύσκολο να υπολογίσουμε την παρεμβάλουσα για ένα πλήθος δεδομένων σημείων. • Τμηματική παρεμβολή Lagrange, κάποιου βαθμού. Σημειώστε: Το ολοκλήρωμα μια τμηματικής παρεμβάλουσας είναι απλά το άθροισμα των ολοκληρωμάτων των τμημάτων της.
Ολοκλήρωση με Τμηματικά Τετραγωνικά: Simpson Ας ξαναθυμηθούμε την παρεμβολή Lagrange: Για n=3, t0=0, t1=.5, t2=1 έχουμε από όπου παίρνουμε
Σύνθετος κανόνας Simpson Μπορούμε να ολοκληρώσουμε μια συνάρτηση εφαρμόζοντας τον κανόνα του Simpson σε n κομμάτια του, ως εξής: όπου h = (b-a)/n. Μπορούμε δηλαδή να έχουμε
Ο Κανόνας του Simpson στην Maple int—simpson := proc(fn,rng,n) local low, high, sum, i, h; low := evalf(op(1,rng)); high := evalf(op(2,rng)); h := (highlow)/n; sum := (h/6) * (fn(low) + fn(high)); for i from 1 to n1 do sum := sum + (h/3) * fn(low+i*h); od; for i from 1 to n do sum := sum + (2*h/3) * fn(low+(i0.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.
Γενικοί Κανόνες Newton-Cotes Οι μέθοδοι ορθογωνίου, τραπεζίου και Simpson είναι παραδείγματα κανόνων ``NewtonCotes'', στους οποίους χρησιμοποιούμε την τιμή της συνάρτησης σε ισαπέχοντα σημεία. Υπάρχουν άλλες μέθοδοι ολοκλήρωσης οι οποίες δεν χρησιμοποιούν ισαπέχοντα σημεία, ή προσαρμόζουν το πλήθος των σημείων ανάλογα με την συμπεριφορά της συνάρτησης. Μπορούμε να ξεχωρίσουμε δύο κατηγορίες τύπων ολοκλήρωσης: • Κλειστούς τύπους, όπως η μέθοδος του τραπεζίου και ο κανόνας του Simpson, οι οποίες χρησιμοποιούν την τιμή της συνάρτησης στα δύο ακρότατα σημεία. • Ανοιχτούς τύπους, όπως η μέθοδος του ορθογωνίου, που δεν χρησιμοποιούν την τιμή της συνάρτησης στα δύο ακρότατα σημεία.
Ολοκλήρωση Συναρτήσεων με Ιδιομορφίες Ακόμα και εάν μια συνάρτηση απειρίζεται σε κάποιο ακρότατο σημείο της, το ολοκλήρωμά της μπορεί να είναι καλώς-ορισμένο. Για παράδειγμα: Πώς μπορούμε να ολοκληρώσουμε αριθμητικά μια τέτοια συνάρτηση; Μια και η συνάρτηση δεν ορίζεται στο ένα από τα ακρότατα σημεία, οι κλειστοί τύποι δεν δουλεύουν. Οι ανοιχτοί τύποι μάλλον δουλεύουν, αλλά λόγω της ιδιομορφίας ίσως να μην συγκλίνουν όσο γρήγορα θα ελπίζαμε. Θα μπορούσαμε επίσης να χρησιμοποιήσουμε κάποιον μετασχηματισμό για να απαλλαγούμε από την ιδιομορφία.
Ολοκλήρωση Άπειρων Χωρίων Τα ολοκληρώματα απείρων χωρίων μπορεί να είναι και αυτά καλώς-ορισμένα. Για παράδειγμα: Πώς μπορούμε να υπολογίσουμε αριθμητικά τέτοια ολοκληρώματα; Οι κανόνες Newton-Cotes, σε ισαπέχοντα σημεία, δεν δουλεύουν – χρειάζονται άπειρο πλήθος σημείων! Κάποια άλλα σχήματα δουλεύουν. Επιλέγουν σημεία τα οποία εξαπλώνονται σε όλο τον R όσο αυξάνει το πλήθος τους. Μπορούμε επίσης να χρησιμοποιήσουμε έναν μετασχηματισμό με τον οποίο θα καταλήξουμε σε ολοκλήρωμα πεπερασμένου χωρίου.
Ένας Μετασχηματισμός από το [0, ] στο [0,1] Ένα παράδειγμα: Μπορούμε να υπολογίσουμε το Χρησιμοποιώντας τον μετασχηματισμό Αυτό μετασχηματίζει τα ακρότατα 0->0, ->1. Επίσης, dx = dy(1-y). Οπότε έχουμε το εξής αποτέλεσμα: Ο παραπάνω δεν είναι ο μόνος δυνατός μετασχηματισμός. Ποιος είναι ο καλλίτερος εξαρτάται από τις ιδιότητες της f(x).