Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Προγραμματισμός και Εφαρμογές Η/Υ (Ε) Ενότητα 6: Matlab Άσκηση 6 Δρ. Β.Χ. Μούσας, Αναπληρωτής Καθηγητής Τμήμα Πολιτικών Μηχανικών Τ.Ε. και Μηχανικών Τοπογραφίας.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Προγραμματισμός και Εφαρμογές Η/Υ (Ε) Ενότητα 6: Matlab Άσκηση 6 Δρ. Β.Χ. Μούσας, Αναπληρωτής Καθηγητής Τμήμα Πολιτικών Μηχανικών Τ.Ε. και Μηχανικών Τοπογραφίας."— Μεταγράφημα παρουσίασης:

1 Προγραμματισμός και Εφαρμογές Η/Υ (Ε) Ενότητα 6: Matlab Άσκηση 6 Δρ. Β.Χ. Μούσας, Αναπληρωτής Καθηγητής Τμήμα Πολιτικών Μηχανικών Τ.Ε. και Μηχανικών Τοπογραφίας & Γεωπληροφορικής Τ.Ε. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

2 Δεδομένα σε Πίνακες και σε Αρχεία 1/19 Μέρος Α, Εμβαδά Τριγωνικών Εκτάσεων από το μήκος των Πλευρών τους Ένας μηχανικός πραγματοποίησε τη καταμέτρηση μιας μεγάλης έκτασης (όπως στο παρακάτω σχήμα), η οποία ήταν χωρισμένη σε πολλά τριγωνικά τμήματα (1,2,3,…). Αφού μέτρησε τις αποστάσεις των κορυφών μεταξύ τους (δηλ. τις πλευρές των τριγωνικών τμημάτων), τις κατέγραψε σε μια λίστα στην οποία κάθε σειρά (1,2,3,…) αντιστοιχεί και σε ένα τριγωνικό τμήμα. 1

3 Δεδομένα σε Πίνακες και σε Αρχεία 2/19 2

4 Δεδομένα σε Πίνακες και σε Αρχεία 3/19 ΣΗΜ.2: Ο υπολογισμός του εμβαδού θα πρέπει να επαναληφθεί τόσες φορές όσα και τα τριγωνικά τμήματα (για τα a, b, c του κάθε τριγώνου). Αυτό το πετυχαίνουμε χρησιμοποιώντας την εντολή for. Στη for ορίζουμε πόσες επαναλήψεις θα κάνει (π.χ.: for i= 1:2) και ποιες εντολές θα επαναλάβει (ορισμός των a, b, c και υπολογισμός των t, E). ΣΗΜ.3: Όταν ο αριθμός των δεδομένων είναι μεγάλος, δεν μπορούμε να τα δίνουμε με το χέρι, γι’ αυτό τα τοποθετούμε από την αρχή σε ένα αρχείο (data1.txt) και λέμε στο πρόγραμμα να τα διαβάζει από εκεί. Με την εντολή: x = importdata('data1.txt'), το πρόγραμμα θα διαβάσει ότι έχει το αρχείο data1.txt και θα τα τοποθετήσει στον πίνακα x (μπορείτε να δώσετε την εντολή >>disp(x) για να δείτε τι περιέχει το x). Δημιουργήστε πρώτα το αρχείο data.txt με τα δυο πρώτα σετ δεδομένων: data1.txt :

5 Δεδομένα σε Πίνακες και σε Αρχεία 4/19 1. Αρχίστε με το παρακάτω πρόγραμμα το οποίο θα υπολογίσει και θα εμφανίσει το εμβαδό των δυο πρώτων τριγωνικών τμημάτων (trigemb.m). 4 Εντολές - Εξήγηση x = importdata('data1.txt'); (Διάβασμα των δεδομένων του αρχείου) for i = 1:2, (Επανάληψη για κάθε γραμμή-τρίγωνο) a = x(i,1); b = x(i,2); c = x(i,3); (Αντιστοίχιση τους στις 3 πλευρές) t = (a+b+c)/2; (ημιπερίμετρος) E = sqrt(t*(t-a)*(t-b)*(t-c)); (εμβαδό) disp(sprintf('%g %g %g %g %g',i,a,b,c,E)) (εμφάνιση/εκτύπωση) end (επόμενη γραμμή/τρίγωνο)

6 Δεδομένα σε Πίνακες και σε Αρχεία 5/19 Συγκρίνετε τα αποτελέσματα σας με τα παρακάτω, για να βεβαιωθείτε ότι δεν έχετε κάνει λάθη στους τύπους υπολογισμού του εμβαδού: >> trigemb

7 Δεδομένα σε Πίνακες και σε Αρχεία 6/19 2. Το πιο πάνω πρόγραμμα υπολογίζει μόνο τρία τριγωνικά τμήματα και επίσης δεν υπολογίζει το συνολικό εμβαδόν. Επιπλέον, τα αποτελέσματά του εμφανίζονται στην οθόνη χωρίς καμία περιγραφή ή εξήγηση. Για να ολοκληρωθεί το πρόγραμμά πρέπει να προσθέσουμε ή να τροποποιήσουμε μερικές εντολές. Για να κάνουμε το πρόγραμμα πιο ευέλικτο θα πρέπει η επανάληψη (for) να εκτελείται τόσες φορές όσα είναι και τα δεδομένα. Καθώς δεν ξέρουμε από την αρχή αν θα είναι 3, 6, ή, 60 τα δεδομένα μας, θα βάλουμε μία μεταβλητή Ν στη εντολή for (for i = 1:N) της οποίας τη τιμή θα τη βρίσκει το πρόγραμμα από το μέγεθος του αρχείου data.txt μόλις το διαβάσει ([N, M] = size(x)). 6

8 Δεδομένα σε Πίνακες και σε Αρχεία 7/19 Εκτός από τα εμβαδά των επιμέρους τριγώνων, μας ενδιαφέρει και το συνολικό εμβαδόν της έκτασης που προκύπτει αν προσθέσουμε όλα τα επιμέρους εμβαδά (Ε). Σε κάθε επανάληψη του for υπολογίζεται το Ε ενός μόνο τριγώνου. Θα χρησιμοποιήσουμε λοιπόν μια μεταβλητή S που θα παίζει το ρόλο αθροιστή και εκεί θα προσθέτουμε το νέο Ε που υπολογίζεται σε κάθε επανάληψη (S = S + E). Όταν τελειώσουν όλες οι επαναλήψεις, η S θα περιέχει το άθροισμα όλων των εμβαδών. 7

9 Δεδομένα σε Πίνακες και σε Αρχεία 8/19 Συμπληρώστε το αρχείο data.txt με τα υπόλοιπα σετ δεδομένων: data1.txt :

10 Δεδομένα σε Πίνακες και σε Αρχεία 9/19 Διορθώστε/προσθέστε τις εντολές και εκτελέστε το πρόγραμμα και ελέγξτε αν συμφωνεί με τα αποτελέσματα. 9 >> trigemb

11 Δεδομένα σε Πίνακες και σε Αρχεία 10/19 3. Οι τελικές βελτιώσεις στο πρόγραμμα αφορούν την εμφάνιση και την αποθήκευση των αποτελεσμάτων: Προσθέστε ετικέτες πάνω από τα αποτελέσματα που να εξηγούν τη κάθε στήλη, π.χ.: disp( ' a/a A B C EMBADON ' ) Προσθέστε ετικέτα στο συνολικό εμβαδόν, π.χ.: disp(sprintf(' SYNOLIKO EMBADON = %g', S)) 10

12 Δεδομένα σε Πίνακες και σε Αρχεία 11/19 Τα αποτελέσματα θα πρέπει να μοιάζουν με τα παρακάτω: 11 >> trigemb a/a A B C EMBADON SYNOLIKO EMBADON = 44.92

13 Δεδομένα σε Πίνακες και σε Αρχεία 12/19 4. Έχοντας πλέον ένα ολοκληρωμένο πρόγραμμα στα χέρια σας, χρησιμοποιήστε το για να υπολογίσετε το συνολικό εμβαδόν του παρακάτω σχήματος (ο συνεργάτης σας έκανε τις απαραίτητες 5 μετρήσεις, να υπολογίστε τις υπόλοιπες αποστάσεις από τα ορθογώνια τρίγωνα και μετά να τις βάλετε στο νέο data.txt). Πόσο θα είναι περίπου το αποτέλεσμα που περιμένετε: 56, 84, 76, ή, 98; 12 Τι αποτέλεσμα πήρατε τελικά από το πρόγραμμα; ___

14 Δεδομένα σε Πίνακες και σε Αρχεία 13/19 13

15 Δεδομένα σε Πίνακες και σε Αρχεία 14/19 ΣΗΜ.2: Όταν είναι μεγάλος ο αριθμός των δεδομένων, δεν τα δίνουμε με το χέρι αλλά τα τοποθετούμε σε ένα αρχείο (data2.txt) και το πρόγραμμα τα διαβάζει από εκεί με την εντολή: d = importdata('data2.txt'). 14

16 Δεδομένα σε Πίνακες και σε Αρχεία 15/19 1. Αρχίστε με τη πληκτρολόγηση του παρακάτω προγράμματος το οποίο υπολογίζει το εμβαδόν ενός τριγωνικού οικοπέδου (αριθμός κορυφών Ν = 3) 15 d = importdata('data2.txt'); d(4,:) = d(1,:); (gia na kleisei to polygwno) X = d(:,1); Y = d(:,2); S = 0; for i = 1:3 S = S + (Y(i+1)+Y(i))*(X(i+1)-X(i))/2; disp(sprintf(' %g ', X(i),Y(i))) end disp(sprintf('SYNOLIKO EMBADON = %g', S))

17 Δεδομένα σε Πίνακες και σε Αρχεία 16/19 Να δοκιμαστεί το πρόγραμμα για ένα τριγωνικό οικόπεδο με το παρακάτω σετ συντεταγμένων τριών (3) κορυφών που θα τοποθετήσετε στο αρχείο data2.txt: 16

18 Δεδομένα σε Πίνακες και σε Αρχεία 17/19 2. Να διορθωθεί/γενικευτεί το πρόγραμμα για να τρέχει για οποιοδήποτε αριθμό κορυφών Ν, και να εκτελεστεί για το παρακάτω σετ συντεταγμένων πέντε (5) κορυφών: 17 data2.txtΑποτελέσματα:Πολυγωνικό σχήμα EMBADON = 18

19 Δεδομένα σε Πίνακες και σε Αρχεία 18/19 3. Χρησιμοποιήστε ξανά το πρόγραμμά σας για να υπολογίσετε το εμβαδόν για το πολυγωνικό οικόπεδο που δίνεται στο παρακάτω σχήμα: 18 Τι αποτέλεσμα βρήκατε; ____

20 Δεδομένα σε Πίνακες και σε Αρχεία 19/19 4. Να ολοκληρώσετε το πρόγραμμα ώστε να σχεδιάζει το πολυγωνικό οικόπεδο από τα διανύσματα Χ και Υ, χρησιμοποιώντας την εντολή plot(). Προσθέστε τους σχετικούς τίτλους και ετικέτες (title(), xlabel(), ylabel()) στο διάγραμμα και να αναγράψετε και το εμβαδό με την εντολή text(). 19

21 Τέλος Ενότητας

22 Σημειώματα

23 Σημείωμα Αναφοράς Copyright Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας, Βασίλειος Μούσας Βασίλειος Μούσας. «Προγραμματισμός και Εφαρμογές Η/Υ. Ενότητα 6: Matlab Άσκηση 6». Έκδοση: 1.0. Αθήνα Διαθέσιμο από τη δικτυακή διεύθυνση: ocp.teiath.gr.ocp.teiath.gr

24 Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. Οι όροι χρήσης των έργων τρίτων επεξηγούνται στη διαφάνεια «Επεξήγηση όρων χρήσης έργων τρίτων». Τα έργα για τα οποία έχει ζητηθεί άδεια αναφέρονται στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

25 Επεξήγηση όρων χρήσης έργων τρίτων Δεν επιτρέπεται η επαναχρησιμοποίηση του έργου, παρά μόνο εάν ζητηθεί εκ νέου άδεια από το δημιουργό. © διαθέσιμο με άδεια CC-BY διαθέσιμο με άδεια CC-BY-SA διαθέσιμο με άδεια CC-BY-NC-SA διαθέσιμο με άδεια CC-BY-NC Επιτρέπεται η επαναχρησιμοποίηση του έργου και η δημιουργία παραγώγων αυτού με απλή αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού, και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Δεν επιτρέπεται η εμπορική χρήση του έργου. διαθέσιμο με άδεια CC-BY-ND Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η δημιουργία παραγώγων του έργου. διαθέσιμο με άδεια CC-BY-NC-ND Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου και η δημιουργία παραγώγων του. διαθέσιμο με άδεια CC0 Public Domain διαθέσιμο ως κοινό κτήμα Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. χωρίς σήμανσηΣυνήθως δεν επιτρέπεται η επαναχρησιμοποίηση του έργου.

26 Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει:  το Σημείωμα Αναφοράς  το Σημείωμα Αδειοδότησης  τη δήλωση Διατήρησης Σημειωμάτων  το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.

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


Κατέβασμα ppt "Προγραμματισμός και Εφαρμογές Η/Υ (Ε) Ενότητα 6: Matlab Άσκηση 6 Δρ. Β.Χ. Μούσας, Αναπληρωτής Καθηγητής Τμήμα Πολιτικών Μηχανικών Τ.Ε. και Μηχανικών Τοπογραφίας."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google