2 Οκτώβρη 2002

Post on 11-Jan-2016

59 views 0 download

description

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

Transcript of 2 Οκτώβρη 2002

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

1η Διάλεξη1η Διάλεξη

ΕισαγωγήΕισαγωγή

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

2 Οκτώβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

2

Περιεχόμενα

Το Αντικείμενο του Μαθήματος Η Γλώσσα Προγραμματισμού Maple Αναλυτικότερη Περιγραφή της Ύλης Προσέγγιση Αριθμών & Συναρτήσεων Παρεμβολή Δεδομένων

Σχεδιασμός Καμπύλων με Παρεμβολή Επίλυση Εξισώσεων - Ολοκλήρωση Συναρτήσεων Φιλτράρισμα Σημάτων Ακριβείς & Προσεγγιστικοί Υπολογισμοί Συμβολικοί Υπολογισμοί Παράδειγμα: Πληρώνοντας το Στεγαστικό Δάνειο

Υλοποίηση, συγκριτική μελέτη μεθοδολογιών

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

3

Το Αντικείμενο του Μαθήματος

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

Σχεδιασμός της συνταξιοδότησης: Πόσο γρήγορα θα αυξηθούν τα χρήματα που έχω επενδύσει; Πόσο χρόνο πιθανώς θα ζήσω; Πόσο θα είναι το κόστος ζωής όταν θα είμαι συνταξιούχος;

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

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

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

4

Η Επίλυση του Προβλήματος σε δύο Βήματα

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

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

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

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

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

Η εύρεση των λύσεων είναι προφανώς πολύ πιο εύκολη με χρήση υπολογιστή.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

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 είναι το χρέος στην αρχή του χρόνου, τότε το χρέος στο τέλος του χρόνου (μετά την πληρωμή και τον τοκισμό) θα είναι

Δοθέντων τωνa) D, r και A, πόσα θα χρωστάμε μετά από n χρόνια;

b) D και r , πόσο πρέπει να είναι το Α έτσι ώστε να εξοφλήσουμε σε ακριβώς n χρόνια;

ArPPP '

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

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 και λύσουμε την εξίσωση παίρνουμε

APrP 1'

12 11111 nn rrrArD

11

1

n

n

r

rrDA

r

r n 11

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

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.