6 η ΕΝΟΤΗΤΑ Δομές επανάληψης

Σχετικά έγγραφα
7 η ΕΝΟΤΗΤΑ Δομές επανάληψης (συνέχεια) Εντολές εισόδου/εξόδου (συνέχεια)

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB

8 η ΕΝΟΤΗΤΑ Συμβολοσειρές Δομές

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Δομημένος Προγραμματισμός

5 η ΕΝΟΤΗΤΑ Γραφήματα στο MATLAB

7 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

7 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ MATLAB

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

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

Ηλεκτρονικοί Υπολογιστές

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 5 ο : MATLAB

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

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

Διαδικαστικός Προγραμματισμός

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Λογιστικές Εφαρμογές Εργαστήριο

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

Ιστορία της μετάφρασης

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Θεωρία Πιθανοτήτων & Στατιστική

8 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Θεωρία Πιθανοτήτων & Στατιστική

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Υπολογιστικά & Διακριτά Μαθηματικά

Αυτοματοποιημένη χαρτογραφία

ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Λογισμός ΙΙ. Χρήστος Θ. Αναστασίου Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ψηφιακή Τεχνολογία σε Ακαδημαϊκό Περιβάλλον

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

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

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

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

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Υπολογιστικά Συστήματα

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

5 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Βέλτιστος Έλεγχος Συστημάτων

Διδάσκων: Νίκος Λαγαρός

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος

Εισαγωγή στους Αλγορίθμους

Δομημένος Προγραμματισμός

Θερμοδυναμική - Εργαστήριο

{ int a = 5; { int b = 7; a = b + 3;

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Υδραυλικά & Πνευματικά ΣΑΕ

1 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Μικροβιολογία & Υγιεινή Τροφίμων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Βέλτιστος Έλεγχος Συστημάτων

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

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. ΕΝΟΤΗΤΑ: Γραμμικές Συναρτήσεις Διάκρισης. ΔΙΔΑΣΚΟΝΤΕΣ: Βλάμος Π. Αυλωνίτης Μ. ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εισαγωγή στους Αλγορίθμους

9 η ΕΝΟΤΗΤΑ Συμβολικές πράξεις, ολοκληρώματα, παράγωγοι, διαφορικές εξισώσεις

Εισαγωγή στους Υπολογιστές

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Πληροφορική. Εργαστηριακή Ενότητα 2 η : Το βιβλίο εργασίας του MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Στατιστική Επιχειρήσεων Ι

Ιόνιο Πανεπιστήμιο - Τμήμα Πληροφορικής

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Πληροφορική. Εργαστηριακή Ενότητα 8 η : Γραφήματα

Ειδικά Θέματα Προγραμματισμού

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

ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ(Visual Basic)

Περιεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ. Ενότητα : ΥΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΣΥΣΤΗΜΑΤΩΝ

Transcript:

ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 6 η ΕΝΟΤΗΤΑ Δομές επανάληψης Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες Χρήσης Creative Commons. για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. 83

Περιεχομένα 1) η εντολή for 2) χρήση διανυσμάτων για την αποφυγή δομών επανάληψης 3) ανάγνωση εξωτερικών αρχείων 4) γραφήματα (συνέχεια) 5) μέθοδοι ολοκλήρωσης 84

δομές επανάληψης for loops Σύνταξη: for x = array ( εντολές ) end Παράδειγμα 1: >> for n = 1:10 >> disp(n) % η τιμή του n αλλάζει σε κάθε επανάληψη >> k = 50*n + 32; % η τιμή του k αλλάζει σε κάθε επανάληψη (δεν αποθηκεύεται όμως) >> A(n) = sin(n*pi/10); % η θέση n του μητρώου A παίρνει τιμή >> end >> Α % τυπώνονται οι τιμές του Α >> k % τυπώνεται η τελευταία τιμή του k = 50*10 + 32= 82 85

δομές επανάληψης (συνέχεια) Παράδειγμα 2: for i = 1:10 n(i)=i; x(n) = sin(n*pi/10); end plot(n,x,'k.-') xlabel('n','fontsize',18) ylabel('x','fontsize',18) Παρατηρήστε ότι το ίδιο αποτέλεσμα προκύπτει εάν χειριστούμε τα διανύσματα ως μεταβλητές (vectorized λύση): n = 1:10; x = sin(n*pi/10); plot(n,x,'k.-') Η χρήση του βρόγχου for δίνει ευελιξία προγραμματιστικά, υπολογιστικά όμως είναι σημαντικά χρονοβόρα και πρέπει να αποφεύγεται όπου αυτό είναι δυνατό (ειδικά στις πράξεις μητρώων). 86

δομές επανάληψης (συνέχεια) Παράδειγμα 3: figure(2) hold on; grid on; box on; n = 1:100; for i = 1:3 x = n.^(i/4); if i == 1 plot(n,x,'r-') elseif i == 2 plot(n,x,'b-','linewidth',2) elseif i == 3 plot(n,x,'g--','linewidth',3) end xlabel('n','fontsize',18) ylabel('x','fontsize',18) end 87

δομές επανάληψης (συνέχεια) Παράδειγμα 4: με την εντολή for μπορούμε να δώσε τιμές σε ένα μητρώο: >> for n = 1:5 >> for m = 5:-1:1 >> A(n,m) = n^2+m^2; >> end >> end ή να πολλαπλασιάσουμε μητρώα, διανύσματα κλπ: >> a = [0, -1, 4; 9, -14, 25; -34, 49, 64]; >> v = [4; -2; 10]; >> b = zeros(3,1); >> for i = 1:3 >> for j = 1:3 >> b(i)=b(i)+a(i,j)*v(j); >> end >> end Ελέγξετε το αποτέλεσμα του πολλαπλασιασμού με την πράξη: b = a*v 88

δομές επανάληψης (συνέχεια) Χρήσιμες εντολές είναι οι length και size: Έστω μητρώο Α διαστάσεων 3x4 size(a) δίνει τις διαστάσεις ενός μητρώου, δηλαδή 3x4 size(a,2) δίνει το μήκος της 2 ης διάστασης του μητρώου Α, δηλαδή 4 length(a,2) δίνει το μήκος της μεγαλύτερης διάστασης, δηλαδή 4 Τα παραπάνω αποτελέσματα μπορούμε να τα αποθηκεύουμε σε μεταβλητές: >> ss = size(a) >> ss = 3 4 >> a = [0, -1, 4, 4; 9, -14, 25, 5; -34, 49, 64, 7]; >> v = [1, -1, 9, 5] ; % το μας δίνει τον ανάστροφο >> b = zeros(3,1); >> for i = 1:size(a,1) >> for j = 1:length(v) >> b(i)= b(i) + a(i,j)*v(j); >> end >> end συγκρίνετε το αποτέλεσμα με την πράξη b = a*v 89

Ανάγνωση και γραφή σε αρχεία Το Μatlab διαβάζει και αποθηκεύει αρχεία δεδομένων διαφόρων μορφών, αρχεία onoma.mat διαβάζονται μόνο από το Matlab >> save('onomaarxeiou.mat','var_1','var_2','var_3') >> a = [0, -1, 4, 4; 9, -14, 25, 5; -34, 49, 64, 7]; >> v = [1, -1, 9, 5] ; >> k = panathinaikos ; >> save( kapoioonoma.mat, a, v, k ) Οι μεταβλητές a, v, k σώθηκαν στο αρχείο kapoioonoma.mat 90

Ανάγνωση και γραφή σε αρχεία Το αρχείο kapoioonoma.mat μπορεί να διαβαστεί μόνο από το Matlab με την εντολή load. >> clear % καθαρίζει όλες τις μεταβλητές από την μνήμη >> load(kapoioonoma.mat) >> disp(a) % επανέρχεται η τιμή του a >> disp(v) >> disp(k) 91

Ανάγνωση και γραφή σε αρχεία Απλά αρχεία κειμένου (αρχεία ASCII) διαβάζονται από όλους τους editors κειμένου (Σημειωματάριο, Word, κλπ) εντολές dlmread και dlmwrite Παράδειγμα: >> a = [0,-1,4,4,10; 9,-14,25,5,8;-34,49,64,7,98]; >> fname = 'onomaarxeiou.txt ; >> dlmwrite(fname,a') Το αρχείο onomaarxeiou.txt μπορούμε: α. απλά να το διαβάσουμε με κάποιο πρόγραμμα β. να φορτώσουμε τα περιεχόμενά του σε κάποιο μητρώο, π.χ. >> dd = dlmread('onomaarxeiou.txt') >> dd = load('onomaarxeiou.txt') Το αποτέλεσμα είναι το ίδιο, η load όμως είναι ισχυρότερη εντολή 92

Ανάγνωση και γραφή σε αρχεία αρχεία Excel ή/και csv (comma separated) εντολές xlsread και xlswrite Παράδειγμα: >> a = [0,-1,4,4,10; 9,-14,25,5,8;-34,49,64,7,98]; >> xlswrite('onomaarxeiou.xls',a') μορφοποιημένα αρχεία εντολές fprintf και fgetl, fgets Είναι ο ισχυρότερος τρόπος γραφής και ανάγνωσης δεδομένων από αρχεία ASCII, θα παρουσιαστεί σε επόμενη ενότητα. Δεν περιορίζει η γραφή και η ανάγνωση να είναι σε γραμμές και σε στήλες (όπως οι dlmread και dlmwrite). 93

Άλλες χρήσιμες συναρτήσεις Άλλες χρήσιμες συναρτήσεις για την διαχείριση αρχείων: dir cd pwd copyfile delete 94

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα Πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοιχτά Ακαδημαϊκά Μαθήματα Ε.Μ.Π.» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση. 95