Αριθμητική ανάλυση: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Χωρίς σύνοψη επεξεργασίας
Γραμμή 104:
===Στρογγυλοποίηση===
 
Η στρογγυλοποίηση Οφείλεταιοφείλεται στο γεγονός ότι είναι αδύνατο να αναπαραστήσεις όλους τους πραγματικούς αριθμούς σε ένα μηχάνημα με πεπερασμένη μνήμη (τοπράγμα οποίοπου είναιισχύει ότιγια είναιόλους όλοι οι πρακτικοί ψηφιακοί υπολογιστέςτους ψηφιακοίψηφιακούς υπολογιστές).
 
===Αποκοπή και σφάλμα διακριτοποίησης===
Τα σφάλματα αποκοπής διαπράττονται όταν μία επαναληπτική μέθοδος τερματίζεται ή όταν μια μαθηματική διαδικασία προσεγγίζεται, και η προσεγγιστική λύση διαφέρει από την ακριβή λύση. Ομοίως, η διακριτοποίηση προκαλεί ένα σφάλμα διακριτοποίησης γιατί η επίλυση του διακριτού προβλήματος δεν συμπίπτει με την επίλυση του συνεχούς προβλήματος. Για παράδειγμα, σε μια επανάληψη για να υπολογιστεί η λύση του <math>''x^3+4=28''<sup>3</mathsup> + 4 = 28, μετά από περίπου 10 επαναλήψεις, καταλήγουμε στο συμπέρασμα ότι η ρίζα είναι περίπου 1,99. Έχουμε, λοιπόν, ένα σφάλμα αποκοπής της τάξης του 0,01.
Μόλις δημιουργείται σφάλμα, γενικά θα φανερώνεται μέσω του υπολογισμού. Για παράδειγμα, έχουμε ήδη επισημάνει ότι η λειτουργία + σε έναν υπολογιστή τσέπης (ή σε έναν ηλεκτρονικό υπολογιστή) είναι ανακριβής. Επομένως, ένας υπολογισμός του τύπου α + β + γ + δ + ε είναι ακόμη πιο ανακριβής.
Τι σημαίνει όταν λέμε ότι το σφάλμα αποκοπής δημιουργείται όταν υπολογίζουμε κατά προσέγγιση μια μαθηματική διαδικασία?; Γνωρίζουμε ότι για να ενσωματώσουμε μια λειτουργία ακριβώς απαιτείται κάποιος να βρει το άθροισμα άπειρων τραπεζίων. Αλλά αριθμητικά μπορεί κανείς να βρει το άθροισμα πεπερασμένων μόνο τραπεζίων. Ομοίως, για να διαφοροποιηθεί μια λειτουργία, το στοιχείο απόκλισης πλησιάζει στο μηδέν αλλά, αριθμητικά, μπορούμε μόνο να επιλέξουμε μία πεπερασμένη τιμή στοιχείου διαφοροποίησης.
 
===Αριθμητική σταθερότητα και καλά δημιουργούμενα προβλήματα===
Γραμμή 116:
Τόσο το αρχικό πρόβλημα όσο και ο αλγόριθμος που χρησιμοποιούνται για την επίλυση αυτού του προβλήματος μπορούν να είναι καλά κατασκευασμένα και/ή άσχημα κατασκευασμένα, και κάθε συνδιασμός είναι πιθανός.
 
Έτσι, ένας αλγόριθμος που λύνει ένα καλά κατασκευασμένο πρόβλημα μπορεί να είναι είτε αριθμητικά σταθερός είτε αριθμητικά ασταθής. Μια τέχνη της αριθμητικής ανάλυσης είναι η έρευσηεύρεση ένας σταθερού αλγόριθμου για την επίλυση ενός καλά κατασκευασμένου μαθηματικού προβλήματος. Για παράδειγμα, ο υπολογισμός της τετραγωνικής ρίζας του 2, (η οποίο είναι περίπου 1,41421) είναι ένα καλά ορισμένο πρόβλημα. Πολλοί αλγόριθμοι λύνουν αυτό το πρόβλημα, ξεκινώντας με μια αρχική προσέγγιση του ''x''<sub>1</sub> ως <math>\sqrt{2}</math>, για παραράδειγμα ''x''<sub>1</sub>=1.4, και υπολογίζοντας στη συνέχεια τις βελτιωτικές εικασίες ''x''<sub>2</sub>, ''x''<sub>3</sub>, κτλ... Μία τέτοια μέθοδος είναι η γνωστή ως Bαβυλώνια μέθοδος, η οποία δίνεται από τύπο ''x''<sub>''k''+1</sub> = ''x<sub>k</sub>''/2 + 1/''x<sub>k</sub>''. Μία άλλη επανάληψη, την οποία θα ονομάζουμε μέθοδο Χ, δίνεται από τον τύπο ''x''<sub>''k'' + 1</sub> = (''x''<sub>''k''</sub><sup>2</sup>&minus;2)<sup>2</sup> + ''x''<sub>''k''</sub>.<ref>This is a [[fixed point iteration]] for the equation <math>x=(x^2-2)^2+x=f(x)</math>, whose solutions include <math>\sqrt{2}</math>. The iterates always move to the right since <math>f(x)\geq x</math>. Hence <math>x_1=1.4<\sqrt{2}</math> converges and <math>x_1=1.42>\sqrt{2}</math> diverges.</ref> Έχουμε υπολογίσει μερικές επαναλήψεις του κάθε συστήματος σε μορφή πίνακα, με τις αρχικές εικασίες ''x''<sub>1</sub> = 1.4 και ''x''<sub>1</sub> = 1.42.
 
 
{| class="wikitable"
|-
! Βαβυλώνια
! Babylonian
! Βαβυλώνια
! Babylonian
! MethodΜέθοδος X
! MethodΜέθοδος X
|-
| ''x''<sub>1</sub> = 1.,4
| ''x''<sub>1</sub> = 1.,42
| ''x''<sub>1</sub> = 1.,4
| ''x''<sub>1</sub> = 1.,42
|-
| ''x''<sub>2</sub> = 1.,4142857...
| ''x''<sub>2</sub> = 1.,41422535...
| ''x''<sub>2</sub> = 1.,4016
| ''x''<sub>2</sub> = 1.,42026896
|-
| ''x''<sub>3</sub> = 1.,414213564...
| ''x''<sub>3</sub> = 1.,41421356242...
| ''x''<sub>3</sub> = 1.,4028614...
| ''x''<sub>3</sub> = 1.,42056...
|-
|
Γραμμή 148:
|
|
| ''x''<sub>1000000</sub> = 1.,41421...
| ''x''<sub>28</sub> = 7280.,2284...
|}
 
 
Παρατηρήστε ότι η μέθοδοςΒαβυλώνια Βαβυλωνιακήμέθοδος συγκλίνει γρήγορα, ανεξάρτητα από την αρχική υπόθεση, ενώ Xη μέθοδος X συγκλίνει πολύ αργά με την αρχική εικασία 1.,4 και αποκλίνει με την αρχική εικασία 1.,42.
Ως εκ τούτου, η Βαβυλώνια μέθοδος είναι αριθμητικά σταθερή, ενώ η μέθοδος Χ είναι αριθμητικά ασταθής.
 
Η '''αριθμητική σταθερότητα''' επηρεάζεται απ΄τον αριθμό των σημαντικών ψηφίων που κρατάει η μηχανή, αν χρησιμοποιούμε μια μηχανή που κρατάει για τα τέσσερα πρώτα ψηφία κινητή υποδιαστολή. Ένα καλό παράδειγμα για την απώλεια της σταθερότητας δίνεται από αυτές τις δύο ισοδύναμες λειτουργίες:
Γραμμή 162:
</math>
:Αν συγκρίνουμε τα αποτελέσματα του
:: <math> f(500)=500(\sqrt{501}-\sqrt{500})=500(22.,3830-22.,3607)=500(0.,0223)=11.,1500</math>
:και του
:<math>
\begin{alignat}{3}g(500)&=\frac{500}{\sqrt{501}+\sqrt{500}}\\
&=\frac{500}{22.,3830+22.,3607}\\
&=\frac{500}{44.,7437}=11.,1748
\end{alignat}
</math>
: κοιτάζοντας προςΠαρατηρώντας τα δύο παραπάνω αποτελέσματα, συνειδητοποιούμε ότι η '''απώλεια σταθερότητας''', η οποία ονομάζεται επίσης '''αφαιρετική ακύρωση''', έχει μία τεράστια επίδραση στα αποτελέσματα, ακόμη και αν και οι δύο λειτουργίες είναι ισοδύναμες. Για να δείξουμε ότι αυτές είναι ισοδύναμες πρέπει απλά να αρχίσουμε με τητην f(x) και να τελειώσουμε με την g(x), και έτσι:
:: <math> \begin{alignat}{4}
f(x)&=x(\sqrt{x+1}-\sqrt{x})\\
Γραμμή 177:
&=\frac {x}{(\sqrt{x+1}+\sqrt{x})}
\end{alignat}</math>
:Η αληθινή τιμή του αποτελέσματος είναι 11.,174755..., η οποία είναι ακριβώς ''g''(500) = 11.,1748 μετά τη στρογγυλοποίηση του αποτελέσματος σε 4 δεκαδικά ψηφία.
:ΤώαραΤώρα φανταστείτε ότι τα μέρη των όρων, όπως αυτές τις λειτουργίες που χρησιμοποιούνται στο πρόγραμμα. Το σφάλμα θα αυξηθεί καθώς προχωράει στο πρόγραμμα, εκτός αν κάποιος χρησιμοποιεί τον κατάλληλο τύπο από τις δύο λειτουργίες κάθε φορά και ένας υπολογίζει, είτε οτο ''f''(''x''), είτε οτο ''g''(''x''). Η επιλογή εξαρτάται από την ισοτιμία του&nbsp;''x''.
*Το παράδειγμα πάρθηκε από τον Mathew: Numerical methods using matlab, 3rd ed.