Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεΔιόδοτος Βέργας Τροποποιήθηκε πριν 8 χρόνια
1
Προγραμματισμός Η/Υ Δουλεύοντας με πίνακες – Βασικές εντολές και ειδικός χειρισμός Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λάρισας Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής ΚΑΛΟΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Α.Π.Θ. Msc Τηλεπικοινωνίες Πολυτεχνική Σχολή Α.Π.Θ. Msc Προηγμένα Συστήματα Υπολογιστών και Επικοινωνιών Α.Π.Θ. Ειδίκευση στη διαχείριση έργων και κινδύνων Ε.Κ.Π.Α. β’ εξάμηνο – εργαστήριο
2
Γενικά για τους πίνακες Μονοδιάστατοι πίνακες Δισδιάστατοι πίνακες Εντολές στους πίνακες Περιεχόμενα Ειδικός χειρισμός ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο)
3
Γενικά για τους πίνακες Στα μαθηματικά (στο πεδίο της γραμμικής άλγεβρας) ως πίνακα εννοούμε μια ορθογώνια διάταξη αριθμών σε γραμμές και στήλες. Στον προγραμματισμό, στους πίνακες μπορούν να αποθηκευτούν και άλλοι τύποι μεταβλητών (όχι μόνο αριθμοί), π.χ. χαρακτήρες. Πίνακας (matrix, array) ονομάζεται μια ομάδα μεταβλητών ίδιου τύπου με ένα κοινό όνομα. Στοιχεία του πίνακα λέγονται οι επιμέρους απλές μεταβλητές που ανήκουν στον πίνακα. Δείκτες ενός στοιχείου του πίνακα λέγονται οι θετικοί ακέραιοι (ένας ή περισσότεροι)που δείχνουν τη θέση του στοιχείου στον πίνακα. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο)
4
Μονοδιάστατοι πίνακες Παράδειγμα % Ορισμοί πινάκων A = [8 7 5 9 10] % Πίνακας-γραμμή B = [-1;0;4] % Πίνακας-στήλη C = [12 -3] % Πίνακας-στήλη % Αντικατάσταση στοιχείων πίνακα A(2) = 9; A(3) = -7 % Πράξεις με στοιχεία πινάκων x = 2*A(5) – B(3) + 1 Αποτέλεσμα A = 8 7 5 9 10 B = 0 4 C = 12 -3 A =8 9 -7 9 10 x =17 ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο)
5
Δισδιάστατοι πίνακες Παράδειγμα % Ορισμός δισδιάστατου πίνακα A = [8 9 5 9 6 7 6 4 7 6] % Ορισμός μονοδιάστατου πίνακα- στήλης B = [0;0] Αποτέλεσμα A = 8 9 5 9 6 7 6 4 7 6 B = 0 0 ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο)
6
Εντολές στους πίνακες length –length(πίνακας) –Δίνει το μέγεθος της μεγαλύτερης διάστασης του πίνακα. Χρησιμοποιείται συνήθως στους μονοδιάστατους πίνακες, γιατί δίνει απ’ ευθείας το πλήθος των στοιχείων τους. size –size(πίνακας) –Δίνει το μέγεθος των διαστάσεων του πίνακα (σε μορφή μονοδιάστατου πίνακα γραμμής). Σε πίνακες δύο διαστάσεων, η πρώτη αντιστοιχεί στις γραμμές και η δεύτερη στις στήλες. Π.χ. αν ο πίνακας A έχει 2 γραμμές και 3 στήλες, τότε η size(A) έχει ως αποτέλεσμα τον πίνακα [2 3]. –size(πίνακας,n) –Δίνει το μέγεθος της n-οστής διάστασης του πίνακα. Για παράδειγμα, σε έναν πίνακα Α δύο διαστάσεων, η size(A,1) δίνει το πλήθος των γραμμών και η size(A,2) δίνει το πλήθος των στηλών. det –ορίζουσα = det(πίνακας) –Δίνει την ορίζουσα ενός τετράγωνου πίνακα (με ίσο αριθμό γραμμών και στηλών). inv –αντίστροφος = inv(πίνακας) –Δίνει τον αντίστροφο ενός τετράγωνου πίνακα. Αντίστροφος ενός πίνακα λέγεται αυτός που αν πολλαπλασιαστεί με τον αρχικό πίνακα έχει ως αποτέλεσμα το μοναδιαίο πίνακα (δηλαδή έναν πίνακα που έχει στην κύρια διαγώνιο μονάδες και παντού αλλού μηδενικά): A*B = I ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο)
7
Ειδικός χειρισμός των πινάκων στο MATLAB (1/5) Συναρτήσεις και τελεστές χειρισμού πινάκων ' (μονό εισαγωγικό: τελεστής ανάστροφου πίνακα) –ανάστροφος = πίνακας' –Δημιουργία του ανάστροφου (transpose) του πίνακα (γραμμές ως στήλες και αντιστρόφως), π.χ. B = A‘ reshape –πίνακαςpq = reshape(πίνακαςmn,p,q) –Μετασχηματίζει έναν m×n πίνακα σε p×q, αρκεί να ισχύει m×n=p×q (π.χ. από 2×6 σε 3×4). repmat –πίνακας2 = repmat(πίνακας1,m,n) –Δημιουργία του πίνακα2 που αποτελείται από m×n επαναλήψεις του πίνακα1. fliplr –πίνακας2 = fliplr(πίνακας1) –Δημιουργία του κατοπτρικού δεξιά-αριστερά ενός πίνακα. flipud –πίνακας2 = flipud(πίνακας1) –Δημιουργία του κατοπτρικού άνω-κάτω ενός πίνακα.. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο)
8
Ειδικός χειρισμός των πινάκων στο MATLAB (2/5) rot90 –πίνακας2 = rot90(πίνακας1) –Περιστροφή πίνακα κατά 90° αριστερόστροφα. tril –πίνακας2 = tril(πίνακας1) –Δημιουργία του πίνακα2 με το triu –πίνακας2 = triu(πίνακας1) –Δημιουργία του πίνακα2 με το άνω δεξιά τριγωνικό τμήμα του πίνακα1. diag –πίνακαςστήλη = diag(πίνακας) –Δημιουργία πίνακα-στήλη με την κύρια διαγώνιο του πίνακα. –πίνακας = diag(μονοδιάστατοςπίνακας) –Δημιουργία πίνακα που έχει ως κύρια διαγώνιο ένα μονοδιάστατο πίνακα. κάτω αριστερά τριγωνικό τμήμα του πίνακα1 ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο)
9
Ειδικός χειρισμός των πινάκων στο MATLAB (3/5) Συναρτήσεις ταξινόμησης πίνακα sort –Y = sort(X) –Αύξουσα ταξινόμηση κάθε στήλης (ξεχωριστά) του πίνακα X. –Y = sort(X,n,'ascend') ή Y = sort(X,n,'descend') –Αύξουσα ('ascend') ή φθίνουσα ταξινόμηση του πίνακα X κατά τη διάσταση n. sortrows –Υ = sortrows(X) –Ταξινόμηση των γραμμών του πίνακα X σύμφωνα με τις τιμές της πρώτης στήλης. –Υ = sortrows(X,C) –Ταξινόμηση των γραμμών του πίνακα X σύμφωνα με τις τιμές της στήλης C. –Αν C>0, η ταξινόμηση είναι αύξουσα, αν C<0, η ταξινόμηση είναι φθίνουσα. –Αν ο C είναι πίνακας-γραμμή, γίνεται ταξινόμηση πρώτα ως προς το πρώτο στοιχείο του C, μετά ως προς το δεύτερο κλπ. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο)
10
Ειδικός χειρισμός των πινάκων στο MATLAB (4/5) Ειδικοί πίνακες –zeros –πίνακας = zeros(m,n) –Δημιουργία μηδενικού πίνακα m×n. ones –πίνακας = ones(m,n) –Δημιουργία πίνακα m×n με όλα τα στοιχεία μονάδες. eye –πίνακας = eye(m) –Δημιουργία μοναδιαίου πίνακα m×m (δηλαδή τετράγωνου πίνακα με τα στοιχεία της κύ- –ριας διαγωνίου του ίσα με τη μονάδα και παντού αλλού μηδέν). rand randn –πίνακας = rand(m,n) –πίνακας = randn(m,n) –Δίνει έναν πίνακα m×n που τα στοιχεία του είναι τυχαίοι αριθμοί από 0 έως 1, κατανεμημένοι ομοιόμορφα (rand) ή ακολουθώντας την κανονική κατανομή (randn). ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο)
11
Ειδικός χειρισμός των πινάκων στο MATLAB (4/4) Στην πραγματικότητα οι αριθμοί που παράγονται από τις rand και randn είναι ψευδοτυχαίοι, δηλαδή δημιουργούνται από έναν αλγόριθμο και επαναλαμβάνονται με κάποια περίοδο (που στο MATLAB είναι 232). Σε κάθε εκκίνηση του MATLAB, οι ψευδοτυχαίοι αριθμοί ξεκινούν από το ίδιο αρχικό σημείο και, αν απαιτείται παραγωγή διαφορετικού ψευδοτυχαίου κατά την εκκίνηση του MATLAB, πρέπει η rand/randn να τεθεί σε άλλη κατάσταση, με την εντολή: rand('state',n), όπου n ένας ακέραιος από 0 έως 232-1. magic –πίνακας = magic(Ν) –Δημιουργία «μαγικού τετραγώνου» Ν×Ν (τετράγωνος πίνακας με όλους τους ακέραιους από 1 έως Ν^2 και με ίσο άθροισμα σε κάθε γραμμή, στήλη και διαγώνιο. linspace –πίνακας_γραμμή = linspace(a,b,n) –Δημιουργία πίνακα-γραμμής με n στοιχεία που απέχουν ίσες αποστάσεις από a έως b ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών - Τμήμα Πολιτικών Έργων Υποδομής - Προγραμματισμός Η/Υ (β’ εξάμηνο – εργαστήριο)
12
Προγραμματισμός Η/Υ ΚΑΛΟΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Α.Π.Θ. Msc Τηλεπικοινωνίες Πολυτεχνική Σχολή Α.Π.Θ. Msc Προηγμένα Συστήματα Υπολογιστών και Επικοινωνιών Α.Π.Θ. Ειδίκευση στη διαχείριση έργων και κινδύνων Ε.Κ.Π.Α. Δουλεύοντας με πίνακες – Βασικές εντολές και ειδικός χειρισμός Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λάρισας Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής β’ εξάμηνο – εργαστήριο
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.