1 / 24

2 Οκτώβρη 2002

2 Οκτώβρη 2002. Περιεχόμενα. Το Αντικείμενο του Μαθήματος Η Γλώσσα Προγραμματισμού Maple Αναλυτικότερη Περιγραφή της Ύλης Προσέγγιση Αριθμών & Συναρτήσεων Παρεμβολή Δεδομένων Σχεδιασμός Καμπύλων με Παρεμβολή Επίλυση Εξισώσεων - Ολοκλήρωση Συναρτήσεων Φιλτράρισμα Σημάτων

eamon
Télécharger la présentation

2 Οκτώβρη 2002

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2 Οκτώβρη 2002

  2. Περιεχόμενα • Το Αντικείμενο του Μαθήματος • Η Γλώσσα Προγραμματισμού Maple • Αναλυτικότερη Περιγραφή της Ύλης • Προσέγγιση Αριθμών & Συναρτήσεων • Παρεμβολή Δεδομένων • Σχεδιασμός Καμπύλων με Παρεμβολή • Επίλυση Εξισώσεων - Ολοκλήρωση Συναρτήσεων • Φιλτράρισμα Σημάτων • Ακριβείς & Προσεγγιστικοί Υπολογισμοί • Συμβολικοί Υπολογισμοί • Παράδειγμα: Πληρώνοντας το Στεγαστικό Δάνειο • Υλοποίηση, συγκριτική μελέτη μεθοδολογιών

  3. Το Αντικείμενο του Μαθήματος Πως μπορούμε να χρησιμοποιήσουμε μαθηματικά μοντέλα για να απαντήσουμε καθημερινές ερωτήσεις, η να κάνουμε διάφορες ενέργειες. • Σχεδιασμός της συνταξιοδότησης: Πόσο γρήγορα θα αυξηθούν τα χρήματα που έχω επενδύσει; Πόσο χρόνο πιθανώς θα ζήσω; Πόσο θα είναι το κόστος ζωής όταν θα είμαι συνταξιούχος; • Παγκόσμια αλλαγή του κλίματος: Τι επίπτωση έχουν οι ανθρωπογενείς και οι φυσικές αλλαγές του περιβάλλοντος στο κλίμα; Πόσο διοξείδιο του άνθρακα θα παραχθεί στο μέλλον κάτω από τους διάφορους περιορισμούς της κυβέρνησης; • Γραφικά στον υπολογιστή: Πως μπορούμε να συνθέσουμε εικόνες οι οποίες μας δίνουν την αίσθηση του φυσικού ή και του ιδεατού μας περιβάλλοντος; Πώς μπορούμε να σχεδιάσουμε ένα τέτοιο λογισμικό περιβάλλον εύκολα;

  4. Η Επίλυση του Προβλήματος σε δύο Βήματα • Διατύπωσε το πρόβλημα σε μαθηματική μορφή. Το θέμα αυτό θα μας απασχολήσει σποραδικά και θα το αντιμετωπίσουμε επιφανειακά. Τυχόν λάθη όμως στο βήμα αυτό πιθανότατα θα μας οδηγήσουν σε μια παντελώς λανθασμένη απάντηση. • Πάρε τις απαντήσεις που θέλεις χρησιμοποιώντας το μαθηματικό μοντέλο. Υπάρχουν δύο κυρίως προσεγγίσεις: • Συμβολικές μέθοδοι που μας αποφέρουν σαφείς γενικούς τύπους. • Αριθμητικές μέθοδοι οι οποίες παράγουν απάντηση για μία συγκεκριμένη περίπτωση του προβλήματος. Ανεξάρτητα από ποια προσέγγιση θα ακολουθήσουμε το αποτέλεσμα μπορεί να είναι είτε ακριβές είτε προσεγγιστικό. Η εύρεση των λύσεων είναι προφανώς πολύ πιο εύκολη με χρήση υπολογιστή.

  5. Η Γλώσσα Προγραμματισμού Maple Θα χρησιμοποιήσουμε την γλώσσα προγραμματισμού Maple μερικά χαρακτηριστικά της οποίας διαφέρουν από τις συμβατικές γλώσσες προγραμματισμού (C, Fortran): • Η Maple είναι μία γλώσσα αλληλεπίδρασης, πχ. μπορείς να την χρησιμοποιήσεις σαν calculator: >125+7; 132 • Υποστηρίζει συμβολικούς υπολογισμούς: > expand((x+10)*(x-1)); x2+9x-10 Επειδή είναι γλώσσα άμεσης μετάφρασης είναι συγκριτικά πιο αργή από τις γλώσσες με μεταγλωττιστές (compilers) όπως οι C, Fortran.

  6. Αναλυτικότερη Περιγραφή της Ύλης • Παράσταση αριθμών στον υπολογιστή • Υπολογισμός προσεγγιστικών συναρτήσεων • Παρεμβολή δεδομένων • Παράσταση καμπυλών και επιφανειών • Προσομοίωση δυναμικών συστημάτων • Εύρεση ριζών εξισώσεων • Υπολογισμός ολοκληρωμάτων • Σύνθεση και φιλτράρισμα σημάτων Προφανώς υπάρχουν πολλές άλλες μαθηματικές μέθοδοι στις οποίες δεν θα προλάβουμε να αναφερθούμε στο μάθημα αυτό.

  7. Προσέγγιση Αριθμών & Συναρτήσεων Στους αριθμητικούς υπολογισμούς, συχνά θα χρησιμοποιήσουμε προσεγγιστικές παραστάσεις αριθμών. Πώς μπορούμε να το κάνουμε αυτό με τον καλλίτερο τρόπο; Συχνά επίσης θα χρειασθεί να υπολογίσουμε τιμές συναρτήσεων π.χ. τετραγωνικές ρίζες, λογάριθμοι, ημίτονα. Πώς θα γίνει αυτό; Σε αντίθεση με τον calculator και τις περισσότερες γλώσσες προγραμματισμού η Maple μπορεί να παραστήσει αριθμούς με όσα ψηφία επιθυμούμε, και να προσεγγίσει συναρτήσεις με την ίδια ακρίβεια: > Digits:=30; Digits := 30 >evalf(Pi); 3.14159265358979323846264338328 > evalf(sqrt(12345.6789)); 111.111110605555554405416661434

  8. Παρεμβολή Δεδομένων Σε πολλές εφαρμογές, χρειαζόμαστε να παρεμβάλουμε μεταξύ δεδομένων σημείων: Για παράδειγμα, έστω ότι γνωρίζουμε την συνολική συγκέντρωση CO2στην ατμόσφαιρα το 1960, 1970, 1980 και το 1990, και θέλουμε να μάθουμε την συγκέντρωση 1974. Υπάρχουν πολλοί τρόποι να το πετύχουμε αυτό. Θα εξετάσουμε μερικούς από αυτούς.

  9. Σχεδιασμός Καμπύλων με Παρεμβολή Η παρεμβολή είναι ιδιαίτερα χρήσιμη στο να ζωγραφίζουμε εικόνες στον υπολογιστή Εδώ, χρησιμοποιούμε μια παραμετρική παράσταση μιας καμπύλης, σαν συνάρτηση των συντεταγμένων x και y σημείων της. Μετά εφαρμόζουμε παρεμβολή στις συναρτήσεις αυτές. Στην εφαρμογή αυτή, δεν προσπαθούμε να μοντελοποιήσουμε την πραγματικότητα. Απλά επιθυμούμε το σχήμα που χρησιμοποιούμε να συμπεριφέρεται με τρόπο που να μας επιτρέπει εύκολα να δημιουργήσουμε τις εικόνες που θέλουμε.

  10. Επίλυση Εξισώσεων Ζήτηση Τιμή Προσφορά Ποσότητα Για να υπολογίσει την βέλτιστη τιμή, ένας οικονομολόγος συνήθως χρειάζεται να λύση μια εξίσωση (εξισώνει την προσφορά και την ζήτηση): Το πρόβλημα αυτό ισοδυναμεί με την εύρεση του σημείου μηδενισμού μιας συνάρτησης. Η εύρεση των ακρότατων μιας συνάρτησης είναι ένα παραπλήσιο πρόβλημα. Έχετε συνηθίσει να λύνετε εξισώσεις συμβολικά, με το χέρι. Συχνά όμως είναι απαραίτητο αυτό να γίνει αριθμητικά, με χρήση υπολογιστή.

  11. Ολοκλήρωση Συναρτήσεων Προβλήματα που αφορούν εμβαδά, όγκους αθροίσματα και μέσους όρους συχνά ανάγονται στον υπολογισμό ενός (ορισμένου) ολοκληρώματος μιας συνάρτησης: Εδώ, παρατηρούμε ότι μπορούμε να βρούμε την συνολική συγκέντρωση CO2από το 1970 έως το 1990 υπολογίζοντας ένα ολοκλήρωμα. Στο σχήμα, αυτό γίνετε χρησιμοποιώντας παρεμβολή με ευθύγραμμα τμήματα, αλλά μπορούμε και αλλιώς ...

  12. Φιλτράρισμα Σημάτων Ένα σήμα (πχ. ηχητικό) μπορεί να φιλτραριστεί, για να απαλλαγούμε από τυχόν παρεμβολές, ή για να τονίσουμε μερικά χαρακτηριστικά του. Ένα σήμα με παρεμβολές Μετά την εφαρμογή ενός σταθμιστικού φίλτρου

  13. Μερικά Γενικά Θέματα Πολλές από τις μεθόδους που θα δούμε για την επίλυση των παραπάνω προβλημάτων έχουν κάποια κοινά χαρακτηριστικά: • Συχνά εμπλέκουν προσεγγιστικές συναρτήσεις. Στην αρχή πολυωνυμικές και αργότερα ημιτονοειδείς. • Συχνά εμπλέκουν γραμμικούς τελεστές L(a+b)= L(a)+L(b) • Γραμμικές πράξεις μπορούν να παρασταθούν σε σχέση με την δράση τους σε απλά αντικείμενα – πχ. συναρτήσεις βάσης.

  14. Ακριβείς & Προσεγγιστικοί Υπολογισμοί (Maple) Στην Maple μπορούμε να υπολογίσουμε αριθμητικά αποτελέσματα είτε ακριβώς (κλάσματα) είτε προσεγγιστικά (αριθμοί κινητής-υποδιαστολής) > 1/2 + 1/3; 5/6 > Digits:=5; Digits := 5 > 1.0/2.0 + 1.0/3.0; .83333 > Digits:=10; Digits := 10 > 1.0/2.0 + 1.0/3.0; .8333333333 > 1.0/3.0 + 1.0/3.0; .6666666666 > evalf(1/3+1/3); .6666666667

  15. Αποθήκευση Τιμών σε Μεταβλητές Μπορούμε να αποθηκεύσουμε το αποτέλεσμα ενός υπολογισμού σε μία μεταβλητή (της Maple) και να αναφερθούμε σε αυτήν αργότερα: > a := 1/7; a := 1/7 > b := (1+a)^7; 2097152 b := ­­­­­­­ 823543 > evalf(b); 2.546499697 > pow := 100; pow := 100 > (1 + 1.0/pow)^pow; 2.704813829

  16. Συμβολικοί Υπολογισμοί στην Maple Όταν αναφερθούμε σε μια μεταβλητή στην οποία δεν έχουμε δώσει κάποια τιμή, η Maple την θεωρεί σαν άγνωστη, και κάνει μόνον συμβολικές πράξεις με αυτήν: > (x^5­1)/(x­1); 5 x ­ 1 ­­­­­­ x ­ 1 > simplify((x^5­1)/(x­1)); 4 3 2 x + x + x + x + 1 > (x+1)^5; 5 (x + 1) > expand((x+1)^5); 5 4 3 2 x + 5 x + 10 x + 10 x + 5 x + 1 > b := x^2+1; 2 b := x + 1 > subs(x=5,b); 26

  17. Παράδειγμα: Πληρώνοντας το Στεγαστικό Δάνειο Ας δούμε πώς μπορούμε να χρησιμοποιήσουμε την Maple για να βρούμε τις πληρωμές ενός δανείου, και με συμβολικό και με αριθμητικό τρόπο. Ξεκινάμε με οφειλή D ευρώ. Κάθε χρόνο, το επιτόκιο στην υπολειπόμενη οφειλή είναι r (r=0.06 για 6%), και πληρώνουμε για απόσβεση της οφειλής Α ευρώ. Εάν P είναι το χρέος στην αρχή του χρόνου, τότε το χρέος στο τέλος του χρόνου (μετά την πληρωμή και τον τοκισμό) θα είναι Δοθέντων των • D, r και A, πόσα θα χρωστάμε μετά από n χρόνια; • D και r , πόσο πρέπει να είναι το Α έτσι ώστε να εξοφλήσουμε σε ακριβώς n χρόνια;

  18. Λύση (της Maple) στο (a) Eρώτημα daneio := proc (D,r,A,n) local P, i; P := D; for i from 1 to n do P := P + r*P ­ A; od; P; end;

  19. Αριθμητικοί Υπολογισμοί με την Διαδικασία daneio Μπορούμε να χρησιμοποιήσουμε την διαδικασία αυτή για να υπολογίσουμε απαντήσεις για συγκεκριμένες τιμές των D, r, A, και n: > daneio(10000,0.06,1000,1); 9600.00 > daneio(10000,0.06,1000,10); 4727.682022 > daneio(10000,0.06,1000,20); ­4714.236482 Ο τρόπος αυτός δεν μας επιτρέπει να απαντήσουμε εύκολα στην ερώτησή μας. Επιπρόσθετα δεν μας δίνει μια συνοπτική εικόνα του πώς ελαττώνεται το δάνειο συν τω χρόνω.

  20. Χρησιμοποιώντας την daneio Συμβολικά Ας προσπαθήσουμε υπολογισμούς με αγνώστους αντί με συγκεκριμένες τιμές (εκτός του n): > daneio(D,r,A,1); D + r D ­ A > daneio(D,r,A,2); D + r D ­ 2 A + r (D + r D ­ A) > daneio(D,r,A,3); D + r D ­ 3 A + r (D + r D ­ A) + r (D + r D ­ 2 A + r (D + r D ­ A)) > simplify(daneio(D,r,A,3)); 2 3 2 D + 3 r D ­ 3 A + 3 r D ­ 3 r A + r D ­ r A > simplify(daneio(D,r,A,10)); 2 3 2 4 D ­ 10 A + 10 r D + 45 r D ­ 45 r A + 120 r D ­ 120 r A + 210 r D 3 5 4 6 5 7 ­ 210 r A + 252 r D ­ 252 r A + 210 r D ­ 210 r A ­ 45 r A 8 7 6 9 10 8 9 + 45 r D + 120 r D ­ 120 r A ­ r A + r D ­ 10 r A + 10 r D Κάπως περίπλοκο, αλλά ας συνεχίσουμε όμως ...

  21. Λύνοντας για το Προσεγγιστικό Ποσό της Δόσης Ας ζητήσουμε τώρα από την Maple να υπολογίσει συμβολικά την λύση: > apaitoumeno—poso := solve(daneio(D,r,A,5)=0,A); apaitoumeno—poso := 2 3 4 5 D (1 + 5 r + 10 r + 10 r + 5 r + r ) ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ 2 3 4 5 + 10 r + 10 r + 5 r + r Μπορούμε να δώσουμε συγκεκριμένες τιμές στις μεταβλητές του τύπου και να πάρουμε αριθμητικές απαντήσεις: > subs(D=10000,r=0.06, apaitoumeno—poso); 2373.964005 Η απάντηση που πήραμε είναι αρκετά σωστή: > daneio(10000,0.06,2373.964005,5); ­5 ­.3 10

  22. Πόσο έξυπνη ήταν η Maple στο παράδειγμα αυτό; Κατάφερε βέβαια να λύση το πρόβλημα συμβολικά, υπάρχει όμως καλλίτερος τρόπος. Χρειάζεται την βοήθειά μας για να τον βρει. Μπορούμε να διατυπώσουμε την βασική εξίσωση Και να δούμε ότι το οφειλόμενο ποσό μετά από n χρόνια με αρχικό χρέος D θα είναι Το άθροισμα μέσα στις αγκύλες είναι . Εάν το θέσουμε ίσο με 0 και λύσουμε την εξίσωση παίρνουμε

  23. Σύγκριση των δύο Τρόπων Η νέα λύση δίνει τα ίδια αποτελέσματα με την πρώτη. Ας το ελέγξουμε: > eksypni-apantisi := D*(r*(1+r)^5)/((1+r)^5­1); 5 D r (1 + r) eksypni-apantisi := ­­­­­­­­­­­­ 5 (1 + r) ­ 1 > simplify (apaitoumeno—poso ­ eksypni-apantisi); 0 Είναι όμως πιο απλή και έξυπνη. Από την άλλη μεριά, απαιτεί κάποια εφυία. Δεν μπορούμε όμως να είμαστε πάντα ευφυείς και μερικές φορές δεν υπάρχει ευφυής τρόπος αντιμετώπισης του προβλήματος.

  24. Ασκήσεις • Μελετήστε προσεκτικά την ιστοσελίδα του μαθήματος http://www.math.uoc.gr/~mav/my/ • Στείλτε μου ένα μήνυμα με την ηλεκτρονική σας διεύθυνση. • Ξεκινήστε την μελέτη της Maple.

More Related