0.1 Εκχειλίσεις κατά την Επίλυση Τετραγωνικής Εξίσωσης

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

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Μετατροπή μήτρας από μορφή πίνακα σε μορφή καταλόγου μη-μηδενικών στοιχείων και αντιστρόφως

Αριθµητικές Μέθοδοι και Προγραµµατισµός Αριθµητική Ανάλυση (ή Επιστηµονικοί Υπολογισµοί)

1. Το σύστημα κινητής υποδιαστολής 2. Αναπαράσταση πραγματικών δυαδικών αριθμών 3. Το πρότυπο 754 της ΙΕΕΕ

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #1: ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟ ΙΑΣΤΟΛΗΣ ΚΑΙ ΡΙΖΕΣ ΕΞΙΣΩΣΕΩΝ ΕΠΙΜΕΛΕΙΑ: Σ.

Επίλυση Γραµµικών Συστηµάτων

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ι. Λυχναρόπουλος

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ. Σταυράκης

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

Αριθμητική Κινητής Υποδιαστολής Πρόσθεση Αριθμών Κινητής Υποδιαστολής

ΚΑΝΕΝΑ ΑΡΙΘΜΗΤΙΚΟ ΣΥΣΤΗΜΑ ΕΝ ΜΠΟΡΕΙ ΝΑ ΑΠΕΙΚΟΝΙΣΕΙ ΟΛΟΥΣ ΤΟΥΣ ΠΡΑΓΜΑΤΙΚΟΥΣ ΑΡΙΘΜΟΥΣ, ΙΟΤΙ ΕΧΟΥΜΕ ΠΕΡΙΟΡΙΣΜΕΝΟ ΕΥΡΟΣ ΑΚΡΙΒΕΙΑΣ.

Αρχιτεκτονικές Υπολογιστών

Αριθµητική Ολοκλήρωση

Chapter 3. Αριθμητική Υπολογιστών. Όγδοη (8 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η

Σφάλματα (errors) Σε κάθε υπολογισμό μιας πραγματικής ποσότητας υπάρχει σφάλμα

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης ΤΕΙ ΧΑΛΚΙΔΑΣ

1.4 Αριθμητική υπολογιστών και σφάλματα

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

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

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ.

Αριθµητική Ανάλυση. Τµήµα Α ( Αρτιοι) : Καθηγητής Ν.Μισυρλής,Τµήµα Β (Περιττοί) : Επίκ. Αριθµητική Καθηγητής Ανάλυση Φ.Τζαφέρης

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Chapter 3. Αριθμητική Υπολογιστών. (συνέχεια)

Παράδειγμα #2 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΚΑΙ ΡΙΖΕΣ ΕΞΙΣΩΣΕΩΝ. ΕΠΙΜΕΛΕΙΑ: Σ. Βαρούτης

Τμήμα Τεχνολόγων Γεωπόνων - Φλώρινα

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 7

ΚΕΦΑΛΑΙΟ 3 ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. nn n n

Γραμμική Διαφορική Εξίσωση 2 ου βαθμού

ΣΦΑΛΜΑΤΑ ΑΡΙΘΜΗΤΙΚΩΝ ΥΠΟΛΟΓΙΣΜΩΝ

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 8

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις Επαναληψης

Κεφάλαιο 3. Αριθμητική για υπολογιστές

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ.

Κεφάλαιο 1 Εισαγωγή αριθµητικών µεθό- δων/αλγορίθµων Υπολογιστικά Μαθηµατικά Επιστηµονική Υπολογιστική Αριθµητική Ανάλυση

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 2

1.1. Με τι ασχολείται η Αριθμητική Ανάλυση

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης;

1η Οµάδα Ασκήσεων. ΑΣΚΗΣΗ 1 (Θεωρία)

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις Επαναληψης. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

HY213. ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ ΥΠΟΛΟΓΙΣΜΟΙ ΚΑΙ ΣΦΑΛΜΑΤΑ ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ

ΘΕΜΑ 2ο. Άσκηση εφαρµογής της µεθόδου Newton Raphson

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Επανάληψης. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

Οι πράξεις που χρειάζονται για την επίλυση αυτών των προβληµάτων (αφού είναι απλές) µπορούν να τεθούν σε µια σειρά και πάρουν µια αλγοριθµική µορφή.

3.1 εκαδικό και υαδικό

Αριθµητική Ανάλυση. Ενότητα 1 Σφάλµατα στους Αριθµητικούς Υπολογισµούς. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 7

ΑΡΙΘΜΟΙ και ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟ ΙΑΣΤΟΛΗΣ

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

Κεφάλαιο 3. Αριθμητική για υπολογιστές

x 2,, x Ν τον οποίον το αποτέλεσμα επηρεάζεται από

όπου Η μήτρα ή πίνακας του συστήματος

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Μηχανική ΙI. Μετασχηµατισµοί Legendre. της : (η γραφική της παράσταση δίνεται στο ακόλουθο σχήµα). Εάν

ΚΕΦΑΛΑΙΟ 2 ΜΗ ΓΡΑΜΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

1ο. Η αριθµητική του υπολογιστή

Πράξεις με δυαδικούς αριθμούς

15 εκεµβρίου εκεµβρίου / 64

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

Αναπαράσταση εδοµένων σε Επεξεργαστές Ψ.Ε.Σ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ: ΠΛΗΡΟΦΟΡΙΚΗ ΘΕ: ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ Ι (ΠΛΗ 12) ΛΥΣΕΙΣ ΕΡΓΑΣΙΑΣ 3

Εισαγωγικές Μαθηματικές Έννοιες 1

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ (2 Ιουλίου 2009) ΕΠΙΛΕΓΜΕΝΕΣ ΑΠΑΝΤΗΣΕΙΣ

Γραµµική Άλγεβρα. Εισαγωγικά. Μέθοδος Απαλοιφής του Gauss

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 7

Εισαγωγή στην Επιστήµη των Υπολογιστών Εξάµηνο 4ο-ΣΗΜΜΥ

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Αριθμητική Ανάλυση. Ενότητα 1: Εισαγωγή Βασικές Έννοιες. Φραγκίσκος Κουτελιέρης Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ιαφάνειες παρουσίασης #6

Κεφάλαιο 5ο: Εντολές Επανάληψης

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

ΣΗΜΑΝΤΙΚΑ ΨΗΦΙΑ, ΑΒΕΒΑΙΟΤΗΤΑ ΚΑΙ ΔΙΑΔΟΣΗ ΣΦΑΛΜΑΤΩΝ. 1. Στρογγυλοποίηση Γενικά Κανόνες Στρογγυλοποίησης... 2

ΣΕΙΡΕΣ TAYLOR. Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων. Πολυώνυµο είναι κάθε συνάρτηση της µορφής:

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Λύσεις 1 ης Σειράς Ασκήσεων (Αξιολόγηση της Αποτελεσµατικότητας της Ανάκτησης)

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

Transcript:

0.1. ΕΚΧΕΙΛ ΙΣΕΙΣ ΚΑΤ Α ΤΗΝ ΕΠ ΙΛΥΣΗ ΤΕΤΡΑΓΩΝΙΚ ΗΣ ΕΞ ΙΣΩΣΗΣ 1 0.1 Εκχειλίσεις κατά την Επίλυση Τετραγωνικής Εξίσωσης Θεώρησε, για a 0 την τετραγωνική εξίσωση ax 2 +bx+c = 0, η οποία, ως γνωστόν, έχει δύο πραγµατικές λύσεις (ϱίζες) οι οποίες δίδονται από τον τύπο: x 1,2 = b± b 2 4ac, 2a εφόσον = b 2 4ac 0. Θα υποθέσουµε στην συνέχεια ότι 0. Για παράδειγµα, η εξίσωσηx 2 6x+5 = 0 έχει τις ακριβείς ϱίζεςx 1 = 5 καιx 2 = 1. Η εξίσωση 10 30 x 2 6 10 30 x + 5 10 30 = 0 είναι µαθηµατικά ισοδύναµη µε την προηγούµενη και συνεπώς έχει τις ίδιες ακριβείς ϱίζες x 1 = 5 και x 2 = 1. Ας ϑεωρήσουµε τώρα ότι ο υποθετικός, δεκαδικού συστήµατος, υπολογιστής µας 1 µας έχει ακρίβεια αναπαράστασης (precision) 6 δεκαδικών ψηφίων και εκθετικό εύρος (exponent range) e [ 40, 40]. Σε µία τέτοια περίπτωση, ο υπολογισµός των ϱιζών σύµφωνα µε τον δεδοµένο τύπο ϑ απαιτούσε τους υπολογισµούς: x 1,2 = 6 1030 ± (6 10 30 ) 2 4 10 30 5 10 30 2 10 30 Σύµφωνα όµως µε την υπόθεσή µας, ο αριθµός 10 60 δεν είναι δυνατόν να αντιπροσωπευθεί στον υπολογιστή µας. Συνεπώς ο υπολογισµός ϑα οδηγήσει σε υπερ(εκ)χείλιση (overflow). Οµοίως εάν η αρχική εξίσωση είχε πολλαπλασιασθεί µε 10 30, οι υπολογισµοί στον υποθετικό υπολογιστή ϑα οδηγούσαν σε υπο(εκ)χείλιση (underflow). Εάν 1 32 bits PC είναι πολύ κοντά σ αυτήν την υπόθεση στην περίπτωση απλής ακρίβειας (single precision) αναπαράστασης αριθµών κινητής υποδιαστολής.

2 ο υπολογιστής αντιστοιχούσε την τιµή 0 στην υποεκχείλιση, τότε ϑα παρήγαγε τις λύσεις: x 1,2 = 6 10 30 ± (6 10 30 ) 2 4 10 30 5 10 30 2 10 30 = 6 10 30 ± 0 2 10 30 = 3, 3 οι οποίες δεν αντιστοιχούν στις πραγµατικές. Ενας τρόπος καταπολέµησης αυτών των ϕαινοµένων ϑα ήταν ενδεχοµένως η χρήση της διαδικασίας αλλαγής κλίµακας (scaling), να διαιρείται δηλαδή πάντοτε η εξίσωση µε τον συντελεστή κλίµακας (scaling factor) f = max{ a, b, c } έτσι ώστε όλοι οι συντελεστές της να κείνται στο διάστηµα [ 1,1]. Βέβαια κάτι τέτοιο δεν αποτελεί πανάκεια. Εάν π.χ. είχαµε την εξίσωση 10 20 x 2 +10 20 x+10 20 = 0 µε την µία ϱίζα κοντά στο 1 και την άλλη κοντά στο 10 40, η διαίρεση µε των συντελεστών µε το10 20 ϑα οδηγούσε σε υποεκχείλιση και ενδεχοµένως στην αντικατάσταση του συντελεστή του x 2 µε 0, οπότε η εξίσωση που ουσιαστικά ϑα επιλύαµε είναι ηx+1 = 0 µε µοναδική ϱίζα την 1. Η δεύτερη ϱίζα ϑα είχε χαθεί. Και ακόµη χειρότερα, εάν το γεγονός αυτό δεν εντοπίζονταν έγκαιρα ϑα οδηγούµεθα σε διαί- ϱεση µε το 0 και σε ολική κατάρευση των υπολογισµών λόγω της συνεπαγόµενης υπερεκχείλισης. Η επόµενη εξίσωση έχει δύο ϱίζες όπου η µία υπερέχει κατά πολύ της άλλης σε απόλυτη τιµή. Η εξίσωση x 2 10 6 x+1 = 0 έχει δύο πραγµατικές ϱίζες που, για ακρίβεια έξι σηµαντικών ψηφίων, είναι 10 6 και 10 6 αντίστοιχα. Η εφαρµογή όµως του κλασσικού τύπου οδηγεί στην ανάγκη υπολογισµού του 10 6 ± (10 6 ) 2 4 2

0.1. ΕΚΧΕΙΛ ΙΣΕΙΣ ΚΑΤ Α ΤΗΝ ΕΠ ΙΛΥΣΗ ΤΕΤΡΑΓΩΝΙΚ ΗΣ ΕΞ ΙΣΩΣΗΣ 3 εδοµένων των σφαλµάτων στρογγυλοποίησης, επειδή το 4 δεν προσθέτει σηµαντικά στο 10 12, ο υπολογισµός αυτός αντιστοιχεί για τον υποθετικό υπολογιστή µας στο 10 6 ± (10 6 ) 2 2 Η κατάληξη αυτών των υπολογισµών είναι η 10 6, που είναι σωστή λύση, και η 0, που δεν είναι καθόλου σωστή. Ενας τρόπος αποφυγής αυτής της κατάστασης είναι να υπολογίζεται πρώτα η ϱίζα για την οποία το πρόσηµο του b 2 4ac είναι το ίδιο µε το πρόσηµο του b. Ο σκοπός είναι η εξάλειψη του καταστροφικού σφάλµατος αλληλοεξάλειψης που προκύπτει όταν αφαιρούµε δύο σχεδόν ίσους αριθµούς. Για τον υπολογισµό της δεύτερης ϱίζας παρατηρούµε ότι το γινόµενο των δύο ϱιζών ισούται µε το c a. Συνεπώς, η δεύτερη ϱίζα λαµβάνεται διαιρώντας το c µε την πρώτη a ϱίζα. Για το συγκεκριµένο παράδειγµα, επειδή το ( 10 6 ) είναι ϑετικό, υπολογίζουµε την πρώτη ϱίζα για το ϑετικό πρόσηµο της b 2 4ac, οπότε έχουµε (10 6 +10 6 )/2 ή 10 6. Η δεύτερη ϱίζα υπολογίζεται συνεπώς ως (1/1)/10 6 ή 10 6. Η ακόλουθη υπορουτίνα σε Fortran 95 2 υλοποιεί τις προηγούµενες παρατηρήσεις: SUBROUTINE quad_eq (a,b,c,x1,x2, error ) IMPLICIT NONE REAL, INTENT(IN ) : : a,b, c REAL, INTENT(OUT) : : x1, x2 LOGICAL, INTENT(OUT) : : e rror REAL : : a0, b0, c0, f, d x1 = 0.0; x2 = 0.0 error = a==0.0; IF ( error ) RETURN f = MAX( ABS(a), ABS(b), ABS( c ) ) a0 = a/f ; b0 = b/f ; c0 = c/f error = a0==0.0; IF ( error ) RETURN d = b0 b0 4.0 a0 c0 error = d<0.0; IF ( error ) RETURN d = SQRT( d ) 2 Κατά συνθήκη και παράδοση αποδίδουµε τους γλωσσικούς όρους της Fortran µε κεφαλαία χωρίς αυτό ν αποτελεί αναγκαίο στυλιστικό στοιχείο.

4 IF ( b0 > 0.0 ) THEN x1 = ( b0 d ) / ( a0 + a0 ) ELSE x1 = ( b0 + d ) / ( a0 + a0 ) ENDIF x2 = ( c0/a0)/x1 END SUBROUTINE quad_eq Μία αντίστοιχη υλοποίηση στην γλώσσα προγραµµατισµού των Scilab, Octave και Matlab δίδεται από τον κάτωθι κώδικα: function [x1,x2] = quad_eq ( a,b, c ) x1 = NaN; x2 = NaN; if ( a == 0.0 ) return; f = max( [ abs (a), abs (b), abs ( c ) ] ) ; a0 = a/f ; b0 = b/f ; c0 = c/f ; i f ( a0 == 0.0 ) return; d = b0 b0 4.0 a0 c0; if ( d < 0.0 ) return; d = sqrt ( d ) ; if ( b0 > 0.0 ) x1 = ( b0 d ) / ( a0 + a0 ) ; else x1 = ( b0 + d ) / ( a0 + a0 ) ; x2 = ( c0/a0)/x1; end Βέβαια η προεπιλογή στα συστήµατα αυτά είναι αριθµοί κινητής υποδιαστολής διπλής ακρίβειας, ενώ στον αντίστοιχο κώδικα της Fortran προσδιορίσαµε τους αριθµούς ως απλής ακρίβειας οπότε τ αποτελέσµατα µπορεί να είναι δραµατικά διαφορετικά. Μπορούµε όµως να απαιτήσουµε διπλή ακρίβεια καθορίζοντας τους ορισµούς των µεταβλητών ως εξής:

0.2. ΑΣΚ ΗΣΕΙΣ 5 DOUBLE PRECISION, INTENT(IN ) : : a,b, c DOUBLE PRECISION, INTENT(OUT) : : x1, x2 DOUBLE PRECISION : : a0, b0, c0, f, d 0.2 Ασκήσεις Άσκηση 0.1 Ασκήσεις κατανόησης 1. Να στρογγυλοποιηθούν οι κάτωθι αριθµοί σε τρία σηµαντικά ψηφία και να υπολογιστούν τ απόλυτα και σχετικά σφάλµατα των προσεγγίσεων που προκύπτουν. (α) 2.1514, (ϐ) 0.16152, (γ) 0.01204, (δ)1.225, (ε) 0.0015281. [Απαντήσεις: (α) ā = 2.15,ǫ = 0.14 10 2,δ = 0.65 10 3, (ϐ) ā = 0.162,ǫ = 0.48 10 3,δ = 0.3 10 2, (γ) ā = 0.0120,ǫ = 0.4 10 4,δ = 0.33 10 2, (δ) ā = 1.23,ǫ = 0.5 10 2,δ = 0.41 10 2, (ε) ā = 0.00153,ǫ = 0.19 10 5,δ = 0.12 10 2 ] 2. Να εκτιµηθεί τ απόλυτο σφάλµα των κάτωθι προσεγγίσεων όταν είναι γνωστό το σχετικό τους σφάλµα: (α) ā = 13267,δ = 0.1%, (ϐ) ā = 2.32,δ = 0.7%, (γ) ā = 35.72,δ = 1%, (δ) ā = 0.896,δ = 10%, (ε) ā = 232.44,δ = 1% [Απαντήσεις: (α) 0.13 10 2, (ϐ) 0.16 10 1, (γ) 0.36 (δ) 0.9 10 1, (ε) 0.23 10 1 ] 3. Ποιος είναι ο αριθµός ορθών ψηφίων στους κάτωθι αριθµούς µε δεδοµένα τ απόλυτα σφάλµατα; (α) ā = 0.3941,ǫ = 0.25 10 2, (ϐ) ā = 0.1132,ǫ = 0.1 10 3, (γ) ā = 38.2543,ǫ = 0.27 10 2, (δ) ā = 32.285,ǫ = 0.2 10 2, (ε) ā = 0.2113,ǫ = 0.5 10 2 [Απαντήσεις: (α) 2, (ϐ) 3, (γ) 4, (δ) 4, (ε) 2] 4. Ποιος είναι ο αριθµός ορθών ψηφίων στους κάτωθι αριθµούς µε δεδοµένα τα σχετικά σφάλµατα; (α)ā = 1.8921,δ = 0.1 10 2, (ϐ)ā = 0.2218,δ = 0.1 10 1, (γ)ā = 22.351,δ = 0.1, (δ) ā = 592.8,δ = 2%, (ε) ā = 14.9360,δ = 1% [Απαντήσεις: (α) 3, (ϐ) 2, (γ) 1, (δ) 1, (ε) 2] 5. Ποια είναι τ απόλυτα σφάλµατα όταν στρογγυλοποιούµε τον αριθµόπ = 3.1415926535... σε πέντε, τέσσερα και τρία σηµαντικά ψηφία; [Απάντηση: 0.5 10 4,0.5 10 3 και 0.5 10 2 αντίστοιχα.]

6 6. Ποιο είναι το σχετικό σφάλµα όταν προσεγγίζουµε τον π µε π = 3.14; [Απάντηση: 1 6 %] 7. Υπολόγισε0.348+0.1834+345.4+235.2+11.75+9.27+0.0849+0.0214+0.000354 όταν όλα τα ψηφία των αριθµών είναι ορθά. [Απάντηση: 602.2 µε ǫ = 0.15] 8. Υπολόγισε 1.137 1.073 όταν ǫ 1 = ǫ 2 = 0.011. [Απάντηση: 0.064 µε ǫ = 0.022 και δ = 35%. Κανένα ορθό ψηφίο!] 9. Υπολόγισε 5.125 5.135 όταν όλα τα ψηφία των αριθµών είναι ορθά. Ποιο είναι το σχετικό σφάλµα; [Απάντηση: δ = 10%] 10. Υπολόγισε το 0.348+0.1834+345.4+235.2+11.75+9.27+0.0849+0.0214+0.000354 όταν οι αριθµοί δίδονται µε σφάλµα10 t,tηϑέση του τελευταίου δεκαδικού ψηφίου που διατηρούν. [Απάντηση: 602.2±0.3] 11. Υπολόγισε το 3.6 84.489 όταν όλα τα ψηφία των δύο αριθµών είναι ορθά. [Απάντηση: 304.20 µε δύο µόνον ορθά σηµαντικά ψηφία] 12. Υπολόγισε το 12.4 65.54 όταν όλα τα ψηφία των δύο αριθµών είναι ορθά. [Απάντηση: 813±4] 13. Υπολόγισε το 5.735 1.23 όταν όλα τα ψηφία των δύο αριθµών είναι ορθά. [Απάντηση: 4.66±0.03 µε δ = 0.0042.] 14. Υπολόγισε 3.2 356.7 0.04811 7.1948 34.56 όταν όλα τα ψηφία των αριθµών είναι ορθά. [Απάντηση: 0.221 µε δ = 1.6% και ǫ = 0.0036. Στρογγυλοποίηση σε 0.22 µε ǫ < 0.005] Εργαστηριακή Άσκηση 0.1 Χρησιµοποίησε τους κώδικες της 0.1 στις εξισώσεις που αναφέρονται στα παραδείγµατα της 0.1. Κάνε τις κατάλληλες µετατροπές για να ελέγξεις τους ισχυρισµούς της 0.1. Χρησιµοποίησε απλή και διπλή ακρίβεια. Συµφωνούν τα συµπεράσµατα της 0.1 µε τα εργαστηριακά σου ευρήµατα; Είναι αναγκαία η διπλή ακρίβεια;

0.2. ΑΣΚ ΗΣΕΙΣ 7 Εργαστηριακή Άσκηση 0.2 Για την εξίσωση x 2 + 10 6 x +1 = 0 έλεγξε τόσο σε απλή όσο και σε διπλή ακρίβεια εάν οι λύσεις της µπορούν να υπολογισθούν µε το παραδοσιακό τύπο ή µε τους κώδικες της 0.1. Είναι αναγκαία η διπλή ακρίβεια; Εργαστηριακή Άσκηση 0.3 Επέκτεινε τους κώδικες της 0.1 έτσι ώστε να χειρίζονται και την περίπτωση µιγαδικών λύσεων.