. Από τις συνθήκες αυτές κατασκευάζουµε ένα γραµµικό σύστηµα εξισώσεων η λύση του οποίου καθορίζει τα

Σχετικά έγγραφα
( ) ( ) ( ) ( ) ενώ η εξίσωση της παραβολής είναι η

Εργαστήριο 2 - Απαντήσεις. Επίλυση Γραμμικών Συστημάτων

ÁñéèìçôéêÞ ÁíÜëõóç É - ÓÅÌÖÅ Åñãáóßá 2 ìåóåò êáé åðáíáëçðôéêýò ìýèïäïé

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 9 ο Εργαστήριο. Απαλοιφή Gauss με μερική οδήγηση - Παρεμβολη

Β ΜΕΡΟΣ: ΕΦΑΡΜΟΓΗ ΤΟΥ MATLAB ΣΤΗΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ

1. Μία άλλη µορφή µη γραµµικής προσέγγιση µε ελάχιστα τετράγωνα, εκτός της εκθετικής είναι να επιλέξουµε µια συνάρτηση της µορφής: x

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

3η ΕΡΓΑΣΙΑ. 3.1 Αµεσοι µέθοδοι για την Αριθµητική Επίλυση Γραµµικών Συστηµάτων

Εισαγωγή στην Αριθμητική Ανάλυση

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ

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

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

β) Με τη βοήθεια του αποτελέσµατος της απαλοιφής υπολογίστε την ορίζουσα του πίνακα του συστήµατος. x x = x

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΔΙΔΑΣΚΩΝ: Δ. Βαλουγεώργης Απαντήσεις: ΠΡΟΟΔΟΣ 1, Επιμέλεια λύσεων: Γιώργος Τάτσιος

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

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

1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75

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

Επαναληπτικές μέθοδοι για την επίλυση γραμμικών συστημάτων. Μιχάλης Δρακόπουλος

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

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟ ΟΣ:

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 1 η Ηµεροµηνία Αποστολής στον Φοιτητή: 15 Οκτωβρίου 2006

2η Οµάδα Ασκήσεων. ΑΣΚΗΣΗ 3 (Θεωρία-Αλγόριθµοι-Εφαρµογές)

Εισαγωγή στον Προγραµµατισµό. Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί)

Αδιάσπαστοι, p-κυκλικοί, συνεπώς διατεταγµένοι πίνακες και γραφήµατα

4. Εισαγωγή στο Matlab

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

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

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ» ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 4

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

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

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

QR είναι ˆx τότε x ˆx. 10 ρ. Ποιά είναι η τιµή του ρ και γιατί (σύντοµη εξήγηση). P = [X. 0, X,..., X. (n 1), X. n] a(n + 1 : 1 : 1)

Αριθµητική Ανάλυση. 27 Οκτωβρίου Αριθµητική Ανάλυση 27 Οκτωβρίου / 72

Νέο υλικό. Matlab2.pdf - Παρουσίαση μαθήματος 2. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (13 σελίδες).

8 ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΕΞΙΣΩΣΕΩΝ

ΜΑΣ 371: Αριθμητική Ανάλυση ΙI ΑΣΚΗΣΕΙΣ. 1. Να βρεθεί το πολυώνυμο Lagrange για τα σημεία (0, 1), (1, 2) και (4, 2).

ΜΑΣ 371: Αριθμητική Ανάλυση ΙI ΛΥΣΕΙΣ ΑΣΚΗΣΕΩΝ. 1. Να βρεθεί το πολυώνυμο παρεμβολής Lagrange για τα σημεία (0, 1), (1, 2) και (4, 2).

Γραµµική Αλγεβρα. Ενότητα 2 : Επίλυση Γραµµικών Εξισώσεων. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Επιστηµονικός Υπολογισµός Ι - Πρώτη εργαστηριακή άσκηση

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

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

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

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

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

Αριθµητική Ανάλυση. 14 εκεµβρίου Αριθµητική ΑνάλυσηΚεφάλαιο 6. Παρεµβολή 14 εκεµβρίου / 28

Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2)

Απαντήσεις στα Θέµατα Ιουνίου 2012 (3 και 4)

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

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος

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

Εισαγωγή στη Matlab Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

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

Αριθμητική Επίλυση Συνήθων Διαφορίκών Εξισώσεων 3ο Εργαστήριο 27/03/2015 1

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

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

10 ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ

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

{ } ΠΛΗ 12: ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΤΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 2 η ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ. Απαντήσεις. 1. (15 µονάδες)

Αξιοποίηση Η/Υ και Πληροφορικής στην Μηχανική

Επίσης, γίνεται αναφορά σε µεθόδους πεπερασµένων στοιχείων και νευρονικών δικτύων.

Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Επαναληπτικό Διαγώνισμα Άλγεβρας Β Λυκείου. Θέματα. A. Να διατυπώσετε τον ορισμό μιας γνησίως αύξουσας συνάρτησης. (5 μονάδες)

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

1 η δεκάδα θεµάτων επανάληψης

A A A B A ΦΥΛΛΑ ΙΟ ΘΕΜΑΤΩΝ 1/2. Μέϱος A. Πολλαπλές επιλογές (20%) Σειριακός αριθµός : 100 Πληροφορική Ι Εξέταση Φεβρουαρίου 2019

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

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

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

Επιστηµονικοί Υπολογισµοί (Αρ. Γρ. Αλγεβρα)Επαναληπτικές µέθοδοι και 31 Μαρτίου Ηµι-Επαναληπτικές Μέθοδο / 17

ΠΡΟΣΟΜΟΙΩΣΗ ΦΥΣΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ - MATLAB

Μαρία Λουκά. Εργαστήριο Matlab Πολυώνυμα - Παρεμβολή. Τμήμα Πληροφορικής και Τηλεπικοινωνιών.

1 η ΑΣΚΗΣΗ. 1. Θεωρία (Κεφ. 1, 2) ξ = 2 της εξίσωσης fx ( ) = 0 για x

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

Κεφ. 3: Παρεμβολή. 3.1 Εισαγωγή. 3.2 Πολυωνυμική παρεμβολή Παρεμβολή Lagrange Παρεμβολή Newton. 3.3 Παρεμβολή με κυβικές splines

MATLAB. Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών.

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

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

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

Επιστηµονικός Υπολογισµός Ι

Επιστηµονικός Υπολογισµός ΙΙ

( ) x 3 + ( λ 3 1) x 2 + λ 1

Προσεγγιστική λύση Γραμμικών Συστημάτων με την μέθοδο Gauss-Seidel. Δημιουργία κώδικα στο Matlab

Γραµµική Αλγεβρα. Ενότητα 2 : Επίλυση Γραµµικών Εξισώσεων. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Συστήματα Αναμονής (Queuing Systems)

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

5 η δεκάδα θεµάτων επανάληψης

Το θεώρηµα πεπλεγµένων συναρτήσεων

Αριθµητική Γραµµική ΑλγεβραΚεφάλαιο 4. Αριθµητικός Υπολογισµός Ιδιοτιµών 2 Απριλίου και2015 Ιδιοδιανυσµάτων 1 / 50

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

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

5 ΠΡΟΣΑΡΜΟΓΗ ΣΥΝΘΕΤΩΝ ΚΑΜΠΥΛΩΝ

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Επαναληπτικές Ασκήσεις

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

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

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

Transcript:

ΤΕΜΦΕ 4 ο Εξάµηνο Αριθµητική Ανάλυση Ι 2 η Εργαστηριακή Άσκηση Α. Άµεσες Μέθοδοι. Κατά την πολυωνυµική παρεµβολή Hermite αναζητούµε ένα πολυώνυµο το οποίο να διέρχεται από κάποια σηµεία µίας συνάρτησης και οι τιµές της παραγώγου του στα σηµεία αυτά να είναι ίσες µε τις τιµές ' f s, της συνάρτησης (βιβλίο σελ. 21). Για παράδειγµα όταν γνωρίζουµε τα f ( s 1), f ( s 1), ( 2 ) f '( s ), f ( s ), f '( s ) + + + που να ικανοποιεί τις συνθήκες ( ) ( ) 2 3 3 5 4 3 5 ( ) = 1 + 2s + c3s c4s c5s c6 µπορούµε να ορίσουµε το πολυώνυµο πέµπτου βαθµού p s cs c p s1 = f s1, p '( s1) = f '( s1), p ( s2) = f ( s2), p '( s2) = f '( s2), p ( s3) = f ( s3), p '( s3 ) = f '( s3). Από τις συνθήκες αυτές κατασκευάζουµε ένα γραµµικό σύστηµα εξισώσεων η λύση του οποίου καθορίζει τα c, c, c 1 2 3, c4, c5. 1. Σας ζητείται να κατασκευάσετε συνάρτηση (function) σε MATLAB, µε όνοµα herm5, η οποία να λαµβάνει ως δεδοµένα τρία διανύσµατα στήλη. Το ένα θα περιέχει τα σηµεία της παρεµβολής ( s, s, s ), το δεύτερο τις τιµές της συνάρτησης σε αυτά τα σηµεία και το τρίτο τις τιµές της 1 2 3 παραγώγου της συνάρτησης στα ίδια σηµεία. Στο εσωτερικό της συνάρτησης θα πρέπει να ορίζεται ο πίνακας του συστήµατος µε το οποίο καθορίζονται οι συντελεστές του παρεµβολικού πολυωνύµου και να λύνεται µε τη µέθοδο Gauss, καλώντας τη συνάρτηση GAUSS.M που υπάρχει στο βιβλίο και χρησιµοποιήσατε κατά τη διάρκεια του 3 ου εργαστηρίου. Η συνάρτηση herm5 θα επιστρέφει σε διάνυσµα στήλη τους συντελεστές c1, c2, c3, c4, c5. Χρησιµοποιήστε τη συνάρτηση herm5 για τον καθορισµό του πολυωνύµου που παρεµβάλει την f ( x) = sin( x) στα 3π 3π σηµεία,,. Με τη χρήση της συνάρτησης polyval του MATLAB κάντε το γράφηµα του 2 2 3π 3π πολυωνύµου στο διάστηµα, 2 2 και το γράφηµα του σφάλµατος της παρεµβολής στο ίδιο διάστηµα. (Η διαµέριση του διαστήµατος να είναι.1) Επαναλάβατε την ίδια διαδικασία για τα π π σηµεία,,. 2 2 2. Με βάση τα όσα αναφέρθηκαν παραπάνω, να κατασκευάσετε συνάρτηση (function) σε MATLAB, µε όνοµα herm8, η οποία να επιστρέφει το παρεµβολικό πολυώνυµο 8 ου βαθµού που παρεµβάλει εκτός από τις τιµές της συνάρτησης και της παραγώγου του και τις τιµές της δεύτερης παραγωγού. Επαναλάβατε τα τρεξίµατα του πρώτου ερωτήµατος για το herm8. 3. Αιτιολογήσετε διαισθητικά τη µορφή που έχουν οι συντελεστές που επιστρέφουν οι herm5 και herm8 για τα συγκεκριµένα τρεξίµατα. Β. Επαναληπτικές Μέθοδοι. Σας δίνονται τα ακόλουθα θεωρήµατα: Α) Ένας πραγµατικός συµµετρικός πίνακας Α είναι θετικά ορισµένος (positive definite, xax >, x µη µηδενικό διάνυσµα) αν και µόνο αν οι ιδιοτιµές του είναι θετικές. Β) Ένας πραγµατικός συµµετρικός πίνακας Α είναι θετικά ορισµένος αν είναι αυστηρά διαγώνια υπερτερών και τα διαγώνια στοιχεία του είναι θετικά. Γ) Αν ο Α είναι θετικά ορισµένος και τριδιαγώνιος τότε η βέλτιστη επιλογή για την τιµή του ω στην SOR 2 είναι η ω =, όπου ρ ( B) είναι η φασµατική ακτίνα του πίνακα της µεθόδου Jacobi. 2 1 + 1 ( B) ρ 1. Αφού γράψετε τον τύπο 4.24 (σελ. 166 του βιβλίου) της SOR για την περίπτωση που ο πίνακας του συστήµατος είναι τριδιαγώνιος να φτιάξετε συνάρτηση (function) του MATLAB µε όνοµα sortri η οποία να υλοποιεί τον τύπο που γράψατε για την επίλυση ενός τριδιαγώνιου συστήµατος µε τη µέθοδο SOR. 2. Σας δίνεται η ακόλουθη εξίσωση διαφορών

n xn 1+ 3 xn xn+ 1 =, n= 1,2,...,199, x = x2 =. 1 Η λύση της εξίσωσης διαφορών ισοδυναµεί µε τη λύση ενός τριδιαγώνιου συστήµατος. Με τη χρήση επαναληπτικής διαδικασίας for παρουσιάστε γραφικά και σε πίνακα τον αριθµό των επαναλήψεων που κάνει η sortri να επιλύσει το σύστηµα όταν το ω µεταβάλλεται από.1 έως το 1.9 µε βήµα.5. (tol=1e-5) ικαιολογήστε µε βάση τη θεωρία και τη βέλτιστη τιµή του ω που λαµβάνουµε από τον πίνακα. Για τον ορισµό του πίνακα να χρησιµοποιήσετε την συνάρτηση του MATLAB diag. Για τον υπολογισµό της φασµατικής ακτίνας δείτε το παράδειγµα 4.27 σελίδα 169 στο βιβλίο σας. Οδηγίες Η εργασία θα πρέπει να παραδοθεί κατά τις ηµεροµηνίες και ώρες που αναφέρονται στον ακόλουθο πίνακα. Τρίτη 17/6 Τετάρτη 18/6 Παρασκευή 2/6 1:-13: 1:-13: 12:-13: Θα πρέπει να παραδοθεί εκτυπωµένη εργασία συρραµµένη (απλά) έτσι ώστε να µπορεί κάποιος να την ξεφυλλίσει. Η εργασία θα πρέπει να έχει εξώφυλλο στο οποίο να αναφέρεται ο αύξων αριθµός της, το όνοµα και ο αριθµός µητρώου του φοιτητή, τα στοιχεία της σχολής και του µαθήµατος, η ηµεροµηνία παράδοσης και το τµήµα το οποίο παρακολουθεί εργαστήριο. Σε παράρτηµα θα πρέπει να υπάρχουν εκτυπωµένοι οι κώδικες (τα προγράµµατα, scripts και.m αρχεία). Στο κύριο µέρος της εργασίας θα πρέπει να αναπτύσσονται η διαδικασία, τα σχόλια, τα γραφήµατα και µόνο όσα από τα αποτελέσµατα είναι απαραίτητα για τα συµπεράσµατα. Όλα αυτά θα πρέπει να έχουν τη συνοχή ενιαίου κειµένου. Εκτός από τις όποιες εκτυπώσεις θα πρέπει να παραδοθούν τα προγράµµατα και τα αποτελέσµατα τους σε ηλεκτρονική µορφή (δισκέτα). Τα αποτελέσµατα µπορείτε να τα αποθηκεύσετε µε τη χρήση της diary. Αν δεν υπάρχει δυνατότητα παράδοσης της εργασίας σε έντυπη (εκτυπωµένη) µορφή, γίνεται δεκτή και δισκέτα που να περιέχει όλα όσα αναφέρονται παραπάνω. ηλαδή, επιπλέον των προγραµµάτων και αποτελεσµάτων η δισκέτα θα πρέπει να περιέχει και ένα αρχείο Word που θα έχει ως περιεχόµενο όλα όσα θα παραδίδατε σε εκτυπωµένη µορφή. Τόσο η πληρότητα, τα σχόλια το αν ακολουθήθηκαν οι οδηγίες αλλά και ο τρόπος της παρουσίασης των αποτελεσµάτων της εργασίας που θα παραδοθεί θα ληφθούν υπ όψιν κατά την αξιολόγηση.

ΙΚΑΡΙΟΣ ΕΜΜΑΝΟΥΗΛ Α.Μ. 911128 4 ο ΕΞΑΜΗΝΟ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ Ι 2 η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ΑΜΕΣΕΣ ΚΑΙ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΜΕΘΟ ΟΙ ΓΙΑ ΤΗΝ ΕΠΙΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ ΓΡΑΜΜΙΚΩΝ ΕΞΙΣΩΣΕΩΝ ΤΜΗΜΑ: ΠΑ1Α ΗΜ/ΝΙΑ ΠΑΡΑ ΟΣΗΣ 1/6/23

ΑΜΕΣΕΣ ΜΕΘΟ ΟΙ ΕΡΩΤΗΜΑ 1 Κατασκευάζουµε τις ζητούµενες συναρτήσεις Gauss και herm5, όπως αυτές φαίνονται παρακάτω: Gauss.m function x=gauss(a,b); %Solving ax=b, where a in R^nxn, x,b in R^n n=length(b); for i=1:n-1, [amax,imax]=max(abs(a(i:n,i))); if amax<eps, disp('singular Matrix'); break; end imax=imax+i-1; if imax~=i, sa=a(imax,i:n);sb=b(imax); a(imax,i:n)=a(i,i:n);b(imax)=b(i); a(i,i:n)=sa;b(i)=sb; end b(i+1:n)=b(i+1:n)-b(i)*a(i+1:n,i)/a(i,i); a(i+1:n,i+1:n)=a(i+1:n,i+1:n)- a(i+1:n,i)*a(i,i+1:n)/a(i,i); if abs(a(n,n))<eps, disp('singular Matrix'); break; end %Back Substitution x(n,1)=b(n)/a(n,n); for i=n-1:-1:1, x(i,1)=(b(i)-a(i,i+1:n)*x(i+1:n,1))/a(i,i); herm5.m function c=herm5(x,f,df); %herm5(x,f,df) %Hermite method for finding a polynomial of degree 5 %The input is 3 vectors (x,f,df), where % x includes the interpolation points, % f=f(x),where f(x) is our function % df=f'(x). %The output is a vector of 6 elements (c1,c2,c3,c4,c5,c6), where % p(s)=c1*s^5+c2*s^4+c3*s^3+c4*s^2+c5*s+c6 % is the polynomial we are looking for. if nargin<3, error('insufficient input, please type "help herm5"'); if ( (size(x)~=size(f)) (size(f)~=size(df)) (size(x)~=size(df)) ), error('wrong input, x, f and df must be of equal size'); if size(x)~=3 error('there should be 3 points'); a=[[x.^5]' [x.^4]' [x.^3]' [x.^2]' x' [ones(size(x))]' [5*x.^4]' [4*x.^3]' [3*x.^2]' [2*x]' [ones(size(x))]' [zeros(size(x))]']; %ALTERNATIVE INPUT %for i=1:3, % for j=5:-1:, % a1(i,6-j)=x(i)^5; % % %for i=1:3, % for j=4:-1:, % a2(i,5-j)=(j+1)*x(i)^j; % % %a=[a1; a2 zeros(3,1)]; b=[f' df']; c=gauss(a,b) Σελίδα 2 από 2

Στη συνέχεια δηµιουργούµε τα παρακάτω scripts ώστε να παρουσιάζουν τα ζητούµενα αποτελέσµατα: question1.m clear all; clf; format long; x=[-3*pi/2 3*pi/2]; f=sin(x); df=cos(x); c=herm5(x,f,df); %PLOT x=-3*pi/2:.1:3*pi/2; y=polyval(c,x); z=sin(x); sfalma=z-y; plot(x,y,'r',x,z,'b',x,sfalma,'m') legend('hermite polynomial','sin(x)','sfalma',4); grid on; question2.m clear all; clf; format long; x=[-pi/2 pi/2]; f=sin(x); df=cos(x); c=herm5(x,f,df); %PLOT x=-pi/2:.1:pi/2; y=polyval(c,x); z=sin(x); sfalma=z-y; plot(x,y,'r*',x,z,'b',x,sfalma,'m') legend('hermite polynomial','sin(x)','sfalma',4); grid on; Εκτελώντας την εντολή >>question1a Εµφανίζεται η γραφική παράσταση της συνάρτησης όπως αυτή φαίνεται παρακάτω, η οποία δείχνει το ζητούµενο γράφηµα (συµπεριλαµβάνοντας και το πολυώνυµο παρεµβολής) στο 3π 3π διάστηµα [, ]. 2 2 Σελίδα 3 από 2

Το αποτέλεσµα για τους συντελεστές του πολυωνύµου παρεµβολής που προκύπτει είναι το εξής:.26733325231. -.11395329985482 1. οπότε ( ) =.26733325231.11395329985482 +. 5 3 p s s s s Στη συνέχεια εκτελώντας την εντολή >>question1b Εµφανίζεται η γραφική παράσταση της συνάρτησης όπως αυτή φαίνεται παρακάτω, η οποία δείχνει το ζητούµενο γράφηµα (συµπεριλαµβάνοντας και το πολυώνυµο παρεµβολής) στο π π διάστηµα [, ]. 2 2 Σελίδα 4 από 2

Το αποτέλεσµα για τους συντελεστές του πολυωνύµου παρεµβολής που προκύπτει είναι το εξής: c =.743612839. -.1655387847471 1. οπότε ( ) =.743612839.1655387847473 +. 5 3 p s s s s Παρατηρούµε από το τελευταίο γράφηµα ότι το p(s) παρεµβάλει την sin(x) µε πολύ µεγάλη π π ακρίβεια στο [, ]. 2 2 Σελίδα 5 από 2

ΕΡΩΤΗΜΑ 2 ηµιουργούµε τις εξής συναρτήσεις και scripts για αυτό το ερώτηµα: herm8.m function c=herm5(x,f,df,ddf); %herm8(x,f,df,ddf) %Hermite method for finding a polynomial of degree 5 %The input is 4 vectors (x,f,df,ddf), where % x includes the interpolation points, % f=f(x),where f(x) is our function % df=f'(x) % ddf=f''(x) %The output is a vector of 9 elements (c1,c2,c3,c4,c5,c6,c7,c8,c9), where % p(s)=c1*s^8+c2*s^7+c3*s^6+c4*s^5+c5*s^4+c6*s^3 +c7*s^2+c8*s+c9 % is the polynomial we are looking for. if nargin<3, error('insufficient input, please type "help herm5"'); if ( (size(x)~=size(f)) (size(f)~=size(df)) (size(x)~=size(df)) ), error('wrong input, x, f and df must be of equal size'); if size(x)~=3 error('there should be 3 points'); a=[[x.^8]' [x.^7]' [x.^6]' [x.^5]' [x.^4]' [x.^3]' [x.^2]' x' [ones(size(x))]' [8*x.^7]' [7*x.^6]' [6*x.^5]' [5*x.^4]' [4*x.^3]' [3*x.^2]' [2*x]' [ones(size(x))]' [zeros(size(x))]' [8*7*x.^6]' [7*6*x.^5]' [3*x.^4]' [2*x.^3]' [12*x.^2]' [6*x]' [2*[ones(size(x))]]' [zeros(size(x))]' [zeros(size(x))]']; b=[f' df' ddf']; c=gauss(a,b) question2α.m clear all; format long; x=[-3*pi/2 3*pi/2]; f=sin(x); df=cos(x); ddf=-sin(x); c=herm8(x,f,df,ddf); %PLOT x=-3*pi/2:.1:3*pi/2; y=polyval(c,x); z=sin(x); sfalma=z-y; plot(x,y,'r',x,z,'b',x,sfalma,'m') legend('hermite polynomial','sin(x)','sfalma',4); grid on; question2b.m clear all; format long; x=[-pi/2 pi/2]; f=sin(x); df=cos(x); ddf=-sin(x); c=herm8(x,f,df,ddf); %PLOT x=-pi/2:.1:pi/2; y=polyval(c,x); z=sin(x); sfalma=z-y; plot(x,y,'r*',x,z,'b',x,sfalma,'m') legend('hermite polynomial','sin(x)','sfalma',4); grid on; Σελίδα 6 από 2

Εκτελώντας την εντολή >>question2a Εµφανίζεται η γραφική παράσταση της συνάρτησης όπως αυτή φαίνεται παρακάτω, η οποία δείχνει το ζητούµενο γράφηµα (συµπεριλαµβάνοντας και το πολυώνυµο παρεµβολής) στο 3π 3π διάστηµα [, ]. 2 2 Το αποτέλεσµα για τους συντελεστές του πολυωνύµου παρεµβολής που προκύπτει είναι το εξής: c = -. -.73869945..59537371663 -. -.15376632311 1. 7 5 3 οπότε p( s) =.73869945 s +.59537371663 s.15376632311 s + s. Σελίδα 7 από 2

Στη συνέχεια εκτελώντας την εντολή >>question2b Εµφανίζεται η γραφική παράσταση της συνάρτησης όπως αυτή φαίνεται παρακάτω, η οποία δείχνει το ζητούµενο γράφηµα (συµπεριλαµβάνοντας και το πολυώνυµο παρεµβολής) στο π π διάστηµα [, ]. 2 2 Σελίδα 8 από 2

Το αποτέλεσµα για τους συντελεστές του πολυωνύµου παρεµβολής που προκύπτει είναι το εξής: c = -. -.178956253..82859255828 -. -.16662797922 1. 7 5 3 οπότε p( s) =.178956253 s +.82859255828 s.16662797922 s + s. Παρατηρούµε από το τελευταίο γράφηµα ότι το p(s) παρεµβάλει την sin(x) µε πολύ µεγάλη π π ακρίβεια στο [, ]. 2 2 Ακόµα συγκρίνοντας συνολικά τα αποτελέσµατα της συνάρτησης herm8 µε αυτά της herm5 παρατηρούµε πόσο καλύτερα η πρώτη παρεµβάλει την sin(x). ΕΡΩΤΗΜΑ 3 Αυτό που παρατηρούµε σε όλες τις εκτελέσεις είναι ότι µένουν µόνο οι περιττού βαθµού δυνάµεις. Αυτό εξηγείται πολύ απλά λαµβάνοντας υπ όψιν τη συνάρτηση που προσπαθούµε να παρεµβάλουµε. Έτσι βλέπουµε ότι η συνάρτηση sin(x) είναι περιττή συνάρτηση και συνεπώς είναι λογικό το πολυώνυµο που την παρεµβάλει να είναι περιττού βαθµού. 3 5 7 x x x Εξάλλου ισχύει ότι sin( x) = x +... 3! 5! 7! Σελίδα 9 από 2

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΜΕΘΟ ΟΙ ΕΡΩΤΗΜΑ 1 i 1 n ( k+ 1) ( k) ω ( k+ 1) ( k) Ο τύπος της SOR είναι ο εξής: xi = (1 ω) xi + bi aijxj aijxj aii j= 1 j= i+ 1 i=1,2, n k=,1,2, Παρατηρούµε ότι στην ιδιάζουσα περίπτωση που ο πίνακας α είναι τριδιαγώνιος ισχύει ότι: i 1 n ( k+ 1) ( k+ 1) ( k) ( k) ax ij j = ai, i 1xi 1 και ax ij j = ai, i+ 1xi+ 1 j= 1 j=+ i 1 Συνεπώς η ζητούµενη συνάρτηση sortri.m είναι αυτή που φαίνεται παρακάτω: function [x,k]=sortri(a,b,tol,w); %[x,k]=sortri(a,b,tol,w); %AYTH H SYNARTHSH EPILYEI ENA SYSTHMA Ax=B %TETOIO WSTE A TRIDIAGVNIOS %XRHSIMOPOIWNTAS TH ME8ODO SOR. %DEXETAI WS EISODO TON PINAKA a, TO DIANYSMA b, THN EPI8YMHTH AKRIBEIA tol (PROAIRETIKO) KAI TO w. %STHN PERIPTWSH POY DE DO8EI TO w KAI O PINAKAS EINAI 8ETIKA ORISMENOS KAI TRIDIAGWNIOS, w=2/(1+sqrt(1-p^2)), % OPOY p H PHASMATIKH AKTINA TOY PINAKA B OPWS PROKYPTEI APO TH ME8ODO Jacobi. %STHN PERIPTWSH POY O PINAKAS DEN EINAI 8ETIKA ORISMENOS KAI TRIDIAGWNIOS, w=1. if nargin<2, error('esfalmena DEDOMENA, PARAKALW PLHKTROLOGEISTE help sortri'); if nargin<3, tel=eps; if nargin<4, %YPOLOGISMOS TOY W d=diag(a); D=diag(d,); L=tril(a)-D; U=triu(a)-D; B=-inv(D)*(L+U); y=eig(b); p=max(abs(y)); less=min(y); if less<, w=1; else w=2/(1+sqrt(1-p^2)); Σελίδα 1 από 2

%SOR n=length(b); x=ones(n,1); xnew=zeros(n,1); k=; while max(abs(xnew-x))>tol & k<2, x=xnew; k=k+1; xnew(1)=(1-w)*x(1)+w/a(1,1)*(b(1)-a(1,2)*x(2)); for i=2:n-1, xnew(i)=(1-w)*x(i)+w/a(i,i)*(b(i)-a(i,i-1)*xnew(i-1)-a(i,i+1)*x(i+1)); xnew(n)=(1-w)*x(n)+w/a(n,n)*(b(n)-a(1,n-1)*xnew(n-1)); x=xnew; ΕΡΩΤΗΜΑ 2 Αν γράψουµε την εξίσωση διαφορών που µας δίνεται µε τη µορφή πίνακα παρατηρούµε το εξής: x + 3x1 x2 1/1 x1 + 3x2 x3 2 /1 x2 + 3x3 x4 3/1........ =..... x195 + 3 x196 x197. 196 /1. x196 + 3x197 x198 197 /1... x197 + 3x198 x199 198/1 x198 + 3x199 x2 199 /1 Επειδή x =x 2 = µπορούµε µη λαµβάνοντας υπ όψιν τις στήλες που βρίσκονται πριν και µετά τις διακεκοµµένες γραµµές καταλήγουµε σε ένα τριδιαγώνιο σύστηµα της µορφής: Σελίδα 11 από 2

3 1 1/1 1 3 1 2/1 1 3 1 3/1........ =..... 1 3 1. 196 /1. 1 3 1 197 /1... 1 3 1 198/1 1 3 199 /1 Η δήλωση του συστήµατος στο Matlab, η επίλυσή του και η παρουσίαση των αποτελεσµάτων για ω=.1:.5:1.9. φαίνεται στο παρακάτω script questionb2.m % questionb2.m clear all; clf; format long; v=[3 3]; u=1; for i=1:197, v=[v 3]; u=[u 1]; a=diag(v)+diag(u,1)+diag(u,-1); for i=1:199, b(i)=i/1; r=; for w=.1:.5:1.9, [x,k]=sortri(a,b,1e-5,w) w r=[r k]; w=.1:.5:1.9; w=[ w]; plot(w,r,'r*'); grid on; Όπως παρατηρούµε, το διάνυσµα r (το οποίο συγκρατεί τον αριθµό των επαναλήψεων για κάθε ω) έχει πρώτη τιµή το το οποίο χρειάζεται για την αρχικοποίηση του διανύσµατος, αλλά οδηγεί σε ένα παραπάνω σηµείο στο διάγραµµα το οποίο απλά αγνοούµε. Λόγω του παραπάνω αυτού σηµείου ορίζουµε στον πίνακα των ω (w) το πρώτο σηµείο, έτσι ώστε να αποφύγουµε την µετάθεση των σηµείων. Το αποτέλεσµα φαίνεται στο παρακάτω διάγραµµα: Σελίδα 12 από 2

Από το διάγραµµα παρατηρούµε ότι ο ελάχιστος αριθµός επαναλήψεων προκύπτει για ω λίγο µεγαλύτερο από το 1. Ελέγχοντας το diary questionb2.txt παρατηρούµε ότι οι ελάχιστες επαναλήψεις είναι 1 και επιτυγχάνονται για ω=1, ω=1.5 και ω=1.1. Αποτέλεσµα απολύτως λογικό, αφού παρατηρούµε ότι ο πίνακας Α είναι θετικά ορισµένος και τριδιαγώνιος και εκτελώντας τις παρακάτω εντολές προκύπτει ότι η βέλτιστη επιλογή για το ω είναι ω=1.14584974455195 d=diag(a); D=diag(d,); L=tril(a)-D; U=triu(a)-D; B=-inv(D)*(L+U); y=eig(b); p=max(abs(y)); w=2/(1+sqrt(1-p^2)); Σελίδα 13 από 2

ΠΑΡΑΡΤΗΜΑ M-FILES Gauss.m function x=gauss(a,b); %Solving ax=b, where a in R^nxn, x,b in R^n n=length(b); for i=1:n-1, [amax,imax]=max(abs(a(i:n,i))); if amax<eps, disp('singular Matrix'); break; end imax=imax+i-1; if imax~=i, sa=a(imax,i:n);sb=b(imax); a(imax,i:n)=a(i,i:n);b(imax)=b(i); a(i,i:n)=sa;b(i)=sb; end b(i+1:n)=b(i+1:n)-b(i)*a(i+1:n,i)/a(i,i); a(i+1:n,i+1:n)=a(i+1:n,i+1:n)-a(i+1:n,i)*a(i,i+1:n)/a(i,i); if abs(a(n,n))<eps, disp('singular Matrix'); break; end %Back Substitution x(n,1)=b(n)/a(n,n); for i=n-1:-1:1, x(i,1)=(b(i)-a(i,i+1:n)*x(i+1:n,1))/a(i,i); Σελίδα 14 από 2

herm5.m function c=herm5(x,f,df); %herm5(x,f,df) %Hermite method for finding a polynomial of degree 5 %The input is 3 vectors (x,f,df), where % x includes the interpolation points, % f=f(x),where f(x) is our function % df=f'(x). %The output is a vector of 6 elements (c1,c2,c3,c4,c5,c6), where % p(s)=c1*s^5+c2*s^4+c3*s^3+c4*s^2+c5*s+c6 % is the polynomial we are looking for. if nargin<3, error('insufficient input, please type "help herm5"'); if ( (size(x)~=size(f)) (size(f)~=size(df)) (size(x)~=size(df)) ), error('wrong input, x, f and df must be of equal size'); if size(x)~=3 error('there should be 3 points'); a=[[x.^5]' [x.^4]' [x.^3]' [x.^2]' x' [ones(size(x))]' [5*x.^4]' [4*x.^3]' [3*x.^2]' [2*x]' [ones(size(x))]' [zeros(size(x))]']; %ALTERNATIVE INPUT %for i=1:3, % for j=5:-1:, % a1(i,6-j)=x(i)^5; % % %for i=1:3, % for j=4:-1:, % a2(i,5-j)=(j+1)*x(i)^j; % % %a=[a1; a2 zeros(3,1)]; b=[f' df']; c=gauss(a,b) Σελίδα 15 από 2

herm8.m function c=herm5(x,f,df,ddf); %herm8(x,f,df,ddf) %Hermite method for finding a polynomial of degree 5 %The input is 4 vectors (x,f,df,ddf), where % x includes the interpolation points, % f=f(x),where f(x) is our function % df=f'(x) % ddf=f''(x) %The output is a vector of 9 elements (c1,c2,c3,c4,c5,c6,c7,c8,c9), where % p(s)=c1*s^8+c2*s^7+c3*s^6+c4*s^5+c5*s^4+c6*s^3+c7*s^2+c8*s+c9 % is the polynomial we are looking for. if nargin<3, error('insufficient input, please type "help herm5"'); if ( (size(x)~=size(f)) (size(f)~=size(df)) (size(x)~=size(df)) ), error('wrong input, x, f and df must be of equal size'); if size(x)~=3 error('there should be 3 points'); a=[[x.^8]' [x.^7]' [x.^6]' [x.^5]' [x.^4]' [x.^3]' [x.^2]' x' [ones(size(x))]' [8*x.^7]' [7*x.^6]' [6*x.^5]' [5*x.^4]' [4*x.^3]' [3*x.^2]' [2*x]' [ones(size(x))]' [zeros(size(x))]' [8*7*x.^6]' [7*6*x.^5]' [3*x.^4]' [2*x.^3]' [12*x.^2]' [6*x]' [2*[ones(size(x))]]' [zeros(size(x))]' [zeros(size(x))]']; b=[f' df' ddf']; c=gauss(a,b) Σελίδα 16 από 2

sortri.m function [x,k]=sortri(a,b,tol,w); %[x,k]=sortri(a,b,tol,w); %AYTH H SYNARTHSH EPILYEI ENA SYSTHMA Ax=B %TETOIO WSTE A TRIDIAGVNIOS %XRHSIMOPOIWNTAS TH ME8ODO SOR. %DEXETAI WS EISODO TON PINAKA a, TO DIANYSMA b, THN EPI8YMHTH AKRIBEIA tol (PROAIRETIKO) KAI TO w. %STHN PERIPTWSH POY DE DO8EI TO w KAI O PINAKAS EINAI 8ETIKA ORISMENOS KAI TRIDIAGWNIOS, w=2/(1+sqrt(1-p^2)), % OPOY p H PHASMATIKH AKTINA TOY PINAKA B OPWS PROKYPTEI APO TH ME8ODO Jacobi. %STHN PERIPTWSH POY O PINAKAS DEN EINAI 8ETIKA ORISMENOS KAI TRIDIAGWNIOS, w=1. if nargin<2, error('esfalmena DEDOMENA, PARAKALW PLHKTROLOGEISTE help sortri'); if nargin<3, tel=eps; if nargin<4, %YPOLOGISMOS TOY W d=diag(a); D=diag(d,); L=tril(a)-D; U=triu(a)-D; B=-inv(D)*(L+U); y=eig(b); p=max(abs(y)); less=min(y); if less<, w=1; else w=2/(1+sqrt(1-p^2)); %SOR n=length(b); x=ones(n,1); xnew=zeros(n,1); k=; while max(abs(xnew-x))>tol & k<2, x=xnew; k=k+1; xnew(1)=(1-w)*x(1)+w/a(1,1)*(b(1)-a(1,2)*x(2)); for i=2:n-1, xnew(i)=(1-w)*x(i)+w/a(i,i)*(b(i)-a(i,i-1)*xnew(i-1)-a(i,i+1)*x(i+1)); xnew(n)=(1-w)*x(n)+w/a(n,n)*(b(n)-a(1,n-1)*xnew(n-1)); x=xnew; Σελίδα 17 από 2

Scripts clear all; clf; format long; x=[-3*pi/2 3*pi/2]; f=sin(x); df=cos(x); c=herm5(x,f,df); %PLOT x=-3*pi/2:.1:3*pi/2; y=polyval(c,x); z=sin(x); sfalma=z-y; plot(x,y,'r',x,z,'b',x,sfalma,'m') legend('hermite polynomial','sin(x)','sfalma',4); grid on; clear all; clf; format long; x=[-pi/2 pi/2]; f=sin(x); df=cos(x); c=herm5(x,f,df); %PLOT x=-pi/2:.1:pi/2; y=polyval(c,x); z=sin(x); sfalma=z-y; plot(x,y,'r*',x,z,'b',x,sfalma,'m') legend('hermite polynomial','sin(x)','sfalma',4); grid on; clear all; format long; x=[-3*pi/2 3*pi/2]; f=sin(x); df=cos(x); ddf=-sin(x); c=herm8(x,f,df,ddf); %PLOT x=-3*pi/2:.1:3*pi/2; y=polyval(c,x); z=sin(x); sfalma=z-y; plot(x,y,'r',x,z,'b',x,sfalma,'m') legend('hermite polynomial','sin(x)','sfalma',4); grid on; question1a.m question1b.m question2a.m Σελίδα 18 από 2

question2b.m clear all; format long; x=[-pi/2 pi/2]; f=sin(x); df=cos(x); ddf=-sin(x); c=herm8(x,f,df,ddf); %PLOT x=-pi/2:.1:pi/2; y=polyval(c,x); z=sin(x); sfalma=z-y; plot(x,y,'r*',x,z,'b',x,sfalma,'m') legend('hermite polynomial','sin(x)','sfalma',4); grid on; questionb2.m clear all; clf; format long; v=[3 3]; u=1; for i=1:197, v=[v 3]; u=[u 1]; a=diag(v)+diag(u,1)+diag(u,-1); for i=1:199, b(i)=i/1; r=; for w=.1:.5:1.9, [x,k]=sortri(a,b,1e-5,w) w r=[r k]; w=.1:.5:1.9; w=[ w]; plot(w,r,'r*'); XLABEL('w'); YLABEL('repeats'); grid on; Σελίδα 19 από 2

DIARIES question1a.txt question1a c =.26733325231. -.11395329985482 1. diary off question1b.txt question1b c =.743612839. -.1655387847471 1. diary off questionb2.txt Επειδή το diary αυτό είναι υπερβολικά µεγάλο παρακαλώ ανοίξτε τοquestionb2.txt για να το δείτε. Σελίδα 2 από 2