ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟ ΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΤΟΜΕΑΣ ΘΕΩΡΗΤΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ : Αριθµητικές Μέθοδοι και Προγραµµατισµός(ΧΗΜΙΚΟ) Καταληκτική ηµεροµηνία υποβολής µέχρι και την ευτέρα 2112215, ώρα 22:3 212215 Προσοχή : Η Εργασία είναι ατοµική (δηλαδή ο κάθε ϕοιτητής ϑα πρέπει να εργαστεί µόνος του) (Η ένδειξη σηµαίνει ότι το αντίστοιχο ερώτηµα είναι προαιρετικό) 3η ΕΡΓΑΣΙΑ 31 Αµεσοι µέθοδοι για την Αριθµητική Επίλυση Γραµµικών Συστηµάτων ίνεται ο κώδικας της µεθόδου απαλοιφής του Gauss µε µερική οδήγηση για την αριθµητική επίλυση ενός γραµµικού συστήµατος Ax = b στον ϕάκελο Εγγραφα/ Κώδικας Gauss στην ιστοσελίδα eclass του µαθήµατος 311 Να µετατρέψετε τον κώδικα της µεθόδου απαλοιφής του Gauss µε µερική οδήγηση στον κώδικα της µεθόδου Jordan µε µερική οδήγηση 312 Να µετατρέψετε τον κώδικα της µεθόδου Jordan του Ερωτήµατος 311 έτσι ώστε η main να αποτελείται από κλήσεις συναρτήσεων Πιο συγκεκριµένα η main να αποτελείται από τις κλήσεις των ακόλουθων συναρτήσεων : 1 diavase 2 jordan 3 ektyposi Η diavase να διαβάζει την τάξη n του πίνακα A, τον πίνακα A και το διάνυσµα b Η jordan να επιλύει το γραµµικό σύστηµα Ax = b και η ektyposi να τυπώνει τον τελικό πίνακα A, όπως έχει τροποποιηθεί και τη λύση x 313 Να µετατρέψετε τον κώδικα της µεθόδου Jordan του Ερωτήµατος 312 έτσι ώστε να υπολογίζει τον αντίστροφο A 1 ηλαδή να επιλύει n το πλήθος γραµµικά συστήµατα µε τον ίδιο πίνακα A της µορφής A X = I, όπου X n n πίνακας και I ο n n µοναδιαίος πίνακας Τώρα ο επαυξηµένος πίνακας είναι ο [A ] I 31 Στιγµιότυπα Αποτελεσµάτων 311 Να τυπωθεί η λύση του γραµµικού συστήµατος : 2 1 1 7 3 = 6 x [] = x [1] = 312 Να τυπωθεί η λύση του γραµµικού συστήµατος : 2 1 1 7 3 = 3 21
O telikos pinakas A einai : a [] [] = a [] [1] = a [] [2] = a [1] [] = a [1] [1] = a [1] [2] = a [2] [] = a [2] [1] = a [2] [2] = 313 Να τυπωθεί ο αντίστροφος πίνακας A 1 Η εκτύπωση να είναι της ακόλουθης µορφής : O antistrofos pinakas toy A einai: x [] = x [1] = x [] [] = x [] [1] = x [] [2] = x [1] [] = x [1] [1] = x [1] [2] = x [2] [] = x [2] [1] = x [2] [2] = 32 Επαναληπτικές µέθοδοι για την Αριθµητική Επίλυση Γραµµικών Συστηµάτων ίνεται το ακόλουθο τριδιαγώνιο n n γραµµικό σύστηµα Ax = d b 1 c 1 a 2 b 2 c 2 a 3 b 3 d 3 a n 2 b n 2 c n 2 µε b i, i = 1, 2, n a n 1 b n 1 c n 1 a n b n x n 2 x n 1 x n = d 1 d 2 d 3 d n 2 d n 1 d n Οι τύποι υπό µορφή συνιστωσών της επαναληπτικής µεθόδου SOR για την αριθµητική επίλυση του γραµ- µικού συστήµατος (1) λαµβάνοντας υπόψη την ειδική δοµή του πίνακα είναι οι ακόλουθοι : 1 = (1 ω)x (k) 1 + ω( c 1 x (k) 2 + d 1 )/b 1 i = (1 ω)x (k) i + ω( a i i 1 c i x (k) i+1 + d i)/b i, i = 2, 3,, n 1 n = (1 ω)x (k) n + ω( a n n 1 + d n )/b n 321 Να γράψετε ένα πρόγραµµα σε γλώσσα C το οποίο να επιλύει µε την επαναληπτική µέθοδο SOR το ανωτέρω τριδιαγώνιο γραµµικό σύστηµα (1) Το πρόγραµµά σας να διαβάζει την τάξη n του πίνακα A, τον τριδιαγώνιο πίνακα A και το διάνυσµα d Λάβετε ω = 8, αρχικό διάνυσµα x () = d, επιθυµητή ακρίβεια ɛ = 1 2 1 6 και µέγιστος επιτρεπτός αριθµός επαναλήψεων M = 2 (1)
322 Να µετατρέψετε τον κώδικα του Ερωτήµατος 321 έτσι ώστε η main να αποτελείται από κλήσεις συναρτήσεων Πιο συγκεκριµένα η main να αποτελείται από τις κλήσεις των ακόλουθων συναρτήσεων : 1 diavase 2 sor 3 ektyposi 1 Η diavase να διαβάζει την τάξη n του πίνακα A, τον τριδιαγώνιο πίνακα A και το διάνυσµα d 2 Η sor για δεδοµένη τιµή του ω να επιλύει το γραµµικό σύστηµα Ax = d 3 Η ektyposi να τυπώνει την τιµή του ω, το πλήθος των επαναλήψεων niter και τη λύση x 323 Να µετατρέψετε τον κώδικα του Ερωτήµατος 322 έτσι ώστε για τις τιµές του ω = 8, 9, 1,, 15 (i) να επιλύει το γραµµικό σύστηµα Ax = d και (ii) να υπολογίζει την τιµή του ω για την οποία επιτυγχάνεται το µικρότερο πλήθος επαναλήψεων 32 Στιγµιότυπα Αποτελεσµάτων 321 ίνεται το ακόλουθο τριδιαγώνιο γραµµικό σύστηµα : 2 1 1 2 = 4 omega =, niter = x [] = x [1] = 322 ίνεται το ακόλουθο τριδιαγώνιο γραµµικό σύστηµα : 4 1 1 4 1 1 4 = 2 5 1 omega =, niter = x [] = x [1] =
323 Για το γραµµικό σύστηµα του Ερωτήµατος 322, η εκτύπωση να είναι της ακόλουθης µορφής : omega niter 8 9 1 15 H timh toy omega me to mikrotero plithos epanalipsewn einai : omega = Οδηγίες για την παράδοση(υποβολή) της 3ης Εργασίας Σηµείωση : Ολες οι υλοποιήσεις της Εργασίας να γίνουν σε γλώσσα Προγραµµατισµού C Προσοχή : Η Εργασία είναι ατοµική (δηλαδή ο κάθε ϕοιτητής ϑα πρέπει να εργαστεί µόνος του και να παρουσιάσει στην παρούσα εργασία την προσωπική του προσπάθεια) Καταληκτική ηµεροµηνία υποβολής : Ο κάθε ϕοιτητής ϑα πρέπει εµπρόθεσµα να υποβάλει ηλεκτρονικά την 3η Εργασία στην e_class του µαθήµατος µέχρι και την ευτέρα 2112215 και ώρα 22:3 Για την υποβολή στην e_class πρέπει να επισυνάψετε ΜΟΝΟ ένα Φάκελο (συµπιεσµένο) µε όνοµα ERG3_xxxxxxx, όπου xxxxxxx τα τελευταία ψηφία του ΑΜ σας Μέσα στον ϕάκελο αυτό να περιέχονται τα ακόλουθα αρχεία : 1) Τα αρχεία erg311_xxxxxxx, erg312_xxxxxxx, erg313_xxxxxxx τα οποία ϑα περιέχουν µόνο τους πηγαίους (source) κώδικες για τα ερωτήµατα 311, 312, 313, αντίστοιχα 2) Τα αρχεία erg311_apotel_xxxxxxx, erg312_apotel_xxxxxxx, erg313_apotel_xxxxxxx τα ο- ποία ϑα περιέχουν αντίστοιχα τα στιγµιότυπα(print screen) των αποτελέσµάτων σας που προκύπτουν από την εκτέλεση των προγραµµάτων(κωδίκων) στο 31) 3) Τα αρχεία erg321_xxxxxxx, erg322_xxxxxxx, erg323_xxxxxxx τα οποία ϑα περιέχουν µόνο τους πηγαίους (source) κώδικες για τα ερωτήµατα 321, 322, 323, αντίστοιχα 4) Τα αρχεία erg321_apotel_xxxxxxx, erg322_apotel_xxxxxxx, erg323_apotel_xxxxxxx τα ο- ποία ϑα περιέχουν αντίστοιχα τα στιγµιότυπα(print screen) των αποτελέσµάτων σας που προκύπτουν από την εκτέλεση των προγραµµάτων(κωδίκων) στο 32)
ΠΡΟΣΟΧΗ 1 Είναι απαραίτητο στην αρχή του κάθε αρχείου (κώδικα, αποτελεσµάτων και κειµένου) να αναγρά- ϕετε το Ονοµατεπώνυµό σας και τον ΑΜ 2 Η Εργασία είναι ατοµική και σε περίπτωση αντιγραφής δεν ϐαθµολογείται 3 Η Εργασία ϑα πρέπει να λυθεί µε ϐάση τη ϑεωρία που έχετε διδαχθεί 4 Μετά την λήξη της καταληκτικής ηµεροµηνίας παράδοσης η εργασία δεν ϑα γίνεται δεκτή 5 Θα πρέπει να επισκέπτεστε συχνά την ιστοσελίδα (στην e-class) του µαθήµατος και να ενηµερώνεστε µε το σχετικό υλικό