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

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ.

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

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

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

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

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

Ένα πρόβλημα στη μετεωρολογία

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

Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016. ΦΥΣ145 Υπολογιστικές Μέθοδοι στην Φυσική

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

Υπο-προγράμματα στη Fortran

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια υπορουτίνα; με υπορουτίνα ΥΠΟΡΟΥΤΙΝΕΣ. Παράδειγμα #1: η πράξη SQ. Ποια η διαφορά συναρτήσεων και υπορουτίνων;

Πίνακες. (i) FORTRAN και Αντικειµενοστραφής Προγραµµατισµός

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός

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

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 2004, 3 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #4: ΠΑΡΕΜΒΟΛΗ

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

Εφαρμοσμένα Μαθηματικά 3η εργαστηριακή άσκηση

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

Ασκήσεις Γενικά Μαθηµατικά Ι Οµάδα 5 (λύσεις)

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

Oι εντολές COMMON και PARAMETER

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

Μονοδιάστατοι πίνακες

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

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

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 2004, 3 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #5: ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

8 FORTRAN 77/90/95/2003

Λύσεις ασκήσεων Άσκηση 1: Cengel and Ghajar, Κεφάλαιο 13: Προβλήματα και

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

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

Κεφάλαιο 7: Υπορουτίνες

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Γιατί πολυδιάστατους πίνακες; ΠΟΛΥΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ. Δήλωση πολυδιάστατων πινάκων. Δήλωση πολυδιάστατων πινάκων

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

Ενότητα 1 Διάλεξη 4. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Fortran και Αντικειμενοστραφής προγραμματισμός.

Ενότητα 1 Διάλεξη 3. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

Συνάρτηση Διαδικασία

Fortran και Αντικειμενοστραφής προγραμματισμός.

Δομή προγράμματος στη Fortran

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Γράψτε το ονοµατεπώνυµο και αριθµό ταυτότητάς σας στο πάνω µέρος της αυτής της σελίδας.

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια συνάρτηση; ΣΥΝΑΡΤΗΣΕΙΣ. Δήλωση συνάρτησης sq. Παράδειγμα συνάρτησης: υπολογισμός τετραγώνου

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

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 Ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #3: ΠΑΡΕΜΒΟΛΗ ΕΠΙΜΕΛΕΙΑ: Σ. Μισδανίτης

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

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

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

Μονοδιάστατοι πίνακες

Κεφάλαιο 7ο: Συναρτήσεις και Υπορουτίνες

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

Δομή προγράμματος στη Fortran

Εισαγωγή στη χρήση Η/Υ. Αναγνωστοπούλου Χριστίνα Λέκτορας

Συνοπτική εισαγωγή στην γλώσσα FORTRAN Μάριος Βαφειάδης Αν.Καθηγητής ΑΠΘ. Θεσσαλονίκη 2004

ΕΙΣΑΓΩΓΗ ΣΤΗΝ FORTRAN 77

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

ΦΥΣ 145 Μαθηματικές Μέθοδοι στη Φυσική. Γράψτε το ονοματεπώνυμο και αριθμό ταυτότητάς σας στο πάνω μέρος της αυτής της σελίδας.

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

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα

πεπερασμένη ή Η αναλυτική λύση της διαφορικής εξίσωσης δίνεται με τη βοήθεια του Mathematica: DSolve u'' r 1 u' r 1, u 1 0, u' 0 0,u r,r

f x και τέσσερα ζευγάρια σημείων

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

Διαφάνειες παρουσιάσεων Αρχικές Διαφάνειες σε Pascal: Σ.Ζάχος, Ν.Παπασπύρου Προσαρμογή σε Fortran: Α.Παγουρτζής, Δ.Σούλιου

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

Μονοδιάστατοι πίνακες (συνέχεια)

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

ΜΕΜ251 Αριθμητική Ανάλυση

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #5: ΥΠΕΡΒΟΛΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: ΕΠΙΜΕΛΕΙΑ: Ιωάννης Λυχναρόπουλος

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος

Pascal, απλοί τύποι, τελεστές και εκφράσεις

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN

Δομή του προγράμματος

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

Παράδειγμα #5 EΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΑΛΓΕΒΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΕΘΟΔΟ NEWTON ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης. ( k ) ( k)

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

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

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

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

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ, 5 Ο ΕΞΑΜΗΝΟ, ΠΕΡΙΕΧΟΜΕΝΑ ΠΑΡΑΔΟΣΕΩΝ. Κεφ. 1: Εισαγωγή (διάρκεια: 0.5 εβδομάδες)

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

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

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

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

Fortran και Αντικειμενοστραφής προγραμματισμός.

Παράδειγμα #5 ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ & ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΠΙΜΕΛΕΙΑ: Σ. Βαρούτης

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

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

Αλγόριθµοι και Πολυπλοκότητα

Fortran και Αντικειμενοστραφής προγραμματισμός. 1η ενότητα

0.5, Μεταφορά θερμότητας ανάμεσα σε κυλίνδρους μεγάλου μήκους (χωρίς ασπίδα):

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

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, 2010-2011 ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ. Σταυράκης 3 η Σειρά Ασκήσεων 07.12.2010 Άσκηση 1. Δίνονται τα ακόλουθα ζεύγη τιμών: x 1,1 1,2 1,3 1,4 f(x ) 0,6415 0,6282 0,6097 0,5872 Να προσδιοριστεί η f(1,24) χρησιμοποιώντας τετραγωνική παρεμβολή με τις προς τα εμπρός ή τις προς τα πίσω διαφορές. Να γίνει η σύγκριση με το Mathematica. Σύμφωνα με την εκφώνηση ζητείται ο προσδιορισμός της τιμής της συνάρτησης f(x) για x = 1,24 χρησιμοποιώντας τετραγωνική παρεμβολή. Για τον προσδιορισμό του πολυώνυμο παρεμβολής 2 ου βαθμού είτε με τις προς τα εμπρός είτε με τις προς τα πίσω διαφορές απαιτούνται 3 σημεία παρεμβολής. Επομένως, ως σημεία παρεμβολής μπορούν να χρησιμοποιηθούν τα 3 πρώτα σημεία ή τα 3 τελευταία σημεία. Για τον προσδιορισμό του πολυωνύμου παρεμβολής 2 ου βαθμού (τετραγωνική παρεμβολή) με τις προς τα εμπρός διαφορές χρησιμοποιείται ο τύπος: όπου f(x) P (x) = f + s 1 f + s 2 f, s = x x h Για τον υπολογισμό των προς τα εμπρός διαφορών f, για k = 1,2, κατασκευάζεται ο παρακάτω πίνακας των προς τα εμπρός διαφορών. x f f f 1,1 0,6415-0,0133 1,2 0,6282-0,0052-0,0185 1,3 0,6097-0,004-0,0225 1,4 0,5872 Επιλέγοντας ως σημεία παρεμβολής τα 3 πρώτα, ισχύει ότι x = 1,1 και h = 0,1. Με βάση τον παραπάνω πίνακα προκύπτουν: f = 0,6415, f = 0,0133 και f = 0,0052.

Οπότε το πολυώνυμο παρεμβολής 2 ου βαθμού είναι ίσο με: P (x) = f + s 1 f + s 2 f = f + s f + 1 2 s(s 1) f = = 0,6415 + x 1,1 0,1 ( 0,0133) + 1 x 1,1 x 1,2 2 0,1 0,1 ( 0,0052) = = 0,6415 0,133(x 1,1) 0,26(x 1,1)(x 1,2) = = 0,6415 0,133x + 0,1463 0,26x + 0,598x 0,3432 = = 0,4446 + 0,465x 0,26x Στο Mathematica ο προσδιορισμός του πολυωνύμου παρεμβολής 2 ου βαθμού για τα 3 πρώτα ζεύγη τιμών γίνεται δίνοντας: Expand[InterpolatingPolynomial[{{1.1,0.6415},{1.2,0.6282},{1.3,0.6097}},x ]] και προκύπτει: 0.4446+0.465 x-0.26 x 2. Για x = 1,24 η συνάρτηση παίρνει την τιμή f(1,24) P (1,24) = 0,621424. Επιλέγοντας ως σημεία παρεμβολής τα 3 τελευταία, ισχύει ότι x = 1,2 και h = 0,1. Με βάση τον παραπάνω πίνακα προκύπτουν: f = 0,6282, f = 0,0185 και f = 0,004. Οπότε το πολυώνυμο παρεμβολής 2 ου βαθμού είναι ίσο με: P (x) = f + s 1 f + s 2 f = f + s f + 1 2 s(s 1) f = = 0,6282 + x 1,2 0,1 ( 0,0185) + 1 x 1,2 x 1,3 2 0,1 0,1 ( 0,004) = = 0,6282 0,185(x 1,2) 0,2(x 1,2)(x 1,3) = = 0,6282 0,185x + 0,222 0,2x + 0,5x 0,312 = = 0,5382 + 0,315x 0,2x Στο Mathematica ο προσδιορισμός του πολυωνύμου παρεμβολής 2 ου βαθμού για τα 3 τελευταία ζεύγη τιμών γίνεται δίνοντας: Expand[InterpolatingPolynomial[{{1.2,0.6282},{1.3,0.6097},{1.4,0.5872}},x] ] και προκύπτει: 0.5382+0.315 x-0.2 x 2.

Για x = 1,24 η συνάρτηση παίρνει την τιμή f(1,24) P (1,24) = 0,62128. Για τον προσδιορισμό του πολυωνύμου παρεμβολής 2 ου βαθμού (τετραγωνική παρεμβολή) με τις προς τα πίσω διαφορές χρησιμοποιείται ο τύπος: όπου f(x) P (x) = f s 1 f + s 2 f, s = x x h Για τον υπολογισμό των προς τα πίσω διαφορών f, για k = 1,2, κατασκευάζεται ο παρακάτω πίνακας των προς τα εμπρός διαφορών. x f f f 1,1 0,6415-0,0133 1,2 0,6282-0,0052-0,0185 1,3 0,6097-0,004-0,0225 1,4 0,5872 Επιλέγοντας ως σημεία παρεμβολής τα 3 πρώτα, ισχύει ότι x = 1,3 και h = 0,1. Με βάση τον παραπάνω πίνακα προκύπτουν: f = 0,6097, f = 0,0185 και f = 0,0052. Οπότε το πολυώνυμο παρεμβολής 2 ου βαθμού είναι ίσο με: P (x) = f s 1 f + s 2 f = f s f + 1 2 s(s 1) f = = 0,6097 1,3 x 0,1 ( 0,0185) + 1 1,3 x 1,2 x 2 0,1 0,1 ( 0,0052) = = 0,6097 + 0,185(1,3 x) 0,26(1,3 x)(1,2 x) = = 0,6097 + 0,2405 0,185x 0,4056 + 0,65x 0,26x = = 0,4446 + 0,465x 0,26x Στο Mathematica ο προσδιορισμός του πολυωνύμου παρεμβολής 2 ου βαθμού για τα 3 πρώτα ζεύγη τιμών γίνεται δίνοντας: Expand[InterpolatingPolynomial[{{1.1,0.6415},{1.2,0.6282},{1.3,0.6097}},x ]] και προκύπτει: 0.4446+0.465 x-0.26 x 2.

Για x = 1,24 η συνάρτηση παίρνει την τιμή f(1,24) P (1,24) = 0,621424. Επιλέγοντας ως σημεία παρεμβολής τα 3 τελευταία, ισχύει ότι x = 1,4 και h = 0,1. Με βάση τον παραπάνω πίνακα προκύπτουν: f = 0,5872, f = 0,0225 και f = 0,004. Οπότε το πολυώνυμο παρεμβολής 2 ου βαθμού είναι ίσο με: P (x) = f s 1 f + s 2 f = f s f + 1 2 s(s 1) f = = 0,5872 1,4 x 0,1 ( 0,0225) + 1 1,4 x 1,3 x 2 0,1 0,1 ( 0,004) = = 0,5872 + 0,225(1,4 x) 0,2(1,4 x)(1,3 x) = = 0,5872 + 0,315 0,225x 0,364 + 0,54x 0,2x = = 0,5382 + 0,315x 0,2x Στο Mathematica ο προσδιορισμός του πολυωνύμου παρεμβολής 2 ου βαθμού για τα 3 τελευταία ζεύγη τιμών γίνεται δίνοντας: Expand[InterpolatingPolynomial[{{1.2,0.6282},{1.3,0.6097},{1.4,0.5872}},x] ] και προκύπτει: 0.5382+0.315 x-0.2 x 2. Για x = 1,24 η συνάρτηση παίρνει την τιμή f(1,24) P (1,24) = 0,62128. Άσκηση 2. Για τα παρακάτω δεδομένα: x 0,55 0,80 1,95 3,60 5,75 8,40 f(x ) 1,3307 1,3570 1,4635 2,6217 9,2239 62,1446 Να γραφεί πρόγραμμα σε Fortran για τον υπολογισμό των f(1,60), f(2,53) και f(4,56) εφαρμόζοντας τις μεθόδους παρεμβολής: 1. Lagrange, 2. Newton και 3. Ελαχίστων Τετραγώνων για πολυώνυμο 3 ου βαθμού (η επίλυση του γραμμικού συστήματος να γίνει με τη μέθοδο LU ή τη μέθοδο Cholesky). Σε κάθε περίπτωση να γίνει η σύγκριση των αποτελεσμάτων με τις αντίστοιχες μεθόδους του Mathematica. 1. Το πολυώνυμο παρεμβολής Lagrange δίνεται από τη σχέση:

όπου n = 5. x x P (x) = f(x x x ) Παρακάτω φαίνεται ο πηγαίος κώδικας σε γλώσσα προγραμματισμού Fortran για την παρεμβολή Lagrange. Ο κώδικας γράφτηκε σε περιβάλλον linux (Ubuntu 10.10) και μεταγλωττίστηκε με τον compiler gfortran έκδοση 4.4.5. program lagrange implicit none integer n,m,i,j,k parameter (n=6,m=3) double precision x(n),f(n),xx(m),ff(m),s,p x(1)=0.55d0; x(2)=0.80d0; x(3)=1.95d0; x(4)=3.60d0; x(5)=5.75d0; x(6)=8.40d0; f(1)=1.3307d0 f(2)=1.3570d0 f(3)=1.4635d0 f(4)=2.6217d0 f(5)=9.2239d0 f(6)=62.1446d0 xx(1)=1.60d0 xx(2)=2.53d0 xx(3)=4.56d0 open(unit=10,file="lagrange.txt") do k=1,m s=0.0d0 do i=1,n p=1.0d0 do j=1,n if (j.ne.i) then p=p*(xx(k)-x(j))/(x(i)-x(j)) end if s=s+p*f(i) ff(k)=s write(10,*) 'f(',xx(k),' ) =',ff(k) close(10) stop end

Τα αποτελέσματα που προκύπτουν με την παρεμβολή Lagrange είναι τα εξής: f( 1.6000000000000001 ) = 1.3980677122837641 f( 2.5299999999999998 ) = 1.6935102387448990 f( 4.5599999999999996 ) = 4.3282832558943296 2. Το πολυώνυμο παρεμβολής Newton δίνεται από τη σχέση: P (x) = f[x ] + f[x, x ](x x ) + f[x, x, x ](x x )(x x ) + + f[x, x, x,, x ](x x )(x x ) (x x ) όπου n = 5. Παρακάτω φαίνεται ο πηγαίος κώδικας σε γλώσσα προγραμματισμού Fortran για την παρεμβολή Newton. Ο κώδικας γράφτηκε σε περιβάλλον linux (Ubuntu 10.10) και μεταγλωττίστηκε με τον compiler gfortran έκδοση 4.4.5. program newton implicit none integer n,m,i,j,k parameter (n=6,m=3) double precision x(n),f(n),xx(m),ff(m),a(n),s,p x(1)=0.55d0; x(2)=0.80d0; x(3)=1.95d0; x(4)=3.60d0; x(5)=5.75d0; x(6)=8.40d0; f(1)=1.3307d0 f(2)=1.3570d0 f(3)=1.4635d0 f(4)=2.6217d0 f(5)=9.2239d0 f(6)=62.1446d0 xx(1)=1.60d0 xx(2)=2.53d0 xx(3)=4.56d0 call coeff(n,x,f,a) open(unit=10,file="newton.txt") do k=1,m s=a(n) do i=n-1,1,-1 s=a(i)+(xx(k)-x(i))*s ff(k)=s write(10,*) 'f(',xx(k),' ) =',ff(k) close(10) stop end

Η υπορουτίνα coeff υπολογίζει τους συντελεστές του πολυωνύμου με την βοήθεια των διαιρεμένων διαφορών. subroutine coeff(n,x,f,a) implicit none integer n,i,j double precision x(n),f(n),a(n),divdif(n,n) do i=1,n divdif(i,1)=f(i) do j=2,n do i=j,n divdif(i,j)=(divdif(i,j-1)-divdif(i-1,j-1))/(x(i)-x(i-j+1)) do i=1,n a(i)=divdif(i,i) enddo return end Τα αποτελέσματα που προκύπτουν με την παρεμβολή Newton είναι τα εξής: f( 1.6000000000000001 ) = 1.3980677122837641 f( 2.5299999999999998 ) = 1.6935102387448990 f( 4.5599999999999996 ) = 4.3282832558943296 3. Η μέθοδος των Ελαχίστων Τετραγώνων προσδιορίζει ένα πολυώνυμο της μορφής: P (x) = a + a x + + a x, όπου οι συντελεστές a του πολυωνύμου προκύπτουν από την επίλυση του συστήματος: s s s s s s a u =, s s s a u όπου s = x και u = x f. Στην περίπτωση μας, ο βαθμός του πολυωνύμου είναι ίσος με 3 (n = 3) και το πλήθος των σημείων παρεμβολής 6 (m = 5). Παρακάτω φαίνεται ο πηγαίος κώδικας σε γλώσσα προγραμματισμού Fortran για τη μέθοδο των Ελαχίστων Τετραγώνων. Ο κώδικας γράφτηκε σε linux (Ubuntu 10.10) και μεταγλωττίστηκε με τον compiler gfortran έκδοση 4.4.5. a u

program squares implicit none integer n,m,nn,i,j,k parameter (n=6,m=3,nn=3) double precision x(n),f(n),xx(m),ff(m),a(nn+1),s x(1)=0.55d0; x(2)=0.80d0; x(3)=1.95d0; x(4)=3.60d0; x(5)=5.75d0; x(6)=8.40d0; f(1)=1.3307d0 f(2)=1.3570d0 f(3)=1.4635d0 f(4)=2.6217d0 f(5)=9.2239d0 f(6)=62.1446d0 xx(1)=1.60d0 xx(2)=2.53d0 xx(3)=4.56d0 call coeff(n,x,f,nn,a) open(unit=10,file="squares.txt") write(10,*) "Least Squares Method" write(10,*) "Polynomial degree is",nn write(10,*) write(10,*) "Polynomial Coefficients" do i=1,nn+1 write(10,*) 'a_',i-1,' =',a(i) write(10,*) do k=1,m s=a(1) do i=2,nn+1 s=s+a(i)*xx(k)**(i-1) ff(k)=s write(10,*) 'f(',xx(k),' ) =',ff(k) close(10) stop end Η παράμετρος nn δηλώνει τον βαθμό του πολυωνύμου. Στην υπορουτίνα coeff υπολογίζονται οι συντελεστές του πολυωνύμου. Η επίλυση του συστήματος γίνεται με την μέθοδο Cholesky, της οποίας ο κώδικας είναι ο ίδιος με εκείνον της 2 ης Σειράς Ασκήσεων και παραλείπεται. subroutine coeff(n,x,f,nn,a) implicit none integer n,nn,i,k,j,ipvt(nn+1),info double precision x(n),f(n),a(nn+1)

double precision s,sx(2*nn+1),u(nn+1),aa(nn+1,nn+1) do k=1,2*nn+1 s=0.0d0 do i=1,n s=s+x(i)**(k-1) sx(k)=s do k=1,nn+1 s=0.0d0 do i=1,n s=s+(x(i)**(k-1))*f(i) u(k)=s do i=1,nn+1 do j=1,nn+1 aa(i,j)=sx((i-1)+j) call choleskydecomp(nn+1,aa,ipvt,info) call choleskysolve(nn+1,aa,u,ipvt,info) do k=1,nn+1 a(k)=u(k) return end Τα αποτελέσματα που προκύπτουν για πολυώνυμο 3 ου βαθμού είναι: Least Squares Method Polynomial degree is 3 Polynomial Coefficients a_ 0 = -1.6818166947511497 a_ 1 = 5.9140718523616451 a_ 2 = -2.5960273838403212 a_ 3 = 0.33276389343325891 f( 1.6000000000000001 ) = 2.4978690738988889 f( 2.5299999999999998 ) = 2.0527440763569760 f( 4.5599999999999996 ) = 2.8578743262876340 Η σύγκριση των αποτελεσμάτων, και για την παρεμβολή Lagrange και για την παρεμβολή Newton, με το Mathematica γίνεται δίνοντας:

data={{0.55,1.3307},{0.80,1.3570},{1.95,1.4635},{3.60,2.6217},{5.75,9.223 9},{8.40,62.1446}}; Polyonymo[x_]=InterpolatingPolynomial[data,x]; N[Polyonymo[{1.60,2.53,4.56}]] Τα αποτελέσματα που προκύπτουν είναι: {1.39807,1.69351,4.32828}. Η σύγκριση των αποτελεσμάτων για τη μέθοδο των Ελαχίστων Τετραγώνων με το Mathematica γίνεται δίνοντας: data={{0.55,1.3307},{0.80,1.3570},{1.95,1.4635},{3.60,2.6217},{5.75,9.223 9},{8.40,62.1446}}; PSquares3[x_]=Fit[data,{1,x,x 2,x 3 },x]; N[PSquares3[{1.60,2.53,4.56}]] και προκύπτουν τα αποτελέσματα: {2.49787,2.05274,2.85787}.