ΣΥΝΤΟΜΟ ΕΓΧΕΙΡΙΔΙΟ MATLAB

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΣΥΝΤΟΜΟ ΕΓΧΕΙΡΙΔΙΟ MATLAB"

Transcript

1 ΣΥΝΤΟΜΟ ΕΓΧΕΙΡΙΔΙΟ MATLAB ΚΩΝΣΤΑΝΤΙΝΟΣ ΔΙΑΜΑΝΤΑΡΑΣ Καθηγητής ΚΩΝΣΤΑΝΤΙΝΟΣ ΓΟΥΛΙΑΝΑΣ Επίκουρος Καθηγητής ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ Θεσσαλονίκη 2013 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 1

2 Περιεχόμενα 1. Τι Είναι το Matlab Δυνατότητες (Help: MATLAB->Getting Started ->Introduction->What Is MATLAB) Βιβλιοθήκες (Help: MATLAB->Functions -- Categorical List) Περιβάλλον Εργασίας (Help: MATLAB->Getting Started ->Desktop Tools and Development Environment) Εισαγωγή στο Matlab Βασικά Χαρακτηριστικά (Help: MATLAB->Programming) Μεταβλητές (Help: MATLAB->Programming-> Data Types) Μαθηματικές Συναρτήσεις Διανύσματα - Πίνακες στο Matlab Δημιουργία Διανυσμάτων (Help: MATLAB->Programming->Data Structures) Επεξεργασία Διανυσμάτων (Help: MATLAB->Functions by category->programming and Data Type- >Operators and Operations) Τελεστής του Ανάστροφου (Help:Search For: Transpose) Πρόσθεση - Αφαίρεση Διανυσμάτων Διαίρεση δύο Διανυσμάτων Το Εσωτερικό Γινόμενο δύο Διανυσμάτων Συναρτήσεις Διανυσμάτων Δημιουργία Πινάκων (Help: MATLAB->Programming->Data Structures) Επεξεργασία Πινάκων (Help: MATLAB->Functions by category->programming and Data Type- >Operators and Operations) Ανάστροφος Πίνακα 2 Διαστάσεων (Help:Search For: Transpose) Πράξεις μεταξύ Πινάκων και Διανυσμάτων Πράξεις μεταξύ Πινάκων Πρόσθεση - Αφαίρεση Πινάκων Πολλαπλασιασμός Πινάκων Διαίρεση Πινάκων Επιλογή Τμήματος Πίνακα Συνένωση Πινάκων Πίνακες Χαρακτήρων ( strings ) - cells Συναρτήσεις σε Πίνακες Δομές (Structures) (Help: MATLAB->External Interfaces->MATLAB Interface to Generic DLL->Data Conversion->Structures) Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 2

3 4. Προγραμματισμός στο Matlab Scripts (Help: Search for: script) Matlab Search Path (Help: MATLAB->Programming->Programming Tips->MATLAB Path) Είσοδος Τιμών από το Πληκτρολόγιο (Help:Search For: Input) Εμφάνιση Τιμών Μεταβλητών (Help:Search For: fprintf, disp) Η Εντολή if-else (Help: MATLAB->Programming->Basic Program Components->Program Control Statements) Η Εντολή switch (Help: MATLAB->Programming->Basic Program Components->Program Control Statements) Η Εντολή while (Help: MATLAB->Programming->Basic Program Components->Program Control Statements) Η Εντολή for (Help: MATLAB->Programming->Basic Program Components->Program Control Statements) Λογικοί Τελεστές (Help: MATLAB->Programming->Basic Program Components->Operators) Συναρτήσεις (Functions) (Help: MATLAB->Getting Started->Programming->Scripts and Functions- > Functions) Αρχεια Κειμενου στο Matlab Επεξεργασία Αρχείων Κειμένου (Help:Search For: Writing Text Data, Reading Text Data, fscanf, fprintf) Compiler & Debugger για M-Files Interpreter και Compiler (Help: MATLAB Compiler) Ο Editor/Debugger (Help: MATLAB -> Desktop Tools and Development Environment -> Editing and Debugging M-Files) Γραφικές Παραστάσεις Γραφικές Παραστάσεις 2 Διαστάσεων Εντολή plot Σύμβολα, Χρώματα και Γραμμές Η Εντολή hold on Η Εντολή subplot Αφαίρεση Αξόνων από Γράφημα ( Εντολή axis off ) Εισαγωγή Εικόνας σε Γράφημα ( Εντολές imread, image ) Εισαγωγή Κειμένου σε Γράφημα ( Εντολή gtext ) Αποθήκευση Γραφήματος σε μορφή pdf, tiff, Η Εντολή bar Η Εντολή stem Η Εντολή pause Γραφικές Παραστάσεις 3 Διαστάσεων Η Εντολή meshgrid Η Εντολή contour Η Εντολή meshc Η Εντολή surf Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 3

4 ΚΕΦΑΛΑΙΟ 1 ΤΙ ΕΙΝΑΙ ΤΟ MATLAB 1.1 Δυνατότητες (Help: MATLAB->Getting Started ->Introduction->What Is MATLAB) Το MATLAB ( MATrix LABoratory ) είναι ένα εργαλείο το οποίο αρχικά σχεδιάστηκε για μαθηματικό προγραμματισμό και το οποίο χρησιμοποιείται σήμερα ευρύτατα στην επιστημονική κοινότητα. Ωστόσο το MATLAB προσφέρει πάρα πολλές δυνατότητες στον προγραμματιστή, ώστε να μπορεί να θεωρηθεί πλέον ένα πολύ ισχυρό εργαλείο γενικού προγραμματισμού. Μερικά από τα κυριότερα χαρακτηριστικά του είναι : Προγραμματισμός σε γλώσσα scripting που μοιάζει πολύ με τη γλώσσα C. Τα αρχεία script έχουν κατάληξη.m. Εκτέλεση εντολών σε command line από interpreter για γρήγορη δοκιμή ενός προγράμματος, μιας εφαρμογής, ή μιας ιδέας. Δυνατότητα εκτέλεσης ενός script από το command line γράφοντας απλώς το όνομα του αρχείου script με ή χωρίς την κατάληξη.m. Δυνατότητα δημιουργίας αρχείων exe με χρήση compiler. Εύκολη διαχείριση πινάκων (matrices) και διανυσμάτων (vectors). Ολοκληρωμένο περιβάλλον editor/debugger (medit.exe). Καλείται από το κεντρικό παράθυρο του MATLAB όταν ζητήσουμε να ανοίξουμε ή να δημιουργήσουμε ένα νέο αρχείο, μπορεί όμως να εκτελεστεί και ως ανεξάρτητο πρόγραμμα. Εξαιρετικές δυνατότητες δημιουργίας γραφικών παραστάσεων εύκολα και γρήγορα. Γραφικές παραστάσεις 2, και 3 διαστάσεων. Προχωρημένες δυνατότητες όπως 3-D φωτισμός, αλλαγή οπτικής γωνίας, δημιουργία εικονοσειρών, κ.α.. Γραφικός προγραμματισμός. Δυνατότητα σχεδιασμού παραθύρων, κουμπιών, γραφικών μενού, κ.λ.π.. Πλήρης γκάμα δυνατοτήτων για σχεδιασμό Graphical User Interfaces (GUI). Εξαιρετικό εργαλείο βοήθειας Help. Με τόσες δυνατότητες που προσφέρει το MATLAB είναι πολύ εύκολο να ξεχάσεις τα ακριβή ορίσματα μιας συνάρτησης ή το όνομα της συνάρτησης που εκτελεί μια συγκεκριμένη εργασία. Το εργαλείο Help του MATLAB είναι πλήρες, λεπτομερές, εύχρηστο και εύκολο στην αναζήτηση της πληροφορίας που χρειάζεται ο χρήστης, ενώ περιέχει παραδείγματα και demos. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 4

5 1.2 Βιβλιοθήκες (Help: MATLAB->Functions -- Categorical List) Το MATLAB περιέχει μεγάλο πλήθος έτοιμων βιβλιοθηκών. Οι standard βιβλιοθήκες προσφέρουν έτοιμες συναρτήσεις για επεξεργασία αριθμών, διανυσμάτων, πινάκων, για δημιουργία plots, κ.λ.π.. Υπάρχει επίσης μεγάλη σειρά ειδικών βιβλιοθηκών που λέγονται εργαλειοθήκες (toolboxes) και ειδικεύονται σε μια επιστημονική περιοχή. Μερικά από τα πιο σημαντικά toolboxes είναι: Signal processing toolbox Image processing toolbox Neural networks toolbox Fuzzy Logic toolbox Statistics toolbox Optimization toolbox Communications toolbox Virtual Reality toolbox Database toolbox Control toolbox Symbolic math toolbox Financial toolbox Mapping toolbox Wavelet toolbox 1.3 Περιβάλλον Εργασίας (Help: MATLAB->Getting Started ->Desktop Tools and Development Environment) Η Εικόνα 1.1 δείχνει το βασικό παράθυρο εργασίας του MATLAB, το οποίο περιλαμβάνει :. Το Command Wndow, στο οποίο μπορούμε να πληκτρολογήσουμε το όνομα ενός εκτελέσιμου αρχείου, μια εντολή ή να δούμε τα αποτελέσματα των παραπάνω. Το Ιστορικό των εντολών που έχουμε δώσει στο Command Line, τις οποίες μπορούμε επίσης να ανακαλέσουμε απ το Command Window με τα βελάκια πάνωκάτω. Το Current Directory, το οποίο μπορούμε να το αλλάξουμε, αντί για το default C:\MATLAB\work. Τα περιεχόμενα του Current Directory, από όπου μπορούμε να ανοίξουμε με τον Editor ένα οποιοδήποτε αρχείο. Τα μενού File και Edit με τις αντίστοιχες λειτουργίες και δυνατότητες. Το μενού View, με τo οποίο επιλέγουμε τα παράθυρα που θα εμφανίζονται. Έτσι, μπορούμε να ανοίξουμε το παράθυρο Workspace, στο οποίο βλέπουμε τις μεταβλητές που έχουμε ορίσει και το χώρο που καταλαμβάνουν στη μνήμη καθώς και το παράθυρο Profiler που είναι ένα χρήσιμο εργαλείο για τη βελτιστοποίηση του κώδικά μας. Για ένα συγκεκριμένο πρόγραμμα (script) μας δείχνει πόσος χρόνος CPU σπαταλήθηκε από κάθε γραμμή του κώδικα, πόσες φορές εκτελέστηκε κάθε loop, κ.λ.π.. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 5

6 Περιεχόμενα του current directory Αλλαγή current directory Ιστορικό χρήσης εντολών command line για γρήγορη ανάκληση Παράθυρο command line Εικόνα 1.1 Το μενού-παράθυρο Help, ένα ολοκληρωμένο περιβάλλον αναζήτησης πληροφορίας μέσα στο πλήθος των εργαλειοθηκών, των εντολών, και των συναρτήσεων του MATLAB (Εικόνα 1.2) : Εικόνα 1.2 Στο παράθυρο αυτό μπορεί κανείς να αναζητήσει πληροφορίες : Κάνοντας πλοήγηση στον πίνακα περιεχομένων (Contents) Από τον ονομαστικό κατάλογο των εντολών/συναρτήσεων (Index) Με αναζήτηση με λέξεις κλειδιά (Search) Από προγράμματα επίδειξης (Demos) Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 6

7 ΚΕΦΑΛΑΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB 2.1 Βασικά Χαρακτηριστικά (Help: MATLAB->Programming) Το MATLAB είναι εξοπλισμένο με μια γλώσσα προγραμματισμού που μοιάζει πολύ με τη γλώσσα C. Η γλώσσα αυτή μπορεί να χρησιμοποιηθεί είτε στο command line για να γράφουμε μια-μια τις εντολές που θέλουμε να εκτελέσουμε είτε σε ένα αρχείο script με την κατάληξη.m. Με το που ξεκινάμε το MATLAB στο παράθυρο command line εμφανίζεται το prompt >> έτοιμο να δεχτεί τις εντολές που θα πληκτρολογήσουμε. Γραμμές εντολών Αν βρισκόμαστε στο command line μια γραμμή εντολών τελειώνει πατώντας <ENTER>. Αν γράφουμε κώδικα σε ένα αρχείο script μια γραμμή εντολών τελειώνει με new line. Αν μια εντολή είναι μεγάλη σε μήκος ή θέλουμε για οποιοδήποτε λόγο να την σπάσουμε σε πολλές γραμμές χρησιμοποιούμε τρεις τελείες. Οι τρεις τελείες σημαίνουν ότι η εντολή συνεχίζεται στην επόμενη γραμμή. Για παράδειγμα, ο παρακάτω κώδικας : fprintf('τιμές: Δευτέρα=%d, Τρίτη=%d, Τετάρτη=%d\n',... p1,... p2,... p3); αντιστοιχεί στην εντολή fprintf('τιμές: Δευτέρα=%d, Τρίτη=%d, Τετάρτη=%d\n', p1, p2, p3); Όπως το UNIX και η C, το MATLAB είναι ευαίσθητο στα μικρά και στα κεφαλαία γράμματα (case sensitive). Έτσι η μεταβλητή A δεν είναι ίδια με την μεταβλητή a. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 1

8 Σχόλια Τα σχόλια ξεκινούν με το σύμβολο % «επί τοις εκατό» και τελειώνουν στο τέλος της γραμμής. Μια ολόκληρη γραμμή είναι σχόλιο αν ξεκινάει με % Η χρήση του ; (semicolon) (Help: MATLAB->Programming->Basic Program Components -> Symbol Reference). Το σύμβολο ; στο τέλος μιας εντολής αποτρέπει την εμφάνιση του περιεχομένου μιας μεταβλητής στην οθόνη. Για παράδειγμα, η εντολή y = 3 θα κάνει την ανάθεση της τιμής 3 στο y και θα εμφανίσει στην οθόνη το εξής μήνυμα: y = 3 ενώ η εντολή y = 3; θα κάνει την ανάθεση της τιμής 3 στο y χωρίς να εμφανίσει τίποτα στην οθόνη. Βασικές πράξεις - Τελεστές (Help: MATLAB->Programming->Basic Program Components->Operators) Το MATLAB μπορεί να χρησιμοποιηθεί σαν μια απλή αριθμομηχανή χρησιμοποιώντας τις παρακάτω βασικές πράξεις ( Πίνακας 1 ). Σύμβολο + Πρόσθεση - Αφαίρεση * Πολλαπλασιασμός / Διαίρεση ^ Ύψωση σε δύναμη Πράξη Πίνακας 1 Παράδειγμα 1 >> Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 8

9 Παράδειγμα 2 >> Παράδειγμα 3 >> 15 * 2 30 Παράδειγμα 4 >> 20 / 2 10 Παράδειγμα 5 >> 2 ^ 3 8 Παρατήρηση Για την ακέραια διαίρεση μπορεί να χρησιμοποιηθεί ο τελεστής mod με παραμέτρους το Διαιρετέο και το Διαιρέτη, ο οποίος επιστρέφει το υπόλοιπο της διαίρεσης των 2 ακεραίων ή πραγματικών αριθμών. Παράδειγμα 1 >> mod(7,2) 1 Παράδειγμα 2 >> mod(6.5,2.5) Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 9

10 Προτεραιότητα πράξεων (Help: MATLAB->Programming->Basic Program Components->Operators- >Operator Precedence) Η προτεραιότητα των πράξεων στο MATLAB είναι ανάλογη με τους κανόνες προτεραιότητας των πράξεων της άλγεβρα. 1. Πρώτα εκτελούνται οι πράξεις στις παρενθέσεις από μέσα προς τα έξω. 2. Μετά εκτελούνται οι υψώσεις σε δύναμη. 3. Μετά εκτελούνται οι πολλαπλασιασμοί και οι διαιρέσεις από δεξιά προς τα αριστερά. 4. Τέλος εκτελούνται οι προσθέσεις και οι αφαιρέσεις από δεξιά προς τα αριστερά. Τελεστές Συσχέτισης (Help: MATLAB->Programming->Basic Program Components->Operators) Υπάρχουν οι παρακάτω τελεστές συσχέτισης, οι οποίοι σε απλές μεταβλητές επιστρέφουν την τιμή 1, αν η συσχέτιση είναι αληθής και το 0, αν δεν ισχύει : ( Πίνακας 2 ). Σύμβολο == Ίσον ~= Διάφορο > Μεγαλύτερο >= Μεγαλύτερο ή Ίσον < Μικρότερο <= Μικρότερο ή Ίσον Σύγκριση Πίνακας 2 Παράδειγμα 1 >> a = 1 a = 1 >> a > 0 1 Παράδειγμα 2 >> a < 0 0 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 10

11 Παράδειγμα 3 >> a == Μεταβλητές (Help: MATLAB->Programming-> Data Types) Όπως και στη C, οι μεταβλητές μπορούν να έχουν διάφορους τύπους, για παράδειγμα double, char, string, logical, κ.λ.π.. Αντίθετα με την C, ο τύπος των μεταβλητών του MATLAB που πρόκειται να χρησιμοποιηθούν παρακάτω στο πρόγραμμα δεν χρειάζεται να έχει δηλωθεί εκ των προτέρων. Έτσι π.χ., η εντολή >> x = 3; δημιουργεί αυτομάτως μια μεταβλητή x στο χώρο της μνήμης του προγράμματος (workspace) που έχει τον τύπο double. Αντίστοιχα η εντολή >> s = 'Hello!'; δημιουργεί αυτομάτως μια μεταβλητή τύπου string. Αν θέλουμε, μπορούμε να αλλάξουμε τον τύπο μιας μεταβλητής δίνοντάς της μια τιμή άλλου τύπου, ασχέτως ποιος ήταν ο προηγούμενος τύπος της μεταβλητής. Το MATLAB αλλάζει δυναμικά τον τύπο της καθώς τρέχει το πρόγραμμα ανάλογα με τις εντολές μας. Για παράδειγμα, με την εντολή >> a = 5.46; η μεταβλητή a έχει την double τιμή 5.46, ενώ με την εντολή >> a = 'King Kong'; η μεταβλητή a γίνεται τύπου string με τιμή 'King Kong' και η παλιά της τιμή τύπου double χάνεται. Για τη μετατροπή πραγματικών αριθμών σε ακέραιους ( όπως και στοιχείων πινάκων ), μπορούν να χρησιμοποιηθούν οι παρακάτω συναρτήσεις : Συνάρτηση fix(x) round(x) ceil(x) floor(x) Αποτέλεσμα Αποκοπή του δεκαδικού μέρους Στρογγύλευση στον πλησιέστερο ακέραιο Στρογγύλευση στον πλησιέστερο μεγαλύτερο ακέραιο του x Στρογγύλευση στον πλησιέστερο μικρότερο ακέραιο του x Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 11

12 Παραδείγματα Εντολή Αποτέλεσμα >> b = fix(3.4) b = 3 >> b = fix(3.9) b = 3 >> b = fix(-3.4) b = -3 >> b = fix(-3.9) b = -3 >> b = round(3.4) b = 3 >> b = round(3.9) b = 4 >> b = round(-3.4) b = -3 >> b = round(-3.9) b = -4 >> b = ceil(3.4) b = 4 >> b = ceil(3.9) b = 4 >> b = ceil(-3.4) b = -3 >> b = ceil(-3.9) b = -3 >> b = floor(3.4) b = 3 >> b = floor(3.9) b = 3 >> b = floor(-3.4) b = -4 >> b = floor(-3.9) b = Μαθηματικές Συναρτήσεις Το Matlab διαθέτει μια πλούσια βιβλιοθήκη με μαθηματικές συναρτήσεις, μερικές απ τις οποίες φαίνονται στον πίνακα που ακολουθεί : Συνάρτηση Αποτέλεσμα abs(x) Απόλυτη Τιμή sqrt(x) Τετραγωνική Ρίζα exp(x) x e Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 12

13 log(x) log10(x) sin(x) cos(x) tan(x) tanh(x) ln(x) log 10 x Ημίτονο Συνημίτονο Εφαπτομένη Υπερβολική Εφαπτομένη Πίνακας 3 Παράδειγμα 1 >> 1/(1+exp(-0.5)) Παράδειγμα 2 >> (exp(0.5)-exp(-0.5))/(exp(0.5)+exp(-0.5)) Παράδειγμα 3 >> tanh(0.5) Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 13

14 ΚΕΦΑΛΑΙΟ 3 ΔΙΑΝΥΣΜΑΤΑ - ΠΙΝΑΚΕΣ ΣΤΟ MATLAB 3.1 Δημιουργία Διανυσμάτων (Help: MATLAB->Programming->Data Structures) Τα διανύσματα και οι πίνακες μπορούν πολύ εύκολα να αναπαρασταθούν στο MATLAB χωρίς να χρειάζεται να δηλωθούν εκ των προτέρων. Ένα διάνυσμα μπορεί να πάρει τιμές με τους παρακάτω τρόπους : 1 ος Τρόπος Με ανάθεση τιμών, όπως στη C. Παράδειγμα 1 >> a = [1, -3, 2] Το αποτέλεσμα της προηγούμενης εντολής είναι η δημιουργία ενός διανύσματος γραμμής ή ενός πίνακα 1x3 ( 1 γραμμή, 3 στήλες ) : a = Το ίδιο αποτέλεσμα θα είχαμε με την εντολή : >> a = [1-3 2] Παρατήρηση Μπορούμε να προσπελάσουμε το στοιχείο 1 του διανύσματος a γράφοντας a(1) ( με τιμή 1 ) και γενικά το στοιχείο i του διανύσματος a γράφοντας a(i). Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 14

15 Παράδειγμα 2 >> b = [1; -3; 2] Το αποτέλεσμα της προηγούμενης εντολής είναι η δημιουργία ενός διανύσματος στήλης ή ενός πίνακα 3x1 ( 3 γραμμές, 1 στήλη ) : b = Το ίδιο αποτέλεσμα θα είχαμε με την εντολή : >> b = [1-3 2] Παρατηρήσεις Tο «,» διαχωρίζει τα στοιχεία ενός διανύσματος ή πίνακα που βρίσκονται στην ίδια γραμμή ενώ το ; (ελληνικό ερωτηματικό) δείχνει αλλαγή γραμμής. Το αν ένα διάνυσμα έχει δηλωθεί σαν γραμμή ή στήλη παίζει σημαντικό ρόλο στο γινόμενο διανύσματος επί διάνυσμα ή διανύσματος επί πίνακα. 2 ος Τρόπος Δημιουργώντας αριθμούς στη σειρά δίνοντας αρχή, τέλος, και προαιρετικά το βήμα. Αν παραβλέψουμε το βήμα τότε αυτό θεωρείται ίσο με 1. Στα παραδείγματα που ακολουθούν η αρχή, το τέλος και το βήμα μπορούν να είναι μεταβλητές ή σταθερές : Παράδειγμα 1 >> a = 0; step = 2; b = 6; >> x = a : step : b x = Το ίδιο αποτέλεσμα θα είχαμε με την εντολή : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 15

16 >> x = 0 : 2 : 6 x = Παράδειγμα 2 >> x = a : b x = Το ίδιο αποτέλεσμα θα είχαμε με την εντολή : >> x = 0 : 6 x = Παράδειγμα 3 >> y = 35 : -5 : 10 y = ος Τρόπος Με τις συναρτήσεις rand, randn, zeros, ones, linspace, logspace. Οι συναρτήσεις rand και randn Οι συναρτήσεις rand και randn δίνουν την δυνατότητα δημιουργίας τυχαίων αριθμών και απαιτούν δύο ορίσματα, το πλήθος των γραμμών και των στηλών του πίνακα που δημιουργείται. Η συνάρτηση rand παράγει τυχαίους αριθμούς με ομοιόμορφη κατανομή μεταξύ 0 και 1. Η συνάρτηση randn παράγει τυχαίους αριθμούς με Γκαουσσιανή κατανομή με μέση τιμή 0 και διασπορά 1 ( γνωστή σαν «κανονική κατανομή» ). Παράδειγμα 1 >> x = rand(1,3); % Δημιουργεί τον πίνακα x με 1 γραμμή και 3 στήλες και τυχαίες τιμές στο (0,1). Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 16

17 x = Παράδειγμα 2 >> x = rand(3,1); % Δημιουργεί τον πίνακα x με 3 γραμμές και 1 στήλη και τυχαίες τιμές στο (0,1). x = Παράδειγμα 3 >> x = rand(1,1); % Δημιουργεί τον πίνακα x με 1 γραμμή και 1 στήλη ( απλή μεταβλητή ) και τυχαία τιμή στο (0,1). Παράδειγμα 4 >> x = randn(1,3); % Δημιουργεί τον πίνακα x με 1 γραμμή και 3 στήλες και τυχαίες τιμές με Γκαουσσιανή κατανομή. x = Οι συναρτήσεις zeros, ones Οι συναρτήσεις zeros, ones γεμίζουν έναν πίνακα με μηδενικά ή μονάδες. Παράδειγμα 1 >> x = zeros (1,3); % Δημιουργεί τον πίνακα x με 1 γραμμή και 3 στήλες και τιμές 0 Παράδειγμα 2 >> x = ones (3,1); % Δημιουργεί τον πίνακα x με 3 γραμμές και 1 στήλη και τιμές 1 Οι συναρτήσεις linspace, logspace Η συνάρτηση linspace(<αρχή>, <τέλος>, <αριθμός στοιχείων>) δημιουργεί ένα διάνυσμα με στοιχεία όσα και ο <αριθμός στοιχείων> με τιμές από την <αρχή> μέχρι το <τέλος>. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 17

18 Η συνάρτηση logspace(<αρχή>, <τέλος>, <αριθμός στοιχείων>) δημιουργεί ένα διάνυσμα με στοιχεία όσα και ο <αριθμός στοιχείων> με τιμές το 10 υψωμένο στη δύναμη από την <αρχή> μέχρι το <τέλος>. Παράδειγμα 1 >> a = linspace(0,10,5) a = Παράδειγμα 2 >> a = logspace(0,4,5) a = Επεξεργασία Διανυσμάτων (Help: MATLAB->Functions by category->programming and Data Type- >Operators and Operations) Το MATLAB προσφέρει βασικές λειτουργίες δημιουργίας και επεξεργασίας πινάκων. Τα διανύσματα είναι απλώς ειδικές περιπτώσεις πινάκων όπου η μια διάσταση έχει μήκος 1. Οι πράξεις μεταξύ διανυσμάτων και αριθμών είναι απλούστατες και χρησιμοποιούν τους τελεστές των βασικών πράξεων : Πρόσθεση αριθμού σε διάνυσμα : >> a = [1 2 3] a = >> a Αφαίρεση αριθμού από διάνυσμα : >> a Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 18

19 Πολλαπλασιασμός διανύσματος με σταθερά : >> a* Διαίρεση διανύσματος με σταθερά : >> a/ Ύψωση διανύσματος σε δύναμη : >> a^2??? Error using ==> mpower Matrix must be square. Παρατηρήσεις Ό τελεστής ^ όταν χρησιμοποιείται σε διανύσματα ή πίνακες ισοδυναμεί με τον πολλαπλασιασμό του διανύσματος ή πίνακα με τον εαυτό του, τόσες φορές, όσες είναι η τιμή του εκθέτη. Στο προηγούμενο παράδειγμα, η εντολή a^2 ισοδυναμεί με το a*a, το οποίο δεν μπορεί να γίνει, γιατί το διάνυσμα έχει διάσταση 1x3. Για να υψωθεί κάθε στοιχείο του διανύσματος a στο τετράγωνο, θα πρέπει ο τελεστής ^ να χρησιμοποιηθεί με την τελεία., δηλαδή : Παράδειγμα >> a.^ Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 19

20 3.2.1 Τελεστής του Ανάστροφου (Help:Search For: Transpose) Στα μαθηματικά ένα διάνυσμα συμβολίζεται με ένα μικρό γράμμα boldface, πχ., a, b, c, d,... και αποτελείται από n στοιχεία γραμμένα ανάμεσα σε τετράγωνες αγκύλες [ ]. Κατά πάγια σύμβαση των μαθηματικών θεωρείται ότι ένα διάνυσμα είναι μια στήλη και όχι μια γραμμή. Φυσικά μπορούμε να μετατρέψουμε τη στήλη σε γραμμή και τη γραμμή σε στήλη χρησιμοποιώντας τον τελεστή του αναστρόφου (transpose) που συμβολίζεται στα μαθηματικά με το γράμμα T υψωμένο σε εκθέτη. Στο MATLAB για την αναστροφή χρησιμοποιείται το σύμβολο ' : Παράδειγμα 1 >> a = [1 2 3] a = >> a' Πρόσθεση - Αφαίρεση Διανυσμάτων Για να γίνει η Πρόσθεση ή η Αφαίρεση 2 διανυσμάτων θα πρέπει να έχουν δηλωθεί και τα 2 σαν διανύσματα-γραμμές ή στήλες, διαφορετικά θα πρέπει να χρησιμοποιηθεί στο ένα απ αυτά ο τελεστής του αναστρόφου και το νέο διάνυσμα που προκύπτει περιέχει το άθροισμα ή τη διαφορά των αντίστοιχων στοιχείων των 2 διανυσμάτων. Παράδειγμα 1 >> a = [1 2 3] a = >> b = [4 5 6] b = >> c= [7;8;9] Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 20

21 c = >> a+b Παράδειγμα 2 >> a-b Παράδειγμα 3 >> a+c Διαίρεση δύο Διανυσμάτων Για να γίνει η Διαίρεση 2 διανυσμάτων χρησιμοποιείται ο τελεστής «./». Τα διανύσματα θα πρέπει να έχουν δηλωθεί και τα 2 σαν διανύσματα-γραμμές ή στήλες, διαφορετικά θα πρέπει να χρησιμοποιηθεί στο ένα απ αυτά ο τελεστής του αναστρόφου και το νέο διάνυσμα που προκύπτει περιέχει το πηλίκο των αντίστοιχων στοιχείων των 2 διανυσμάτων. Παράδειγμα >> a./b Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 21

22 3.2.4 Το Εσωτερικό Γινόμενο δύο Διανυσμάτων Η έννοια του εσωτερικού γινομένου είναι θεμελιώδης στη γραμμική άλγεβρα και θα μας φανεί ιδιαίτερα χρήσιμη. Σύμφωνα με τον ορισμό του το εσωτερικό γινόμενο δύο διανυσμάτων a και b είναι το άθροισμα του γινομένου των στοιχείων τους. Αν τα στοιχεία του διανύσματος a είναι a(1), a(2),, a(n) και τα στοιχεία του διανύσματος b είναι b(1), b(2),, b(n) το εσωτερικό τους γινόμενο θα είναι το a(1)*b(1) + a(2) *b(2) + + a(n) *b(n). Για να γίνει ο πολλαπλασιασμός στο Matlab θα πρέπει οι στήλες του αριστερού διανύσματος να είναι όσες και οι γραμμές του δεξιού. Με άλλα λόγια το αριστερό διάνυσμα πρέπει να είναι μια γραμμή n στοιχείων ενώ το δεξί πρέπει να είναι μια στήλη n στοιχείων. Προφανώς τα δύο διανύσματα πρέπει να έχουν το ίδιο πλήθος στοιχείων, δηλαδή το ίδιο μήκος. Παρατηρήσεις Το εσωτερικό γινόμενο είναι ένας απλός αριθμός, (όχι διάνυσμα). Αν τα 2 διανύσματα a, b είναι γραμμές, το δεξί (b) πρέπει να αναστραφεί για να γίνει στήλη, ενώ το αριστερό (a) μένει ως έχει. Αν τα 2 διανύσματα a, b είναι στήλες, το αριστερό (a) πρέπει να αναστραφεί για να γίνει γραμμή ενώ το δεξί (b) μένει ως έχει. Παράδειγμα 1 >> a1=[1 2 3] a1 = >> a2=[4;5;6] a2 = >> b1=[7 8 9] b1 = Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 22

23 >> b2=[10;11;12] b2 = >> a1*b1??? Error using ==> mtimes Inner matrix dimensions must agree. Παρατήρηση Επειδή τα 2 διανύσματα a1, b1 είναι γραμμές, θα πρέπει να αντιστραφεί το b1 : Παράδειγμα 2 >> a1*b1' 50 Το εσωτερικό τους γινόμενο είναι 1*7 + 2*8 + 3*9 = = 50 Παράδειγμα 3 >> a1*b2 68 Παράδειγμα 4 >> b2*a2??? Error using ==> mtimes Inner matrix dimensions must agree. Παρατήρηση Επειδή τα 2 διανύσματα b2, a2 είναι στήλες, θα πρέπει να αντιστραφεί το b2 : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 23

24 Παράδειγμα 5 >> b2'*a2 167 Παρατήρηση Μπορούμε να χρησιμοποιήσουμε και τη συνάρτηση dot για τον υπολογισμό του εσωτερικού γινομένου, όπου δεν έχει σημασία αν τα διανύσματα είναι γραμμές ή στήλες : Παράδειγμα 6 >> dot(a1,a2) 32 Παράδειγμα 7 >> dot(a1,b1) 50 Παράδειγμα 8 >> dot(a2,b2) Συναρτήσεις Διανυσμάτων Το Matlab διαθέτει τις παρακάτω συναρτήσεις, οι οποίες έχουν σαν όρισμα ένα διάνυσμα : Τη συνάρτηση length, η οποία επιστρέφει το μήκος ( αριθμό στοιχείων ) του διανύσματος. Παράδειγμα >> a = [1 4 8]; Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 24

25 >> n = length(a) n = 3 Τη συνάρτηση max, η οποία επιστρέφει την τιμή του μεγίστου στοιχείου του διανύσματος. Παράδειγμα >> max_el = max(a) max_el = 8 Παρατήρηση Αν θέλουμε η συνάρτηση max να μας επιστρέψει και τη θέση του μεγίστου στοιχείου, χρησιμοποιούμε μια ακόμη μεταβλητή για τη θέση και τις βάζουμε σε αγκύλες, όπως φαίνεται στο παράδειγμα που ακολουθεί : Παράδειγμα >> [max_el thesi_max] = max(a) max_el = thesi_max = 8 3 Τη συνάρτηση min, η οποία επιστρέφει την τιμή του ελαχίστου στοιχείου του διανύσματος. Παράδειγμα >> min_el = min(a) min_el = 1 Παρατήρηση Αν θέλουμε η συνάρτηση min να μας επιστρέψει και τη θέση του ελαχίστου στοιχείου, χρησιμοποιούμε μια ακόμη μεταβλητή για τη θέση και τις βάζουμε σε αγκύλες, όπως φαίνεται στο παράδειγμα που ακολουθεί : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 25

26 Παράδειγμα >> [min_el thesi_min] = min(a) min_el = 1 thesi_min = 1 Τη συνάρτηση sum, η οποία επιστρέφει το άθροισμα των στοιχείων του διανύσματος. Παράδειγμα >> sum(a) 13 Τη συνάρτηση prod, η οποία επιστρέφει το γινόμενο των στοιχείων του διανύσματος. Παράδειγμα >> prod(a) 32 Τη συνάρτηση norm, η οποία επιστρέφει την ευκλείδια νόρμα του διανύσματος, δηλαδή την τετραγωνική ρίζα του αθροίσματος των στοιχείων του διανύσματος υψωμένα στο τετράγωνο. Παράδειγμα >> n = norm(a) n = 9 ( = η ρίζα του 81 = ) Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 26

27 Τη συνάρτηση sort, η οποία επιστρέφει τα στοιχεία του διανύσματος ταξινομημένα. Παράδειγμα >> a = [1 3-2] a = >> sort(a) Τη συνάρτηση find, η οποία επιστρέφει τις θέσεις των στοιχείων του διανύσματος τα οποία ικανοποιούν μια συνθήκη. Παράδειγμα 1 >> a = [1 3-2]; >> find(a>0) 1 2 επειδή τα στοιχεία a(1) = 1 και a(2) = 3 είναι μεγαλύτερα απ το μηδέν. Παράδειγμα 2 >> find(a==-2) 3 επειδή το στοιχείο a(3) = -2. Παρατήρηση Οι βασικές μαθηματικές συναρτήσεις του Πίνακα 3, αν χρησιμοποιηθούν σε διανύσματα, έχουν σαν αποτέλεσμα τη δημιουργία ενός νέου διανύσματος με στοιχεία το αποτέλεσμα της εφαρμογής της συνάρτησης σε κάθε στοιχείο του αρχικού διανύσματος. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 27

28 Παράδειγμα >> a = [1 2 3] a = >> sqrt(a) Δημιουργία Πινάκων (Help: MATLAB->Programming->Data Structures) Ένας πίνακας 2 διαστάσεων μπορεί να πάρει τιμές με τους παρακάτω τρόπους : 1 ος Τρόπος Με ανάθεση τιμών, όπως στη C. Παράδειγμα >> Α = [1, 2, 3; 4, 5, 6] Το αποτέλεσμα της προηγούμενης εντολής είναι η δημιουργία ενός πίνακα 2x3 ( 2 γραμμές, 3 στήλες ) : A = Παρατηρήσεις Το ίδιο αποτέλεσμα θα είχαμε με την εντολή : >> Α = [ ] ή με την εντολή : >> A = [1 2 3;4 5 6] Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 28

29 Μπορούμε να προσπελάσουμε το στοιχείο (i,j) του πίνακα Α γράφοντας Α(i,j). Οι πίνακες πρέπει να αποτελούνται από γραμμές του ιδίου μήκους, αλλιώς έχουμε σφάλμα. 2 ος Τρόπος Δημιουργώντας αριθμούς στη σειρά δίνοντας αρχή, τέλος, και προαιρετικά το βήμα, όπως και στα διανύσματα : Παράδειγμα >> A = [1:3;4:6] A = ος Τρόπος Με τις συναρτήσεις rand, randn, zeros, ones : Παράδειγμα 1 >> A = rand(2,3) % Δημιουργεί τον πίνακα Α με 2 γραμμές και 3 στήλες και τυχαίες τιμές στο (0,1). A = Παράδειγμα 2 >> A = rand(2,2) % Δημιουργεί τον πίνακα Α με 2 γραμμές και 2 στήλες και τυχαίες τιμές στο (0,1). A = Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 29

30 Παρατήρηση Το ίδιο αποτέλεσμα θα είχαμε με την εντολή : >> A = rand(2) Παράδειγμα 3 >> A = randn(2) % Δημιουργεί τον πίνακα Α με 2 γραμμές και 2 στήλες και τυχαίες τιμές με Γκαουσσιανή κατανομή. A = Παράδειγμα 4 >> Α = zeros (3,3) % Δημιουργεί τον πίνακα Α με 3 γραμμές και 3 στήλες και τιμές 0 Παρατήρηση Το ίδιο αποτέλεσμα θα είχαμε με την εντολή : >> Α = zeros (3); Παράδειγμα 5 >> x = ones (3,4); % Δημιουργεί τον πίνακα Α με 3 γραμμές και 4 στήλες και τιμές 1 Παρατήρηση Σημειώστε ότι το MATLAB επιτρέπει επίσης την δημιουργία 3- διάστατων, 4- διάστατων πινάκων, κ.λ.π Επεξεργασία Πινάκων (Help: MATLAB->Functions by category->programming and Data Type- >Operators and Operations) Το MATLAB προσφέρει βασικές λειτουργίες δημιουργίας και επεξεργασίας πινάκων. Οι πράξεις μεταξύ διανυσμάτων και αριθμών είναι απλούστατες και χρησιμοποιούν τους τελεστές των βασικών πράξεων : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 30

31 Πρόσθεση αριθμού σε Πίνακα : >> A = [1 2 3;4 5 6] A = >> A Αφαίρεση αριθμού από Πίνακα : >> Α Πολλαπλασιασμός σταθεράς με Πίνακα : >> Α* Διαίρεση Πίνακα με σταθερά : >> Α/ Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 31

32 Ύψωση Πίνακα σε δύναμη : >> Α^2??? Error using ==> mpower Matrix must be square. Παρατηρήσεις Η εντολή Α^2 ισοδυναμεί με το Α*Α, το οποίο δεν μπορεί να γίνει, γιατί ο Πίνακας έχει διάσταση 2x3. Για να υψωθεί κάθε στοιχείο του Πίνακα Α στο τετράγωνο, θα πρέπει ο τελεστής ^ να χρησιμοποιηθεί με την τελεία., δηλαδή : >> Α.^ Ύψωση Τετραγωνικού Πίνακα σε δύναμη : Αν ο Πίνακας είναι Τετραγωνικός ( ίδιος αριθμός γραμμών-στηλών ), ο τελεστής «^» μπορεί να χρησιμοποιηθεί χωρίς την τελεία : Παράδειγμα >> B = [1:2;3:4] B = >> B^ Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 32

33 3.4.1 Ανάστροφος Πίνακα 2 Διαστάσεων (Help:Search For: Transpose) Όπως και στα διανύσματα, με τον τελεστή του αναστρόφου οι γραμμές του Πίνακα γίνονται στήλες και οι στήλες του γραμμές : Παράδειγμα >> A = [1 2 3;4 5 6] A = >> A' Πράξεις μεταξύ Πινάκων και Διανυσμάτων Για να γίνει ο πολλαπλασιασμός ενός Πίνακα με ένα διάνυσμα θα πρέπει οι γραμμές του διανύσματος να είναι όσες και οι στήλες του Πίνακα. Αν δημιουργήσουμε τους πίνακες Α και x : >> A = [1 2 3;4 5 6] A = >> x = [7 8 9] x = και χρησιμοποιήσουμε την εντολή : >> A*x θα πάρουμε το μήνυμα λάθους Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 33

34 ??? Error using ==> mtimes Inner matrix dimensions must agree. γιατί ο Πίνακας A είναι 2x3 και το διάνυσμα x είναι 1x3, οπότε δεν μπορεί να γίνει ο πολλαπλασιασμός. Για να γίνει ο πολλαπλασιασμός θα πρέπει οι στήλες του πίνακα Α να είναι όσες και οι γραμμές του διανύσματος x, οπότε πρέπει να χρησιμοποιήσουμε την εντολή : >> A*x' και το αποτέλεσμα που παίρνουμε είναι ο πίνακας : Ο Πίνακας A είναι 2x3 και το διάνυσμα x είναι 3x1, οπότε μπορεί να γίνει ο πολλαπλασιασμός και ο πίνακας που προκύπτει είναι 2x Πράξεις μεταξύ Πινάκων Πρόσθεση - Αφαίρεση Πινάκων Για να γίνει ο πρόσθεση ή αφαίρεση ενός Πίνακα με ή από ένα άλλον Πίνακα θα πρέπει οι 2 Πίνακες να έχουν τις ίδιες διαστάσεις. Αν δημιουργήσουμε τους πίνακες Α, Β και C : >> A = [1 2 3;4 5 6] A = >> B = [7 8 9; ] B = >> C = [1 2;3 4] C = Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 34

35 και χρησιμοποιήσουμε την εντολή : >> A+C??? Error using ==> plus Matrix dimensions must agree. παίρνουμε το παραπάνω μήνυμα λάθους, γιατί ο Πίνακας Α είναι 2x3, ενώ ο Πίνακας Β είναι 2x2. Η πρόσθεση μπορεί να γίνει μεταξύ των Πινάκων Α και Β που είναι 2x3, αν χρησιμοποιήσουμε την εντολή : >> A + B ενώ η αφαίρεση Πινάκων γίνεται με την εντολή : >> A - B Πολλαπλασιασμός Πινάκων Για να γίνει ο πολλαπλασιασμός ενός Πίνακα Α με ένα άλλον Πίνακα Β θα πρέπει οι γραμμές του Πίνακα Β να είναι όσες και οι στήλες του Πίνακα Α. Αν π.χ. χρησιμοποιήσουμε την εντολή : >> A*B??? Error using ==> mtimes Inner matrix dimensions must agree. παίρνουμε το παραπάνω μήνυμα λάθους, γιατί ο Πίνακας Α είναι 2x3 και ο Πίνακας Β είναι 2x3. Ο πολλαπλασιασμός μπορεί να γίνει μεταξύ των Πινάκων Α και Β που είναι 2x3 και 3x2, αν χρησιμοποιήσουμε την εντολή : >> A*B' Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 35

36 Παρατήρηση Αν στον τελεστή «*» χρησιμοποιήσουμε την τελεία, θα προκύψει ένας νέος πίνακας με στοιχεία το αποτέλεσμα του γινομένου των αντίστοιχων στοιχείων των 2 Πινάκων. Οι 2 Πίνακες όμως πρέπει να έχουν τις ίδιες διαστάσεις. Παράδειγμα >> A.*B Διαίρεση Πινάκων Αν χρησιμοποιήσουμε τον τελεστή «/» στους Πίνακες Α, Β >> X = A/B X = θα πάρουμε τον Πίνακα Χ που είναι η λύση του συστήματος εξισώσεων Χ*Β = Α. Με την «.» όμως πριν τον τελεστή «/», θα πάρουμε έναν Πίνακα ίδιων διαστάσεων που τα στοιχεία του είναι το πηλίκο του κάθε στοιχείου του Πίνακα Α με το αντίστοιχο στοιχείο του Πίνακα Β : >> A./B Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 36

37 Επιλογή Τμήματος Πίνακα Έστω ότι δημιουργούμε τον πίνακα A με την εντολή : >> Α = [1, 2, 3, 4; 5, 6, 7, 8; 9, 10, 11, 12] με αποτέλεσμα την εμφάνιση του πίνακα Α(3x4) : Α = Μπορούμε να επιλέξουμε τμήματα του πίνακα όπως φαίνεται στα παραδείγματα που ακολουθούν : Παράδειγμα 1 >> A1 = A(2,1:3) % Επιλέγουμε μόνο τη γραμμή 2 και τις στήλες 1,2,3 Α1 = Παράδειγμα 2 >> A2 = A(2,1:4) % Επιλέγουμε μόνο τη γραμμή 2 και όλες τις στήλες Α2 = Παράδειγμα 3 >> A3 = A(2,:) % Επιλέγουμε μόνο τη γραμμή 2 και όλες τις στήλες Α3 = Παράδειγμα 4 >> A4 = A(:,1:2) % Επιλέγουμε όλες τις γραμμές και τις στήλες 1,2 Α4 = Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 37

38 Παράδειγμα 5 >> A5 = A(:,1) % Επιλέγουμε όλες τις γραμμές και μόνο τη στήλη 1 Α5 = Παράδειγμα 6 >> A6 = A(1:2,1:2) % Επιλέγουμε τις γραμμές 1 έως 2 και τις στήλες 1 έως 2 Α6 = Συνένωση Πινάκων Μπορούμε αντίστοιχα να συνενώσουμε 2 πίνακες, αρκεί να συμφωνεί ο αριθμός των γραμμών ή των στηλών τους. Παράδειγμα 1 >> A = [1 2 3;4 5 6] A = >> B = [7 8 9; ; ] B = Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 38

39 >> [A;B] Οι Πίνακες Α, Β έχουν τον ίδιο αριθμό στηλών, οπότε ο νέος Πίνακας περιέχει τις 2 γραμμές του Πίνακα Α και τις 3 γραμμές του Πίνακα Β. Παράδειγμα 2 >> [A,B]??? Error using ==> horzcat CAT arguments dimensions are not consistent. Δεν μπορεί να γίνει η συνένωση, γιατί οι Πίνακες Α, Β έχουν διαφορετικό αριθμό γραμμών. Παράδειγμα 3 >> [A,B(1:2,:)] Οι Πίνακες Α, Β(1:2,:) έχουν τον ίδιο αριθμό γραμμών, οπότε ο νέος Πίνακας περιέχει τις 3 στήλες του Πίνακα Α και τις 3 στήλες του Πίνακα Β(1:2,:) Πίνακες Χαρακτήρων ( strings ) - cells Τα στοιχεία ενός διανύσματος ή ενός πίνακα δεν είναι απαραίτητα αριθμοί. Μπορεί να είναι χαρακτήρες αφού οι χαρακτήρες αναπαριστώνται εσωτερικά με τους ASCII κωδικούς τους, δηλαδή με αριθμούς. Έτσι τα strings δεν είναι τίποτα άλλο παρά διανύσματα από χαρακτήρες. Ένα string μπορεί να δηλωθεί δίνοντας τον κάθε χαρακτήρα ή όλους τους χαρακτήρες μαζί, όπως φαίνεται στα παραδείγματα που ακολουθούν : Παράδειγμα 1 >> a = ['M','a','t','l','a','b'] a = Matlab Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 39

40 Παράδειγμα 2 >> b = ['Matlab'] b = Matlab Παρατήρηση 1 Μπορούμε να προσπελάσουμε κάποιον χαρακτήρα με το όνομα του πίνακα και τη θέση του χαρακτήρα στο string, όπως φαίνεται στο παράδειγμα που ακολουθεί : >> b(1) M Παρατήρηση 2 Με τον ίδιο τρόπο μπορούμε να δημιουργήσουμε και έναν πίνακα χαρακτήρων 2 διαστάσεων, αρκεί το κάθε string να περιέχει τον ίδιο αριθμό χαρακτήρων : Παράδειγμα >> A = ['Hello';'There'] A = Hello There Στο παραπάνω παράδειγμα, ο πίνακας A έχει διαστάσεις 2x5. Παρατήρηση 3 Δεν μπορούμε να δημιουργήσουμε έναν πίνακα με strings διαφορετικού μήκους το καθένα. Στην περίπτωση αυτή χρησιμοποιούμε τα «κελιά» - cells όπως στο παράδειγμα που ακολουθεί : >> B = {'Good', 'Morning'} B = 'Good' 'Morning' Η μεταβλητή B είναι ένας πίνακας με διαστάσεις 1x4 όπου τα στοιχεία του είναι τύπου cell. Τα cells δεν είναι strings. Αν θέλουμε να χρησιμοποιήσουμε, π.χ, το string 'Good' που αντιστοιχεί στο B(1) γράφουμε B{1} (προσέξτε τη διαφορά στις αγκύλες). Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 40

41 >> B{1} 'Good' Αν θέλουμε να χρησιμοποιήσουμε, π.χ, τον πρώτο χαρακτήρα του string 'Good' γράφουμε B{1} (1) : >> B{1}(1) G 3.5 Συναρτήσεις σε Πίνακες Μερικές από τις συναρτήσεις που μπορούν να χρησιμοποιηθούν σε Πίνακες 2 διαστάσεων είναι οι size, max, min, sum, prod. Η συνάρτηση size επιστρέφει τον αριθμό γραμμών και στηλών του Πίνακα : >> A = [1 2 3;4 5 6]; >> [lin col] = size(a) lin = 2 col = 3 >> max(a) Η συνάρτηση max επιστρέφει ένα διάνυσμα γραμμή που το κάθε στοιχείο του είναι το μέγιστο στοιχείο κάθε στήλης του αρχικού Πίνακα : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 41

42 >> min(a) Η συνάρτηση min επιστρέφει ένα διάνυσμα γραμμή που το κάθε στοιχείο του είναι το ελάχιστο στοιχείο κάθε στήλης του αρχικού Πίνακα : H συνάρτηση sum επιστρέφει το άθροισμα των στοιχείων της κάθε στήλης του Πίνακα. Παράδειγμα >> sum(α) Η συνάρτηση prod επιστρέφει το γινόμενο των στοιχείων της κάθε στήλης του Πίνακα. Παράδειγμα >> prod(α) Δομές (Structures) (Help: MATLAB->External Interfaces->MATLAB Interface to Generic DLL->Data Conversion->Structures) Το struct είναι ένας τύπος δεδομένων που μπορεί να δημιουργηθεί από τον χρήστη. Η struct() παίρνει ως ορίσματα το όνομα του πεδίου και δίπλα την τιμή του πεδίου. Τα πεδία είναι απλά ονόματα για τις τιμές. Οι τιμές μπορεί να είναι και πίνακες. Η παρακάτω εντολή είναι ένα παράδειγμα δημιουργίας ενός struct το οποίο περιέχει τρεις μεταβλητές την Course, την color και την numbers. >> s = struct('course', {'Machine','Learning'}, 'color', {'red'}, 'numbers', {3 4}) Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 42

43 s = 1x2 struct array with fields: Course color numbers Για να προσπελάσουμε μία τιμή από ένα struct γράφουμε το εξής: >> s.course Machine Learning >> s.color red red >> s.numbers Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 43

44 ΚΕΦΑΛΑΙΟ 4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟ MATLAB 4.1 Scripts (Help: Search for: script) Ένα script είναι ένα εξωτερικό αρχείο που περιέχει μία σειρά από εντολές MATLAB. Με την πληκτρολόγηση του ονόματος του αρχείου στο command line εκτελούνται όλες οι εντολές του script με την σειρά. Τα scripts έχουν επέκταση ονόματος αρχείου.m και συνήθως ονομάζονται και M-Files. Τα script μπορούν να χρησιμοποιήσουν υπάρχοντα δεδομένα από το workspace ή να δημιουργήσουν νέα. Αν και τα script δεν επιστρέφουν τιμές, όποια μεταβλητή δημιούργησαν παραμένει στο workspace. 4.2 Matlab Search Path (Help: MATLAB->Programming->Programming Tips->MATLAB Path) To Matlab search path είναι τα directories στα οποία ψάχνει το MATLAB για υπάρχουσες μεταβλητές, functions, scripts, M-Files, αρχεία και άλλες δομές του MATLAB. Η σειρά με την οποία ψάχνει είναι η παρακάτω. 1. Μεταβλητές 2. Subfunctions 3. Private Functions 4. Class Constructors 5. Overloaded Methods 6. M-File που βρίσκεται στον παρόν κατάλογο 7. Τέλος, M-File που βρίσκεται στο path ή build-in functions του MATLAB Παράδειγμα Έστω ότι καλούμε ένα M-File με το όνομα trainnet.m. >> trainnet Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 44

45 Αφού εκτελέσουμε αυτή την εντολή το MATLAB αρχικά ψάχνει στο search path για μία μεταβλητή με το όνομα trainnet, αν δεν βρει τότε ψάχνει για μία subfunction κτλ. To path είναι ο παρών φάκελος (current directory), στον οποίο ψάχνει το MATLAB. Στην Εικόνα 8.1 φαίνεται η θέση του current directory. Για να εισάγουμε ένα φάκελο στο search path μπορούμε να το κάνουμε με δύο τρόπους, είτε από το toolbar File->Set Path είτε από το command window με την εντολή addpath. >> addpath('c:\matlab_projects') Τέλος για να δούμε όλο το search path του MATLAB πληκτρολογούμε την εντολή matlabpath στο command window. 4.3 Είσοδος Τιμών από το Πληκτρολόγιο (Help:Search For: Input) Για να εισάγουμε μία τιμή σε μία μεταβλητή από το πληκτρολόγιο χρησιμοποιούμε την εντολή input. Σαν όρισμα της input είναι το μήνυμα που θέλουμε να εμφανιστεί πριν την είσοδο. Παράδειγμα >> n = input('δώσε αριθμό : ') Αν στην εμφάνιση του μηνύματος εισάγουμε τον αριθμό 5, θα αποθηκευθεί στη μεταβλητή n. Δώσε αριθμό : 5 n = 5 Αν θέλουμε να αποθηκευθεί η είσοδος σε μεταβλητή τύπου string, θα πρέπει να συμπεριλάβουμε μετά το μήνυμα και το όρισμα s. Παράδειγμα >> chr = input('θα συνεχίσεις Υ/Ν : ','s') Θα συνεχίσεις Υ/Ν : Υ chr = Υ Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 45

46 4.4 Εμφάνιση Τιμών Μεταβλητών (Help:Search For: fprintf, disp) Για να εμφανίσουμε την τιμή μίας μεταβλητής, διανύσματος ή Πίνακα χρησιμοποιούμε τις εντολές disp και fprintf. Με την εντολή disp περνάμε σαν όρισμα τη μεταβλητή. Αν πρόκειται για πραγματικούς αριθμούς, εμφανίζονται στρογγυλοποιημένοι σε 4 δεκαδικά ψηφία. Παράδειγμα 1 >> n = 5 n = 5 >> disp(n) 5 Παράδειγμα 2 >> p = p = >> disp(p) Παράδειγμα 3 >> a = [1 3-2] a = >> disp(a) Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 46

47 Παράδειγμα 4 >> A = [1 2 3;4 5 6] A = >> disp(a) Παρατήρηση 1 Μπορούμε να εμφανίσουμε τις τιμές των μεταβλητών με 15 δεκαδικά ψηφία, αν χρησιμοποιήσουμε την εντολή format long. Παράδειγμα 5 >> format long >> disp(pi) Παρατήρηση 2 Οι τιμές των μεταβλητών εμφανίζονται με 4 δεκαδικά ψηφία, γιατί by default ενεργοποιείται η εντολή format short. Παράδειγμα 6 >> format short >> disp(pi) Παρατήρηση 3 Το pi και το eps είναι δεσμευμένεις λέξεις για τις τιμές του π και του αριθμού μηχανής ή της σταθεράς σχετικής ακρίβειας που είναι 2^-52 για πραγματικούς αριθμούς διπλής ακρίβειας. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 47

48 Παράδειγμα 7 >> format long >> disp(eps) e-016 Παρατήρηση 4 Με την εντολή disp μπορούμε να εμφανίζουμε και μηνύματα, τα οποία περικλείονται σε απλούς αποστρόφους. Παράδειγμα 8 >> disp('pinakas') Pinakas Με την εντολή fprintf περνάμε σαν όρισμα τη μεταβλητή και τον αντίστοιχο προσδιοριστή, όπως και στη C, με τον οποίο καθορίζουμε και το πλήθος των δεκαδικών ψηφίων που θα εμφανιστούν. Παράδειγμα 1 >> fprintf('%12.8f\n', pi) Παράδειγμα 2 >> a = [1 3-2] a = >> fprintf('%12.8f', a) >> Παρατήρηση 1 Επειδή υπάρχει μόνο ένας προσδιοριστής %12.8f στην εντολή, χρησιμοποιείται τόσες φορές όσα και τα στοιχεία του διανύσματος. Αν χρησιμοποιήσουμε και αλλαγή γραμμής, τα στοιχεία θα εμφανιστούν σε στήλη : Παράδειγμα 2 >> fprintf('%12.8f\n',a) Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 48

49 Παράδειγμα 3 >> A = [1 2 3;4 5 6] A = >> fprintf('%12.8f', A) >> Παρατήρηση 2 Τα στοιχεία του πίνακα 2 διαστάσεων εμφανίζονται διατρέχοντας τις στήλες με τη σειρά. Αν θέλουμε να εμφανιστούν κατά γραμμές, θα πρέπει να χρησιμοποιήσουμε τον τελεστή του αναστρόφου. Παράδειγμα 4 fprintf('%12.8f\n', A ) Παρατήρηση 3 Αν θέλουμε να εμφανιστούν όλα τα στοιχεία και μετά να αλλάξουμε γραμμή, θα πρέπει να χρησιμοποιήσουμε προσδιοριστές, όσα και τα στοιχεία του διανύσματος ή της γραμμής του Πίνακα, όπως φαίνεται στα παραδείγματα που ακολουθούν. Παράδειγμα 5 >> fprintf('%12.8f %12.8f %12.8f\n', a) Παράδειγμα 6 >> fprintf('%12.8f %12.8f %12.8f\n', A ) Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 49

50 Παρατήρηση 3 Μπορούμε να εμφανίσουμε και μηνύματα στην ίδια εντολή fprintf. Παράδειγμα 7 >> fprintf('π = %12.8f\n', pi) π = Παρατήρηση 4 Με την εντολή fprinf μπορούμε να εμφανίσουμε και τις τιμές ακεραίων αριθμών με τον προσδιοριστή %d. Παράδειγμα 8 >> a = 5 a = 5 >> fprintf('%d\n',a) 5 Παρατήρηση 5 Με την εντολή fprinf μπορούμε να εμφανίσουμε και τις τιμές αλφαριθμητικών χαρακτήρων, string με τον προσδιοριστή %s και χαρακτήρων με τον προσδιοριστή %c. Παράδειγμα 10 >> onoma = 'kostas' onoma = kostas >> fprintf('%s\n',onoma) kostas Παράδειγμα 11 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 50

51 >> fprintf('%c\n',onoma(1)) K 4.5 Η Εντολή if-else (Help: MATLAB->Programming->Basic Program Components->Program Control Statements) Η σύνταξη της εντολής if είναι παρόμοια με αυτή της C, Java με την προσθήκη ενός end στο τέλος της εντολής. Παράδειγμα >> age = input('δώσε Ηλικία : ') >> if (age<=18) fprintf( Νέος\n'); elseif (age<=65) fprintf( Ενήλικας\n'); else fprintf( Ηλικιωμένος\n'); end Παρατηρήστε ότι στην εντολή if-then-else αν έχουμε πάνω από δύο περιπτώσεις μπορούμε να χρησιμοποιήσουμε το elseif. 4.6 Η Εντολή switch (Help: MATLAB->Programming->Basic Program Components->Program Control Statements) Η σύνταξη της εντολής switch - case είναι παρόμοια με αυτή της C, Java με την προσθήκη ενός end στο τέλος της εντολής, ενώ οι τιμές που θα παίρνει η μεταβλητή για κάθε περίπτωση, θα πρέπει να είναι ακέραιες. Παράδειγμα >> tekna = input('δώσε Αριθμό Παιδιών >= 1 : ') >> switch (tekna) case 1 fprintf( Απαλλαγή 2000 ΕΥΡΩ\n'); case 2 fprintf( Απαλλαγή 4000 ΕΥΡΩ\n'); case 3 fprintf( Απαλλαγή 6000 ΕΥΡΩ\n'); otherwise fprintf( Απαλλαγή ΕΥΡΩ\n'); end Περισσότερες επιλογές σε μια γραμμή case μπαίνουν σε άγγιστρα. Π.χ. case {1,2} Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 51

52 4.7 Η Εντολή while (Help: MATLAB->Programming->Basic Program Components->Program Control Statements) Η σύνταξη της εντολής while είναι παρόμοια με αυτή της C, Java με την προσθήκη ενός end στο τέλος της εντολής. Παράδειγμα i = 0; a = 5; while (i <= a) i = i + 1; fprintf( i = %12.0f\n', i); end Το παραπάνω τμήμα κώδικα θα έχει το παρακάτω αποτέλεσμα : i = 1 i = 2 i = 3 i = 4 i = Η Εντολή for (Help: MATLAB->Programming->Basic Program Components->Program Control Statements) Η σύνταξη της εντολής for είναι παρόμοια με αυτή της C, Java με την προσθήκη ενός end στο τέλος της εντολής. Παράδειγμα for i = 1:5 fprintf( i = %12.0f\n', i); end Το παραπάνω τμήμα κώδικα θα έχει το ίδιο αποτέλεσμα με το προηγούμενο παράδειγμα. Παρατήρηση 1 Με την εντολή continue μπορούμε να αγνοήσουμε την εκτέλεση του κώδικα για κάποια τιμή στην επανάληψη. Παράδειγμα for i = 1:5 if ( i == 3 ) continue end; fprintf( i = %12.0f\n', i); end; Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 52

53 Το παραπάνω τμήμα κώδικα θα έχει το παρακάτω αποτέλεσμα : i = 1 i = 2 i = 4 i = 5 Παρατήρηση 2 Η διακοπή από ένα βρόχο μπορεί να γίνει με την εντολή break. Παράδειγμα sum = 0; for i = 1: if ( sum > 20 ) break end; sum = sum + i; end; fprintf( i = %12.0f sum = %12.0f\n', i, sum); Το παραπάνω τμήμα κώδικα θα έχει το παρακάτω αποτέλεσμα : i = 5 sum = Λογικοί Τελεστές (Help: MATLAB->Programming->Basic Program Components->Operators) Για την ένωση 2 λογικών εκφράσεων χρησιμοποιούμε τους παρακάτω λογικούς τελεστές : Σύμβολο Λογικό OR & Λογικό AND Short-circuit OR && Short-circuit AND Σύγκριση Πίνακας 4 Οι τελεστές τύπου Short-circuit χρησιμοποιούνται για να ενώσουν δύο λογικές εκφράσεις, π.χ. (a==2) (b(2)>8). Η διαφορά από το κοινό OR (ή AND &) είναι ότι η δεύτερη λογική έκφραση (b(2)>8) δεν υπολογίζεται αν δεν χρειάζεται, αν δηλαδή το αποτέλεσμα είναι γνωστό από την πρώτη κιόλας έκφραση. Π.χ. αν η πρώτη έκφραση είναι true τότε το λογικό OR θα δώσει true άσχετα από την τιμή της δεύτερης έκφρασης ενώ, αντίστοιχα, αν η πρώτη έκφραση είναι false τότε το λογικό AND θα δώσει false άσχετα από την τιμή της δεύτερης έκφρασης. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 53

54 4.10 Συναρτήσεις (Functions) (Help: MATLAB->Getting Started->Programming->Scripts and Functions-> Functions) Οι functions είναι M-Files πού δέχονται δεδομένα ως είσοδο και επιστρέφουν δεδομένα ως έξοδο. Το όνομα του M-File και της function πρέπει να είναι ίδιο. Οι functions πρέπει να βρίσκονται στο ίδιιο workspace με το πρόγραμμα που τις καλεί. Η πρώτη γραμμή του M-File που περιέχει τον κώδικα της συνάρτησης ξεκινά με την λέξη function. Έπειτα δίνουμε το όρισμα ή τα ορίσματα ( παραμέτρους εξόδου ) στις οποίες θα επιστρέψει το αποτέλεσμα = το όνομα της συνάρτησης και σε παρένθεση το όρισμα ή τα ορίσματα με τα οποία θα περάσουν οι τιμές στη συνάρτηση ( παραμέτρους εισόδου ). Παράδειγμα 1 Ας υποθέσουμε πως γράψαμε ένα M-File με όνομα testfun1.m, το οποίο διαβάζει την τιμή μιας μεταβλητής n και δημιουργεί με τη συνάρτηση randn n τυχαίες τιμές. Το πρόγραμμα θα πρέπει να εφαρμόσει τη Βηματική Συνάρτηση σε κάθε στοιχείο του πίνακα u και να επιστρέψει το αποτέλεσμα στο πρόγραμμα μέσω του πίνακα v με την κλήση της function step01.m. Ο κώδικας του προγράμματος testfun1.m θα μπορούσε να περιέχει τα εξής : clear; clc; n = input ( 'Δώσε n : '); u = randn(1,n); disp('u = '); disp(u); v = step01(u, n); disp('v = '); disp(v); Ο κώδικας της συνάρτησης step01.m θα μπορούσε να περιέχει τα εξής : function v = step01(u, n); for i = 1 : n if ( u(i) > 0 ) v(i) = 1; else v(i) = 0; end %if end; %for Με το τρέξιμο του προγράμματος θα δούμε τα παρακάτω : Δώσε n : 5 u = Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 54

55 v = Παρατήρηση 1 Αν θέλουμε η Βηματική Συνάρτηση να εφαρμόζεται κάθε φορά στο στοιχείο u(i) του πίνακα u και και να επιστρέψει το αποτέλεσμα στο πρόγραμμα στο στοιχείο v(i) του πίνακα v με την κλήση της function step01.m, θα πρέπει να τροποποιήσουμε τον κώδικα του προγράμματος και της συνάρτησης. Ο κώδικας του προγράμματος testfun2.m θα πρέπει να περιέχει τα εξής : clear; clc; n = input ( 'Δώσε n : '); u = randn(1,n); disp('u = '); disp(u); for i = 1 : n v1 = step01(u, i); v(i) = v1; end %for disp('v = '); disp(v); Ο κώδικας της συνάρτησης step01.m θα μπορούσε να περιέχει τα εξής : function v = step01(u, i); if ( u(i) > 0 ) v = 1; else v = 0; end %if Με το τρέξιμο του προγράμματος θα δούμε τα παρακάτω : Δώσε n : 5 u = v = Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 55

56 Παρατήρηση 2 Για να δηλώσουμε μία function με παραπάνω από δύο ορίσματα εξόδου θα πρέπει να τα βάλουμε σε αγγύλες. Θα μπορούσαμε να τροποποιήσουμε τον κώδικα του προγράμματος testfun1.m και της συνάρτησης step01.m ώστε να επιστρέφει εκτός από τον πίνακα v και έναν πίνακα με τις θέσεις των στοιχείων του πίνακα v που έχουν την τιμή 1. Ο κώδικας του προγράμματος testfun3.m θα μπορούσε να περιέχει τα εξής : clear; clc; n = input ( 'Δώσε n : '); u = randn(1,n); disp('u = '); disp(u); [v, one] = step01(u, n); disp('v = '); disp(v); disp('ones = '); disp(one); Ο κώδικας της συνάρτησης step01.m θα μπορούσε να περιέχει τα εξής : function [v, one] = step01(u, n); for i = 1 : n if ( u(i) > 0 ) v(i) = 1; else v(i) = 0; end %if end %for one = find(v==1); Με το τρέξιμο του προγράμματος θα δούμε τα παρακάτω : Δώσε n : 5 u = v = ones = 2 4 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 56

57 ΚΕΦΑΛΑΙΟ 5 ΑΡΧΕΙΑ ΚΕΙΜΕΝΟΥ ΣΤΟ MATLAB 5.1 Επεξεργασία Αρχείων Κειμένου (Help:Search For: Writing Text Data, Reading Text Data, fscanf, fprintf) Το MATLAB δίνει την δυνατότητα εγγραφής και ανάγνωσης αρχείων κειμένου. Για να γίνει εγγραφή σε ένα αρχείο κειμένου θα πρέπει να ανοίξουμε το αρχείο, όπως φαίνεται στο παρακάτω παράδειγμα : outf = fopen('test.txt','w'); Με την εντολή fopen δημιουργούμε το αρχείο με όνομα 'test.txt', στο οποίο δίνουμε το λογικό όνομα outfile. Ο προσδιοριστής 'w' χρησιμοποιείται για να δηλώσουμε ότι το αρχείο είναι για γράψιμο ( write ). Για να γράψουμε το περιεχόμενο μιας μεταβλητής στο αρχείο χρησιμοποιούμε την εντολή fprintf προσδιορίζοντας και το λογικό όνομα του αρχείου. Παράδειγμα 1 >> onoma = 'kostas' onoma = kostas >> fprintf(outf,'%s\n', onoma) 7 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 57

58 Με την προηγούμενη εντολή το περιεχόμενο της μεταβλητής onoma γράφεται στην πρώτη γραμμή του αρχείου 'test.txt'. Το 6 σημαίνει ότι έχουν γραφεί 6 χαρακτήρες και μια αλλαγή γραμμής. Αν ανοίξουμε το αρχείο θα δούμε την παρακάτω εικόνα : 1 kostas 2 Με παρόμοιο τρόπο μπορούμε να γράψουμε και τις τιμές κάποιων ακέραιων ή πραγματικών μεταβλητών ή Πινάκων στο αρχείο, για όσο το έχουμε ανοιχτό. Παράδειγμα 2 >> a = 5 a = 5 >> b = 3.14 b = >> fprintf(outf,'%d %f\n', a, b) 11 Με την προηγούμενη εντολή το περιεχόμενο των μεταβλητών a και b γράφονται στη δεύτερη γραμμή του αρχείου 'test.txt'. Το 11 σημαίνει ότι έχουν γραφεί 10 χαρακτήρες και μια αλλαγή γραμμής. Αν ανοίξουμε το αρχείο θα δούμε την παρακάτω εικόνα : 1 kostas Παράδειγμα 3 >> pina = [1 2 3] pina = >> fprintf(outf,'%f %f %f\n', pina); Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 58

59 Με την προηγούμενη εντολή το περιεχόμενο του διανύσματος pina γράφεται στην τρίτη γραμμή του αρχείου 'test.txt'. Αν ανοίξουμε το αρχείο θα δούμε την παρακάτω εικόνα : 1 kostas Όταν τελειώσουμε με την εγγραφή δεδομένων στο αρχείο, θα πρέπει να το κλείσουμε με την εντολή : fclose(outf); Για να γίνει ανάγνωση από ένα αρχείο κειμένου θα πρέπει να ανοίξουμε το αρχείο, όπως φαίνεται στο παρακάτω παράδειγμα : inf = fopen('test.txt','r'); Με την εντολή fopen ανοίγουμε το αρχείο με όνομα 'test.txt', στο οποίο δίνουμε το λογικό όνομα inf. Ο προσδιοριστής 'r' χρησιμοποιείται για να δηλώσουμε ότι το αρχείο είναι για ανάγνωση ( read ). Για να διαβάσουμε το περιεχόμενο του αρχείου σε μια μεταβλητή χρησιμοποιούμε την εντολή fscanf προσδιορίζοντας και το λογικό όνομα του αρχείου. Αν το αρχείο δεν υπάρχει, η εντολή fopen μας επιστρέφει το -1. Αν π.χ. χρησιμοποιήσουμε την εντολή : >> inf = fopen('aa.txt','r') inf = -1 θα μας εμφανίσει το -1, γιατί το αρχείο 'aa.txt' δεν υπάρχει. Για να διαβάσουμε απ το αρχείο 'test.txt' στο οποίο γράψαμε κάποια δεδομένα με τα προηγούμενα παραδείγματα, θα πρέπει να χρησιμοποιήσουμε την εντολή : >> inf = fopen('test.txt','r') inf = 5 Το αρχείο 'test.txt' υπάρχει και είναι έτοιμο για διάβασμα της 1 ης γραμμής. Το διάβασμα των δεδομένων του αρχείου και η αποθήκευσή τους στις αντίστοιχες μεταβλητές γίνεται με την εντολή fscanf, η οποία, εκτός απ τον προσδιοριστή απαιτεί και τον αριθμό των δεδομένων που θα διαβαστούν, όπως φαίνεται στα παραδείγματα που ακολουθούν : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 59

60 Παράδειγμα 1 >> onoma = fscanf(inf,'%s',1) onoma = Kostas Με την προηγούμενη εντολή το περιεχόμενο της πρώτης γραμμής του αρχείου 'test.txt' γράφεται στη μεταβλητή onoma. Με παρόμοιο τρόπο μπορούμε να διαβάσουμε και τις υπόλοιπες γραμμές του αρχείου, για όσο το έχουμε ανοιχτό. Παράδειγμα 2 >> a = fscanf(inf,'%d',1) a = 5 >> b = fscanf(inf,'%f',1) b = Με τις 2 προηγούμενες εντολές το περιεχόμενο της δεύτερης γραμμής του αρχείου 'test.txt' αποθηκεύονται στις μεταβλητές a και b. Παράδειγμα 3 >> pina = fscanf(inf,'%f',3) pina = Με την προηγούμενη εντολή το περιεχόμενο της τρίτης γραμμής του αρχείου 'test.txt' αποθηκεύεται στο διάνυσμα pina. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 60

61 Παρατήρηση Αν αποθηκεύσουμε τα στοιχεία ενός Πίνακα 2 διαστάσεων σε ένα αρχείο, τα στοιχεία του Πίνακα αποθηκεύονται κατά στήλες και όχι γραμμές. Έτσι, με τις παρακάτω εντολές : >> outf = fopen('test1.txt','w'); >> A = [1 2 3;4 5 6] A = >> fprintf(outf,'%f %f %f\n', A); >> fclose(outf) η εικόνα του αρχείου 'test1.txt' θα είναι : Αν θέλουμε να διαβάσουμε τα περιεχόμενα του αρχείου στον Πίνακα Α, θα χρησιμοποιήσουμε τις εντολές : >> inf = fopen('test1.txt','r'); >> A = fscanf(inf,'%f %f',[2,3]) A = >> fclose(inf); όπου [2,3] είναι ο αριθμός των γραμμών και στηλών του Πίνακα στον οποίο θα αποθηκευθούν οι τιμές που θα διαβαστούν. Αν τα στοιχεία του Πίνακα είναι αποθηκευμένα στο αρχείο κατά γραμμές, θα πρέπει να πάρουμε τον ανάστροφο του Πίνακα, μετά το διάβασμα, όπως φαίνεται στο παράδειγμα που ακολουθεί : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 61

62 >> outf = fopen('test2.txt','w'); >> fprintf(outf,'%f %f %f\n', A') και η εικόνα του αρχείου 'test2.txt' θα είναι : >> fclose(inf); Για να διαβάσουμε τα περιεχόμενα του παραπάνω αρχείου στον Πίνακα Α, θα χρησιμοποιήσουμε τις εντολές : >> inf = fopen('test2.txt','r'); >> A = fscanf(inf,'%f %f %f',[3,2]) >> A A = >> fclose(inf); Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 62

63 ΚΕΦΑΛΑΙΟ 6 COMPILER & DEBUGGER ΓΙΑ M-FILES 6.1 Interpreter και Compiler (Help: MATLAB Compiler) Η γραμμή εντολών (command line) λειτουργεί ως interpreter των εντολών που γράφουμε εκεί. Κάθε εντολή που πληκτρολογούμε μεταφράζεται σε γλώσσα μηχανής και εκτελείται μόλις πατήσουμε <ENTER>. Με την ίδια ακριβώς λογική λειτουργούν και τα προγράμματα script, δηλαδή είναι σαν να γράφαμε στο command line του MATLAB κάθε εντολή που είναι γραμμένη στο αρχείο script και πατούσαμε το <ENTER>. Έτσι κάθε εντολή μεταφράζεται και εκτελείται ξανά και ξανά ακόμη και εάν βρίσκεται σε ένα βρόχο. Αυτό δημιουργεί καθυστερήσεις στους βρόχους και είναι λιγότερο αποδοτική μέθοδος σε σχέση με την μετάφραση του κώδικα μια φορά στην αρχή και την δημιουργία binary εκτελέσιμου αρχείου τύπου exe. Η μέθοδος του interpreter είναι βέβαια ιδανική όταν θέλουμε να τεστάρουμε γρήγορα μια ιδέα ή έναν αλγόριθμο χωρίς να χρειάζεται κάθε φορά να μεσολαβεί το χρονοβόρο στάδιο της μετάφρασης και της εκτέλεσης του εκτελέσιμου αρχείου. Το MATLAB προσφέρει έναν compiler με το όνομα mcc οποίος δημιουργεί εκτελέσιμο κώδικα σε μορφή αρχείου exe. Για παράδειγμα έστω ότι έχουμε γράψει το παρακάτω πρόγραμμα στο αρχείο dokimi.m function main() for (ii=1:10) fprintf('i=%f\n', ii); end Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 63

64 Ο κώδικας του κυρίως προγράμματος πρέπει να είναι μια function με το όνομα main(). Εκτελούμε τον compiler μέσα από το MATLAB χρησιμοποιώντας την παράμετρο -m: >> mcc -m dokimi Με την προηγούμενη εντολή, δημιουργείται στον παρόντα κατάλογο μετά από αρκετή αναμονή το αρχείο dokimh_main.c και εμφανίζεται το παρακάτω μήνυμα : Select a compiler: [1] Lcc C version 2.4 in C:\PROGRAM FILES\MATLAB704\BIN\WIN32\\..\..\sys\lcc [2] Microsoft Visual C/C++ version 6.0 in C:\Program Files\Microsoft Visual Studio [0] None Compiler: 1 Αφού επιλέξουμε ένα C-Compiler, δημιουργείται στον παρόντα κατάλογο το αρχείο dokimh_main.exe, το οπίο μπορούμε να τρέξουμε, όπως οποιοδήποτε εκτελέσιμο αρχείο. 6.2 Ο Editor/Debugger (Help: MATLAB -> Desktop Tools and Development Environment -> Editing and Debugging M-Files) Ο editor είναι ένα ολοκληρωμένο περιβάλλον επεξεργασίας scripts. Προσφέρει αυτόματη μορφοποίηση του κώδικα που πληκτρολογούμε, ενώ με διαφορετικά χρώματα καταδεικνύονται οι διαφορετικές εντολές, τα σχόλια με πράσινο χρώμα, οι built-in εντολές με μπλε χρώμα και τα strings με κόκκινο χρώμα. Ο editor έχει ενσωματομένο και το debugger. Ο debugger προσφέρει τη δυνατότητα δημιουργίας σημείων στον κώδικα όπου σταματάει προσωρινά η εκτέλεση του script ώστε να μπορεί να γίνει επισκόπηση των μεταβλητών και του συστήματος γενικότερα. Τα σημεία αυτά λέγονται breakpoints. H δημιουργία ενός breakpoint γίνεται με την επιλογή Debug-> Set/Clear Breakpoint με το δρομέα στην εντολή την οποία έχουμε επιλέξει για έλεγχο ή με αριστερό κλικ με το ποντίκι στην παύλα, δίπλα στον αριθμό της εντολής που έχουμε επιλέξει για έλεγχο. Η εκτέλεση του προγράμματος γίνεται μέχρι τη γραμμή στην οποία έχουμε βάλει breakpoint, η οποία εμφανίζεται με τον αριθμό της και το prompt αλλάζει σε K>>. Στο prompt αυτό μπορούμε να γράψουμε το όνομα μιας μεταβλητής χωρίς να ακολουθεί το σύμβολο ; οπότε εμφανίζεται στην οθόνη το περιεχόμενο της μεταβλητής αυτής. Με την εντολή return επιστρέφουμε στην κανονική εκτέλεση του προγράμματος (βγαίνουμε από τον debugger), εκτός αν βρισκόμαστε σε εντολή επανάληψης, οπότε θα χρειαστεί και ο αντίστοιχος αριθμός εντολών return για να δούμε τις επόμενες τιμές. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 64

65 Το καθάρισμα ενός breakpoint γίνεται πάλι με την επιλογή Debug-> Set/Clear Breakpoint με το δρομέα στην εντολή την οποία έχουμε επιλέξει για έλεγχο ή με αριστερό κλικ με το ποντίκι στην παύλα, δίπλα στον αριθμό της εντολής που είχαμε επιλέξει για έλεγχο. Αφού σταματήσει η εκτέλεση σε κάποιο breakpoint, τότε αυτή μπορεί να συνεχιστεί βηματικά γραμμή-γραμμή χρησιμοποιώντας την επιλογή Debug-> Step ή το πλήκτρο F10. Αν η επόμενη γραμμή καλεί μια συνάρτηση τότε μπορούμε να μπούμε μέσα στη συνάρτηση ( φορτώνεται ο κώδικας της συνάρτησης ) και να την εκτελέσουμε γραμμή-γραμμή με την επιλογή Debug-> Step In ή το πλήκτρο F11. Μπορούμε να βγούμε από τη συνάρτηση πίσω στο κυρίως πρόγραμμα με την επιλογή Debug-> Step Out ή με το συνδιασμό πλήκτρων Shift+F11. Η επιλογή Debug-> Continue συνεχίζει κανονικά (όχι βηματικά) την εκτέλεση μέχρι το επόμενο breakpoint. Επίσης προσφέρονται λειτουργίες Debug-> Stop If Errors/Warnings, όπου το πρόγραμμα σταματάει να εκτελείται ακόμα κι αν δεν υπάρχει breakpoint εφόσον εμφανιστεί κάποια συνθήκη σφάλματος. Τέτοιες συνθήκες είναι: Error, Warning, Not a Number (NaN) ή Infinity (Inf). Το πρόγραμμα σταματάει στη γραμμή που εμφανίστηκε το σφάλμα ώστε να μπορούμε να επιθεωρήσουμε τις τιμές των μεταβλητών και να βοηθηθούμε στην ανακάλυψη της αιτίας του σφάλματος. Παράδειγμα 1 Έστω το script με τις παρακάτω εντολές : 1 - clear; 2 - clc; 3 - n = input ( 'Δώσε n : '); 4 - u = randn(1,n); 5 - disp('u = '); 6 - disp(u); 7 - for i = 1 : n 8 - fprintf('i = %d\n',i); 9 - v = step01(u, n); 10 - end %for 11 - disp('v = '); 12 - disp(v); Με τη δημιουργία ενός breakpoint στη γραμμή 8 και την εκτέλεση του script θα πάρουμε την παραπάνω εικόνα : Δώσε n : 3 u = Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 65

66 8 fprintf('i = %d\n',i); K>> Αν θέλουμε να παρακολουθήσουμε τις τιμές που παίρνει η μεταβλητή I, γράφουμε στο prompt K>> το i., οπότε θα εμφανίζονται οι τιμές που παίρνει μέχρι να τελειώσει η εντολή επανάληψης, όπως φαίνεται παρακάτω, αν συνεχίσουμε την εκτέλεση του προγράμματος με το F10 : K>> i i = 1 i = 1 9 v = step01(u, n); 10 end %for 8 fprintf('i = %d\n',i); i = 2 9 v = step01(u, n); 10 end %for 8 fprintf('i = %d\n',i); i = 3 9 v = step01(u, n); 10 end %for 11 disp('v = '); v = 12 disp(v); End of script testf1. K>> return >> Παράδειγμα 2 Έστω το script με τις παρακάτω εντολές : 1 - clear; 2 - clc; 3 - n = input ( 'Δώσε n : '); 4 - u = randn(1,n); 5 - disp('u = '); 6 - disp(u); 7 - for i = 1 : n 8 - fprintf('i = %d\n',i); 9 - v = step01(u, n); 10 - end %for 11 - disp('v = '); 12 - disp(v); Με τη δημιουργία ενός breakpoint στη γραμμή 9, η οποία καλεί το function step01 και την εκτέλεση του script θα πάρουμε την παραπάνω εικόνα : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 66

67 Δώσε n : 3 u = fprintf('i = %d\n',i); i = 1 Με το πάτημα του πλήκτρου F11, ο έλεγχος πηγαίνει στο function step01 και παίρνουμε την παρακάτω εικόνα : 9 v = step01(u, n); 2 for i = 1 : n Και εμφανίζεται ο κώδικας του function, στην οποία ανήκει και η εντολή 2. Με το συνεχές πάτημα του πλήκτρου F11, εκτελούμε μια μια τις εντολές του function, όσες φορές χρειαστεί και παίρνουμε την παρακάτω εικόνα : 3 if ( u(i) > 0 ) 4 v(i) = 1; 8 end %for 3 if ( u(i) > 0 ) 5 else 6 v(i) = 0; 7 end %if 8 end %for 3 if ( u(i) > 0 ) 5 else 6 v(i) = 0; 7 end %if 8 end %for End of function step end %for 8 fprintf('i = %d\n',i); i = 2 9 v = step01(u, n); 2 for i = 1 : n 3 if ( u(i) > 0 ) 4 v(i) = 1; 8 end %for 3 if ( u(i) > 0 ) 5 else 6 v(i) = 0; 7 end %if 8 end %for 3 if ( u(i) > 0 ) 5 else 6 v(i) = 0; 7 end %if 8 end %for End of function step01. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 67

68 10 end %for 8 fprintf('i = %d\n',i); i = 3 9 v = step01(u, n); 2 for i = 1 : n 3 if ( u(i) > 0 ) 4 v(i) = 1; 8 end %for 3 if ( u(i) > 0 ) 5 else 6 v(i) = 0; 7 end %if 8 end %for 3 if ( u(i) > 0 ) 5 else 6 v(i) = 0; 7 end %if 8 end %for End of function step end %for 11 disp('v = '); v = 12 disp(v); End of script testf1. K>> return >> Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 68

69 ΚΕΦΑΛΑΙΟ 7 ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ 7.1 Γραφικές Παραστάσεις 2 Διαστάσεων Εντολή plot Οι γραφικές παραστάσεις 2 διαστάσεων ( στο επίπεδο ) γίνονται με την εντολή - συνάρτηση plot (Help: Matlab->Functions Categorical List->Graphics->Basic Plots and Graphs>Plot). Η plot γενικά απαιτεί 2 ορίσματα, τα οποία πρέπει να είναι διανύσματα με τον ίδιο αριθμό στοιχείων και σχεδιάζει τη γραφική παράσταση ( Γράφημα 7.1 ) που ορίζουν τα σημεία των 2 διανυσμάτων, όπως φαίνεται στο παράδειγμα που ακολουθεί : Παράδειγμα 1 >> x = [-10:0.1:10]; >> y = sin(x); >> plot(x,y) Γράφημα 7.1 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 69

70 Παρατηρήσεις Η συνάρτηση plot δέχεται σαν ορίσματα δύο διανύσματα και για το κάθε ζεύγος τιμών απεικονίζει στο επίπεδο το αντίστοιχο σημείο. Τα δύο διανύσματα πρέπει να έχουν τον ίδιο αριθμό στοιχείων. Δημιουργεί το γράφημα Figure 1, 2, 3, ανάλογα με τον αριθμό των γραφημάτων που έχουμε δημιουργήσει. Εμφανίζει τους 2 άξονες και τις τιμές που έχουμε δώσει στα 2 διανύσματα. Εμφανίζει τη συνεχή καμπύλη του γραφήματος με μπλε χρώμα. Αν δεν κλείσουμε το γράφημα, μπορούμε να σχεδιάσουμε και κάποιο άλλο γράφημα πάνω στο υπάρχον Σύμβολα, Χρώματα και Γραμμές Στα γραφήματα μπορούμε να παρέμβουμε στα διάφορα χαρακτηριστικά της γραμμής, όπως : Το είδος της γραμμής Το χρώμα της γραμμής Το πάχος της γραμμής Τον τύπο της κουκίδας Το μέγεθος της κουκίδας Τα χρώματα της κουκίδας ( περίγραμμα και εσωτερικό ) συμπεριλαμβάνοντας στην εντολή plot ένα string, το οποίο περιέχει τους κωδικούς με τους οποίους επιλέγουμε τα παραπάνω χαρακτηριστικά. Είδος Γραμμής Οι κωδικοί που καθορίζουν το είδος της γραμμής φαίνονται στον Πίνακα 7.1 : Κωδικός Τύπος γραμμής - Μονοκόμματη γραμμή -- Διακεκομμένη γραμμή : Γραμμή με τελίτσες -. Γραμμή με παύλα-τελεία Πίνακας 7.1 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 70

71 Παράδειγμα 2 Αν, στο προηγούμενο Παράδειγμα 1, θέλουμε η γραμμή να εμφανίζεται διακεκομμένη, θα χρειαστούν οι παρακάτω εντολές : >> x = [-10:0.1:10]; >> y = sin(x); >> plot(x,y, ) ; με αποτέλεσμα να δημιουργηθεί το γράφημα που φαίνεται στο Γράφημα 7.2 : Γράφημα 7.2 Χρώμα Γραμμής Οι κωδικοί που καθορίζουν το χρώμα της γραμμής φαίνονται στον Πίνακα 7.2 : Κωδικός r g b c m y k w Χρώμα γραμμής κόκκινο πράσινο μπλε κυανό μωβ κίτρινο μαύρο άσπρο Πίνακας 7.2 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 71

72 Παράδειγμα 3 Αν, στο Παράδειγμα 1, θέλουμε η γραμμή να εμφανίζεται διακεκομμένη και κόκκινη, θα χρειαστούν οι παρακάτω εντολές : >> x = [-10:0.1:10]; >> y = sin(x); >> plot(x,y, r ) ; με αποτέλεσμα να δημιουργηθεί το γράφημα που φαίνεται στο Γράφημα 7.3 : Γράφημα 7.3 Πάχος Γραμμής Για να αλλάξουμε το default πάχος της γραμμής του γραφήματος θα πρέπει στην εντολή plot να συμπεριλάβουμε και το string 'LineWidth' και μια τιμή μεταξύ του 0.5 και 30 για το αντίστοιχο πάχος της γραμμής. Παράδειγμα 4 Αν, στο Παράδειγμα 1, θέλουμε η γραμμή να εμφανίζεται διακεκομμένη και κόκκινη και με πάχος γραμμής 3, θα χρειαστούν οι παρακάτω εντολές : >> x = [-10:0.1:10]; >> y = sin(x); >> plot(x,y, r, 'LineWidth', 3) ; με αποτέλεσμα να δημιουργηθεί το γράφημα που φαίνεται στο Γράφημα 7.4 : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 72

73 Γράφημα 7.4 Τύπος Κουκίδας Για την επιλογή της κουκίδας που θα αναπαριστά τα σημεία του γραφήματος, θα πρέπει στο string να συμπεριληφθεί ένας κωδικός, απ αυτούς που παρουσιάζονται στον Πίνακα 7.3 : Κωδικός Τύπος κουκίδας + σύμβολο πρόσθεσης o κύκλος * αστερίσκος. σημείο x σταυρός square or s τετράγωνο diamond or d διαμάντι ^ τρίγωνο με μύτη επάνω v τρίγωνο με μύτη κάτω > τρίγωνο με μύτη προς τα δεξιά < τρίγωνο με μύτη προς τα αριστερά 'pentagram' or p πεντάγραμμο 'hexagram' or h εξάγραμμο Παράδειγμα 5 Πίνακας 7.3 Αν, στο Παράδειγμα 1, θέλουμε η γραμμή να εμφανίζεται διακεκομμένη και κόκκινη και με αστεράκια, θα χρειαστούν οι παρακάτω εντολές : >> x = [-10:0.1:10]; >> y = sin(x); >> plot(x,y, r * ) ; Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 73

74 με αποτέλεσμα να δημιουργηθεί το γράφημα που φαίνεται στο Γράφημα 7.5 : Μέγεθος Κουκίδας Γράφημα 7.5 Για να αλλάξουμε το default μέγεθος της κουκίδας του γραφήματος θα πρέπει στην εντολή plot να συμπεριλάβουμε και το string 'MarkerSize' και μια τιμή μεταξύ του 0.5 και 30 για το αντίστοιχο μέγεθος της κουκίδας. Χρώμα Περιγράμματος Κουκίδας Για να αλλάξουμε το default χρώμα του περιγράμματος της κουκίδας του γραφήματος θα πρέπει στην εντολή plot να συμπεριλάβουμε και το string 'MarkerEdgeColor' και ένα ακόμη string με μια τιμή για το χρώμα, σύμφωνα με τον Πίνακα 7.2. Χρώμα Γεμίσματος Κουκίδας Για να αλλάξουμε το default χρώμα του γεμίσματος της κουκίδας του γραφήματος θα πρέπει στην εντολή plot να συμπεριλάβουμε και το string 'MarkerFaceColor' και ένα ακόμη string με μια τιμή για το χρώμα, σύμφωνα με τον Πίνακα 7.2. Παράδειγμα 6 Αν, στο Παράδειγμα 1, θέλουμε η γραμμή να εμφανίζεται διακεκομμένη και κόκκινη και με κύκλους μεγέθους 14, με χρώμα περιγράμματος μπλε και χρώμα γεμίσματος κίτρινο, θα χρειαστούν οι παρακάτω εντολές με αποτέλεσμα το γράφημα 7.6 : >> x = [-10:0.1:10]; >> y = sin(x); >> plot(x,y,'r--o', 'MarkerSize',14, 'MarkerFaceColor','y', 'MarkerEdgeColor','b' ); Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 74

75 Γράφημα 7.6 Τίτλος Γραφήματος Μπορούμε να βάλουμε στο γράφημα Τίτλο (Γράφημα 7.7 ) με την εντολή : >> title( 'Γράφημα Ημιτόνου','FontSize',14 ); Γράφημα 7.7 Ονόματα Αξόνων Γραφήματος Αντίστοιχα, μπορούμε να βάλουμε στο γράφημα και ονομασίες για τους Άξονες x και y, επιλέγοντας γραμματοσειρά και μέγεθος γραμμάτων με τις εντολές : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 75

76 >> xlabel ( 'Άξονας x','fontname','courier New','FontSize',14); >> ylabel ( 'Άξονας y','fontname','courier New','FontSize',14); οπότε το προηγούμενο γράφημα γίνεται : Γράφημα 7.8 Παρατήρηση Αν θέλουμε ο Τίτλος του Άξονα y να εμφανίζεται οριζόντια και όχι κάθετα, χρησιμοποιούμε το Rotation στην εντολή ylabel, όπως φαίνεται στο Γράφημα 7.9 : >> ylabel ( 'Άξονας y','fontname','courier New','FontSize',14, Rotation,0); Γράφημα 7.9 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 76

77 7.1.3 Η Εντολή hold on Η εντολή hold μας δίνει την δυνατότητα να σχεδιάσουμε πολλαπλά γραφήματα σε ένα figure. Η function hold καθορίζει το αν στην επόμενη φορά που θα εισάγουμε μία νέα γραφική παράσταση θα αντικαταστήσει την προηγούμενη ή θα σχεδιαστεί από πάνω. Όταν καλούμε την hold με το όρισμα on να την ακολουθεί τότε η γραφική παράσταση που έχουμε σχεδιάσει διατηρείται. Η δράση της hold on διαρκεί μέχρι να καλέσουμε την hold off. Τότε ότι έχουμε σχεδιάζει θα σβηστεί από την επόμενη γραφική παράσταση που θα σχεδιάσουμε. Αν π.χ. θέλουμε να σχεδιάσουμε και τη γραφική παράσταση του συνημιτόνου στο προηγούμενο γράφημα, θα πρέπει να χρησιμοποιήσουμε τις εντολές : >> x = [-10:0.1:10]; >> y = sin(x); >> plot(x,y,'r--o', 'MarkerSize',12, 'MarkerFaceColor','y', 'MarkerEdgeColor','b' ); >> title( 'Γράφημα Ημιτόνου','FontSize',14 ); >> xlabel ( 'Άξονας x','fontname','courier New','FontSize',14); >> ylabel ( 'Άξονας y','fontname','courier New','FontSize',14, Rotation,0); >> hold on; >> y = cos(x); >> plot(x,y,'g:*', 'MarkerSize',12, 'MarkerFaceColor','k', 'MarkerEdgeColor','b' ); και οι 2 γραφικές παραστάσεις φαίνονται στο επόμενο Γράφημα 7.10 : Γράφημα 7.10 Παρατήρηση Αν θέλουμε να απενεργοποιήσουμε τη δυνατότητα να σχεδιάζουμε στο ίδιο γράφημα, θα πρέπει να χρησιμοποιήσουμε την εντολή hold off. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 77

78 7.1.4 Η Εντολή subplot Με την εντολή subplot μπορούμε στο ίδιο γράφημα να σχεδιάσουμε περισσότερα από ένα υπογραφήματα, δίνοντας κάθε φορά τη διάταξη που θα έχουν τα υπογραφήματα, δηλαδή πόσες γραμμές και πόσες στήλες, τα οποία μετά αριθμούνται διατρέχοντας το δισδιάστατο πίνακα κατά γραμμές, δηλαδή το πρώτο υπογράφημα στην 1 η γραμμή 1 η στήλη, το δεύτερο στην 1 η γραμμή 2 η στήλη κ.λ.π.. Παράδειγμα 7 Να γίνει η γραφική παράσταση των 3 συνεχών συναρτήσεων ενεργοποίησης, δηλαδή της Σιγμοειδούς, της Υπερβολικής Εφαπτομένης και της Γραμμικής Συνάρτησης με τη χρήση της εντολής subplot : >> subplot(2,2,1); >> x=-3:0.1:3; >> y=1./(1+exp(-x)); >> plot(x,y,'r:'); >> subplot(2,2,2); >> y=tanh(x); >> plot(x,y,'b--'); >> subplot(2,2,3); >> y = x; >> plot(x,y,'g.'); Με τις παραπάνω εντολές γίνονται 2x2 υπογραφήματα, τα οποία αριθμούνται σαν 1 το (1,1), 2 το (1,2) και 3 το (2,1), όπως φαίνεται στο Γράφημα 7.11 : Γράφημα 7.11 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 78

79 Παράδειγμα 8 Αν στο προηγούμενο παράδειγμα θέλαμε στη θέση του 1 ου και του 3 ου υπογραφήματος να εμφανίζεται το πρώτο απ τα 3 γραφήματα και τα υπόλοιπα δύο στις θέσεις 2 και 4, τροποποιούμε τις προηγούμενες εντολές αριθμώντας το 1 ο υπογράφημα σαν 1 και 3 μαζί, όπως φαίνεται στις εντολές που ακολουθούν : >> subplot(2,2,[1 3]); >> x=-3:0.1:3; >> y=1./(1+exp(-x)); >> plot(x,y,'r:'); >> subplot(2,2,2); >> y=tanh(x); >> plot(x,y,'b--'); >> subplot(2,2,4); >> y = x; >> plot(x,y,'g.'); Με τις παραπάνω εντολές το [1 3] στην πρώτη εντολή δηλώνει ότι το συγκεκριμένο subplot θα είναι στο χώρο του 1 ου και 3 ου plot, οπότε γίνονται 3 υπογραφήματα, τα οποία καλύπτουν το χώρο των τεσσάρων (2x2), όπως φαίνεται στο Γράφημα 7.11 : Γράφημα 7.12 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 79

80 7.1.5 Αφαίρεση Αξόνων από Γράφημα ( Εντολή axis off ) Αν θέλουμε να μην εμφανίζονται οι άξονες σε κάποιο γράφημα, χρησιμοποιούμε την εντολή axis off. Παράδειγμα 9 Να αφαιρεθούν οι άξονες απ το γράφημα του Παραδείγματος 1 : >> x = [-10:0.1:10]; >> y = sin(x); >> plot(x,y) >> axis off Γράφημα Εισαγωγή Εικόνας σε Γράφημα ( Εντολές imread, image ) Για να εισάγουμε μια εικόνα jpg, tiff κ.λ.π. σε κάποιο γράφημα, θα πρέπει να διαβάσουμε την εικόνα σε κάποια μεταβλητή με την εντολή imread και να την αποθηκεύσουμε στο Figure με την εντολή image. Παράδειγμα 10 Να γραφούν οι εντολές για την αποθήκευση στο figure 1 της εικόνας att00000.jpg που βρίσκεται στον παρόντα φάκελο. Με τις παρακάτω εντολές >> figure(1); >> x = imread('att00000.jpg'); >> image(x); Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 80

81 το figure 1 θα έχει την παρακάτω εικόνα : Γράφημα 7.14 Παρατήρηση Αν χρησιμοποιήσουμε και την εντολή >> axis off θα αφαιρεθούν οι άξονες, οπότε θα έχουμε την παρακάτω εικόνα : Γράφημα 7.15 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 81

82 7.1.7 Εισαγωγή Κειμένου σε Γράφημα ( Εντολή gtext ) Μπορούμε να εισάγουμε κείμενο σε ένα γράφημα με τις εντολές gtext και text. Παράδειγμα 11 Να γραφούν οι εντολές για τη δημιουργία ενός γραφήματος των συναρτήσεων x^2 και x^3 με το αντίστοιχο κείμενο. Με τις παρακάτω εντολές : >> x = -1:0.1:1; >> y1 = x.^2; >> y2 = x.^3; >> plot(x,y1,'b-',x,y2,'r-.'); θα δημιουργηθεί το γράφημα : Γράφημα 7.16 Με τις εντολές >> gtext( x^2 ); >> gtext( x^3 ); ανοίγει το γράφημα και μπορούμε με το ποντίκι να μετακινήσουμε το σταυρό που εμφανίζεται στη θέση που θέλουμε να εμφανιστεί το κείμενο. Μετά τις δύο εισαγωγές κειμένου, η προηγούμενη εικόνα θα πάρει την παρακάτω μορφή : Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 82

83 Γράφημα 7.17 Παρατήρηση Παρόμοιο αποτέλεσμα μπορούμε να έχουμε με τη χρήση της εντολής text, αρκεί να δώσουμε τις συντεταγμένες της θέσης στην οποία θα μπει το κείμενο στο γράφημα. Αν στο πρηγούμενο παράδειγμα, αντί των εντολών gtext, δώσουμε τις εντολές : >> text(-0.8,0.6,'y=x^2') >> text(-0.8,-0.6,'y=x^3') θα πάρουμε το παρακάτω γράφημα : Γράφημα 7.18 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 83

84 7.1.8 Αποθήκευση Γραφήματος σε μορφή pdf, tiff, Για να αποθηκεύσουμε ένα γράφημα σε οποιαδήποτε μορφή εκτός της default fig μπορούμε να χρησιμοποιήσουμε την επιλογή Save As στο αντίστοιχο figure ή την εντολή print στο Command Prompt. Mε την εντολή >> print -dtiff -f1 figsin.tiff Ο προσδιοριστής -dtiff αφορά τη μορφή του αρχείου ( tiff στο παράδειγμα ), ο -f1 το γράφημα 1, 2 κ.λ.π. στο οποίο αναφερόμαστε ( figure 1 στο παράδειγμα ) και το figsin.tiff είναι το όνομα του αρχείου στο οποίο θέλουμε να αποθηκευθεί το γράφημα. 7.2 Η Εντολή bar Με την εντολή bar, αντί της plot, σχεδιάζουμε ένα ραβδογράφημα. Παράδειγμα 12 Για να γίνει ένα ραβδογράφημα με τις πωλήσεις κάθε μήνα, όπου οι τιμές των πωλήσεων είναι τυχαίοι ακέραιοι αριθμοί μεταξύ του 1 και του 100 θα χρειαστούν οι παρακάτω εντολές, με αποτέλεσμα το γράφημα 7.19 : >> x = 1:1:12; >> y = randint(1,12,100); >> bar(x,y); Παρατήρηση Γράφημα 7.19 Η εντολή randint μετατρέπει τους τυχαίους αριθμούς στο ( 0, 1 ) σε ακέραιους αφού τους πολλαπλασιάσει με το 100. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 84

85 7.3 Η Εντολή stem Παρόμοιο με την εντολή bar αποτέλεσμα, με πιο λεπτές μπάρες και με κύκλους όμως στην κορυφή κάθε μπάρας έχει και η εντολή stem. Παράδειγμα 13 Αν στο Παράδειγμα 12 χρησιμοποιήσουμε την εντολή stem αντί της bar, θα χρειαστούν οι παρακάτω εντολές, με αποτέλεσμα το γράφημα 7.20 : >> x = 1:1:12; >> y = randint(1,12,100); >> stem(x,y); Γράφημα Η Εντολή pause Η εντολή pause ( χωρίς όρισμα ) σταματά την εκτέλεση του κώδικα μέχρι να πατήσει ο χρήστης το πλήκτρο Enter ή για όσο χρονικό διάστημα έδωσε ο χρήστης σαν όρισμα στην παρένθεση. Σαν όρισμα δίνεται ένας αριθμός σε δευτερόλεπτα. Αν για παράδειγμα δώσουμε την εντολή >> pause(1); το πρόγραμμα θα κάνει παύσεις ενός δευτερολέπτου μέχρι να εμφανίσει το επόμενο γράφημα. Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 85

86 7.4 Γραφικές Παραστάσεις 3 Διαστάσεων Η Εντολή meshgrid Η συνάρτηση-εντολή meshgrid δημιουργεί Πίνακες που ορίζουν το πλέγμα των γραφημάτων. Η meshgrid μπορεί να χρησιμοποιηθεί μόνο για δισδιάστατο ή τρισδιάστατο καρτεσιανό χώρο. Παίρνει για ορίσματα δύο διανύσματα x, y και επιστρέφει δύο Πίνακες X, Y. Οι γραμμές του X είναι αντίγραφα του x και οι στήλες του Υ είναι αντίγραφα του y. Η επόμενη εντολή δίνει ένα παράδειγμα χρήσης της meshgrid. >> [X,Y] = meshgrid(1:1:3, 4:1:7) X = Y = Η Εντολή mesh Η συνάρτηση mesh σχεδιάζει την γραφική παράσταση μιας επιφάνειας. Παίρνει τρία ορίσματα, δύο Πίνακες που περιέχουν τις συντεταγμένες του οριζόντιου επιπέδου και ένα τρίτο Πίνακα που περιέχει τις συντεταγμένες της επιφάνειας στην τρίτη διάσταση. Παράδειγμα 14 Για να γίνει το γράφημα της καμπάνας του Gauss θα χρειαστούν οι παρακάτω εντολές, ενώ το αποτέλεσμα φαίνεται στο Γράφημα >> [X,Y] = meshgrid(-5:0.1:5, -5:0.1:5); >> Z = exp(-(x.^2 + Y.^2)/2); >> mesh(x,y,z); Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 86

87 Γράφημα Η Εντολή contour Η συνάρτηση contour σχεδιάζει διαγράμματα ισοϋψών καμπυλών. Αν στο προηγούμενο παράδειγμα χρησιμοποιήσουμε την εντολή contour αντί της mesh, θα πάρουμε το παρακάτω γράφημα 7.22 : >> [X,Y] = meshgrid(-5:0.1:5, -5:0.1:5); >> Z = exp(-(x.^2 + Y.^2)/2); >> contour(x,y,z); Γράφημα 7.22 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 87

88 7.4.4 Η Εντολή meshc Η meshc είναι απλά ο συνδυασμός της mesh με την contour. Το προηγούμενο παράδειγμα με τη χρήση της meshc θα έχει σαν αποτέλεσμα να δημιουργηθεί το γράφημα >> [X,Y] = meshgrid(-5:0.1:5, -5:0.1:5); >> Z = exp(-(x.^2 + Y.^2)/2); >> meshc(x,y,z); Γράφημα 7.23 Αν χρησιμοποιήσουμε την επιλογή Rotate 3D στο Γράφημα, η βάση του γραφήματος θα είναι αυτή που φαίνεται στο 7.24, παρόμοια με αυτή του Γράφημα 7.24 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 88

89 7.4.5 Η Εντολή surf Η surf σχεδιάζει την γραφική παράσταση μιας επιφάνειας με την διαφορά ότι η επιφάνεια θα είναι σκιασμένη. Το προηγούμενο παράδειγμα με τη χρήση της surf θα έχει σαν αποτέλεσμα να δημιουργηθεί το γράφημα >> [X,Y] = meshgrid(-5:0.1:5, -5:0.1:5); >> Z = exp(-(x.^2 + Y.^2)/2); >> surf(x,y,z); Γράφημα 7.25 Σύντομο Εγχειρίδιο Matlab Διαμαντάρας Κ. - Γουλιάνας Κ Σελίδα. 89

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

Διαβάστε περισσότερα

Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink. Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος

Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink. Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος 1 Τι είναι τα Matlab και Simulink? Το Matlab (MATrix LABoratory) είναι ένα περιβάλλον επιστημονικού

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ MATHLAB Α ΜΕΡΟΣ

ΕΙΣΑΓΩΓΗ ΣΤΟ MATHLAB Α ΜΕΡΟΣ ΕΙΣΑΓΩΓΗ ΣΤΟ MATHLAB Α ΜΕΡΟΣ ΕΙΣΑΓΩΓΗ ΠΙΝΑΚΩΝ ΣΤΟ MATHLAB Αν θέλουμε να εισάγουμε έναν πίνακα στο mathlab και να προβληθεί στην οθόνη βάζουμε τις τιμές του σε άγκιστρα χωρίζοντάς τις με κόμματα ή κενό

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

Έναρξη Τερματισμός του MatLab

Έναρξη Τερματισμός του MatLab Σύντομος Οδηγός MATLAB Β. Χ. Μούσας 1/6 Έναρξη Τερματισμός του MatLab Η έναρξη της λειτουργίας του MatLab εξαρτάται από το λειτουργικό σύστημα. Στα συστήματα UNIX πληκτρολογούμε στη προτροπή του συστήματος

Διαβάστε περισσότερα

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

Νέο υλικό. www.cs.uoi.gr/~develeg. Matlab2.pdf - Παρουσίαση μαθήματος 2. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (13 σελίδες). Matlab Μάθημα Νέο υλικό www.cs.uoi.gr/~develeg Matlab.pdf - Παρουσίαση μαθήματος. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (3 σελίδες). Επαναληπτικές δομές Όταν εκτελείται μια πράξη σε ένα διάνυσμα,

Διαβάστε περισσότερα

Για τη δημιουργία ενός διανύσματος με στοιχεία από το 0 μέχρι το 20 με βήμα το 2 (χρησιμοποιείται συνήθως για διανύσματα χρόνου) δίνουμε

Για τη δημιουργία ενός διανύσματος με στοιχεία από το 0 μέχρι το 20 με βήμα το 2 (χρησιμοποιείται συνήθως για διανύσματα χρόνου) δίνουμε Εργαστήριο Συστημάτων Αυτομάτου Ελέγχου Άσκηση 1 η Εισαγωγή στο Matlab 1 Άσκηση 1 η : Εισαγωγή στο Matlab Αντικείμενο Εξοικείωση με τις βασικές λειτουργίες του Matlab (πρόγραμμα αριθμητικής ανάλυσης και

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΝΕΥΡΩΝΙΚΩΝ ΚΑΙ ΣΥΝΤΟΜΟ ΕΓΧΕΙΡΙ ΙΟ MATLAB

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΝΕΥΡΩΝΙΚΩΝ ΚΑΙ ΣΥΝΤΟΜΟ ΕΓΧΕΙΡΙ ΙΟ MATLAB ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΚΑΙ ΣΥΝΤΟΜΟ ΕΓΧΕΙΡΙ ΙΟ MATLAB ΚΩΝΣΤΑΝΤΙΝΟΣ ΙΑΜΑΝΤΑΡΑΣ Καθηγητής ΚΩΝΣΤΑΝΤΙΝΟΣ ΓΟΥΛΙΑΝΑΣ Επίκουρος Καθηγητής ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΛΕΞΑΝ ΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ Περιεχόµενα

Διαβάστε περισσότερα

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.)

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.) ΣΥΝΑΡΤΗΣΕΙΣ Συνάρτηση είναι ένας έτοιμος τύπος ο οποίος δέχεται σαν είσοδο τιμές ή συνθήκες και επιστρέφει ένα αποτέλεσμα, το οποίο μπορεί να είναι μια τιμή αριθμητική, αλφαριθμητική, λογική, ημερομηνίας

Διαβάστε περισσότερα

Εισαγωγή στη Γεώργιος Γεωργίου & Χρίστος Ξενοφώντος

Εισαγωγή στη Γεώργιος Γεωργίου & Χρίστος Ξενοφώντος Εισαγωγή στη Γεώργιος Γεωργίου & Χρίστος Ξενοφώντος Τμήμα Μαθηματικών και Στατιστικής Πανεπιστήμιο Κύπρου Μάϊος 7 . ΕΙΣΑΓΩΓΗ Το MATLAB είναι ένα σύγχρονο ολοκληρωμένο μαθηματικό λογισμικό πακέτο που χρησιμοποιείται

Διαβάστε περισσότερα

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων Κεφάλαιο 1 Αρχή ήμισυ παντός. Πλάτων, 427-347 π.χ., Φιλόσοφος Τι θα μάθουμε σήμερα: -AND, OR, NOT -Ενσωματωμένες συναρτήσεις -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD -Προτεραιότητα πράξεων 1 Λογικές

Διαβάστε περισσότερα

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

Διαβάστε περισσότερα

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Μορφές Εντολών Είδη εντολών Απλές εντολές Εκτελούν κάποια ενέργεια Εντολές ελέγχου Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Εντολές και παραστάσεις Μιαεντολήείναιμιαπαράστασηπου ακολουθείται

Διαβάστε περισσότερα

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

MATLAB. Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών. MATLAB Tι είναι το λογισµικό MATLAB? Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών. Σύστηµα αλληλεπίδρασης µε τοχρήστηγια πραγµατοποίηση επιστηµονικών υπολογισµών (πράξεις µε πίνακες επίλυση

Διαβάστε περισσότερα

Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο

Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο Η Mathematica είναι ένα ολοκληρωμένο μαθηματικό πακέτο με πάρα πολλές δυνατότητες σε σχεδόν όλους τους τομείς των μαθηματικών (Άλγεβρα, Θεωρία συνόλων, Ανάλυση,

Διαβάστε περισσότερα

Ενδεικτική περιγραφή μαθήματος

Ενδεικτική περιγραφή μαθήματος ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK ρ. Γεώργιος Φ. Φραγκούλης Καθηγητής Ver. 0.2 9/2012 ιανύσµατα & ισδιάστατοι πίνακες Ένα διάνυσµα u = (u1, u2,, u ) εισάγεται στη MATLAB ως εξής : u=[ u1, u2,, un ] ή u=[ u1

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

Διαβάστε περισσότερα

1 Πίνακες 1.1 Συνοπτική θεωρία

1 Πίνακες 1.1 Συνοπτική θεωρία 1 Πίνακες Σε αυτήν την ενότητα θα εξοικειωθείτε με την έννοια των πινάκων στον προγραμματισμό (χωρίς τον ιδιαίτερο τρόπο χειρισμού των πινάκων στο MATLAB), και συγκεκριμένα θα δείτε: πώς ορίζεται ένας

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

Διαβάστε περισσότερα

Εισαγωγή στο GNU Octave/MATLAB

Εισαγωγή στο GNU Octave/MATLAB Εισαγωγή στο GNU Octave/MATLAB Δρ. Βασίλειος Δαλάκας Καλώς ήρθατε στο εργαστήριο Σημάτων και Συστημάτων με το λογισμικό Octave (Οκτάβα). Οι σημειώσεις αυτές έχουν βασιστεί στις σημειώσεις του εργαστηρίου

Διαβάστε περισσότερα

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

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

Διαβάστε περισσότερα

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

Διαβάστε περισσότερα

ΕΠΛ 012. JavaScripts

ΕΠΛ 012. JavaScripts ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΟΔΗΓΙΕΣ: ΝΑ ΑΠΑΝΤΗΣΕΤΕ ΣΕ ΟΛΕΣ ΤΙΣ ΕΡΩΤΗΣΕΙΣ. Το εξεταστικό δοκίμιο αποτελείται από δύο Ενότητες Α και Β. ΕΝΟΤΗΤΑ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ορθή απάντηση

Διαβάστε περισσότερα

Γενικός τρόπος σύνταξης: Όνομα_συνάρτησης(όρισμα1,όρισμα2,,όρισμαΝ) Η ονομασία τους είναι δεσμευμένη. Παραδείγματος χάριν: sin(x) cos(x) tan(x) exp(x)

Γενικός τρόπος σύνταξης: Όνομα_συνάρτησης(όρισμα1,όρισμα2,,όρισμαΝ) Η ονομασία τους είναι δεσμευμένη. Παραδείγματος χάριν: sin(x) cos(x) tan(x) exp(x) Εσωτερικές (built-in) συναρτήσεις του Matlab Γενικός τρόπος σύνταξης: Όνομα_συνάρτησης(όρισμα1,όρισμα2,,όρισμαΝ) Επιτελούν διάφορες προκαθορισμένες λειτουργίες Η ονομασία τους είναι δεσμευμένη Παραδείγματος

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

1. ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB... 13

1. ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB... 13 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB... 13 1.1. Τι είναι το Matlab... 13 1.2. Περιβάλλον εργασίας... 14 1.3. Δουλεύοντας με το Matlab... 16 1.3.1. Απλές αριθμητικές πράξεις... 16 1.3.2. Σχόλια...

Διαβάστε περισσότερα

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

Διαβάστε περισσότερα

Ηβασική δοµή δεδοµένων είναι ο πίνακας που δεν χρειάζεται να οριστεί η διάσταση του.

Ηβασική δοµή δεδοµένων είναι ο πίνακας που δεν χρειάζεται να οριστεί η διάσταση του. MATrix LABoratory Ηβασική δοµή δεδοµένων είναι ο πίνακας που δεν χρειάζεται να οριστεί η διάσταση του. Τι είναι το MATLAB ; Μια γλώσσα υψηλού επιπέδου η οποία είναι χρήσιµη για τεχνικούς υπολογισµούς.

Διαβάστε περισσότερα

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

Διαβάστε περισσότερα

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

http://users.auth.gr/~ppi/mathematica

http://users.auth.gr/~ppi/mathematica http://users.auth.gr/~ppi/mathematica ΜΑΘΗΜΑΤΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΡΙΘΜΗΤΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ Γλώσσες Προγραμματισμού Fortran, C++, Java,. ΑΛΓΕΒΡΙΚΟΙ ή ΣΥΜΒΟΛΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ Computer Algebra Systems Mathematica,

Διαβάστε περισσότερα

ΑΕΝ / ΑΣΠΡΟΠΥΡΓΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΙΣΜΟΥ. Σημειώσεις για τη χρήση του MATLAB στα Συστήματα Αυτομάτου Ελέγχου

ΑΕΝ / ΑΣΠΡΟΠΥΡΓΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΙΣΜΟΥ. Σημειώσεις για τη χρήση του MATLAB στα Συστήματα Αυτομάτου Ελέγχου ΑΕΝ / ΑΣΠΡΟΠΥΡΓΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΙΣΜΟΥ Σημειώσεις για τη χρήση του MATLAB στα Συστήματα Αυτομάτου Ελέγχου Κ. ΝΑΣΟΠΟΥΛΟΣ - Α. ΧΡΗΣΤΙ ΟΥ Κ. ΝΑΣΟΠΟΥΛΟΣ - Α. ΧΡΗΣΤΙ ΟΥ Οκτώβριος 011 MATLAB

Διαβάστε περισσότερα

Pascal Βασικοί τύποι δεδοµένων

Pascal Βασικοί τύποι δεδοµένων Pasal Βασικοί τύποι δεδοµένων «ΜΗ ΕΝ ΠΟΛΛΟΙΣ ΟΛΙΓΑ ΛΕΓΕ, ΑΛΛ ΕΝ ΟΛΙΓΟΙΣ ΠΟΛΛΑ» Σηµαίνει: "Μη λες πολλά χωρίς ουσία, αλλά λίγα που να αξίζουν πολλά" (Πυθαγόρας) Κουλλάς Χρίστος www.oullas.om oullas 2 Στόχοι

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a

Διαβάστε περισσότερα

Σημειώσεις Matlab. ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Μάθημα: Αριθμητική Ανάλυση Διδάσκων: Καθηγητής Θ.Η. Σίμος.

Σημειώσεις Matlab. ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Μάθημα: Αριθμητική Ανάλυση Διδάσκων: Καθηγητής Θ.Η. Σίμος. ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Μάθημα: Αριθμητική Ανάλυση Διδάσκων: Καθηγητής Θ.Η. Σίμος Σημειώσεις Matlab Γενικά a = 2 Εκχώρηση της τιμής 2 στη μεταβλητή a. b = 3; Εκχώρηση της τιμής

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: Τρίτη, 6 Ιουνίου 2006 07:30 10:30

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Σύνολο χαρακτήρων της Pascal Για

Διαβάστε περισσότερα

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής Διάλεξη 1 Πράξεις Τελεστές Έλεγχος Ροής Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Αριθμητικοί Τελεστές- Αριθμητικές Πράξεις 2 Internal use only Αριθμητικοί

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ...9

ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ...9 ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ...9 ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ΣΤΟ EXCEL...11 1.1 Εισαγωγή στο Excel...11 1.2 Tα βασικά του Excel...12 1.3 Εισαγωγή κειμένου...14 1.4 Απλές μαθηματικές πράξεις στο Excel...16 1.5 ιάφορες

Διαβάστε περισσότερα

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

Διαβάστε περισσότερα

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι Α λ γ ό ρ ι θ μ ο ι Αριθμητικοί τελεστές Οι αριθμητικοί τελεστές είναι: πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση +,-,*,/ ύψωση σε δύναμη ^ πηλίκο ακέραιης διαίρεσης δύο ακεραίων αριθμών div υπόλοιπο

Διαβάστε περισσότερα

Υπο-προγράμματα στη Fortran

Υπο-προγράμματα στη Fortran ΦΥΣ 145 - Διαλ.05 1 Υπο-προγράμματα στη Fortran q Mέχρι τώρα τα προβλήματα και τα προγράμματα που έχουμε δεί ήταν αρκετά απλά και επομένως ένα και μόνο πρόγραμμα ήταν αρκετό για να τα λύσουμε q Όταν τα

Διαβάστε περισσότερα

Λογικά Διανύσματα. >>x = -3/2*pi : pi/100 : 3/2*pi; >>y = tan(x); >>plot(x, y)

Λογικά Διανύσματα. >>x = -3/2*pi : pi/100 : 3/2*pi; >>y = tan(x); >>plot(x, y) Λογικά Διανύσματα Τα λογικά διανύσματα του Matlab είναι πολύ χρήσιμα εργαλεία. Για παράδειγμα ας υποθέσουμε ότι θέλουμε να κάνουμε την γραφική παράσταση της tan(x) στο διάστημα από -3π/2 μέχρι 3π/2. >>x

Διαβάστε περισσότερα

Βασικά στοιχεία του MATLAB

Βασικά στοιχεία του MATLAB ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΕΡΓΑΣΤΗΡΙΟ Εξοικείωση µε το περιβάλλον του MATLAB και χρήση βασικών εντολών και τεχνικών δηµιουργίας προγραµµάτων, συναρτήσεων

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η εβδομάδα. Κοζάνη, 2 Δεκεμβρίου 2008. Δίνονται παραδείγματα που αποσαφηνίζουν και συμπληρώνουν όσα αναφέρθηκαν στο μάθημα σχετικά με τις δομές

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

Περιεχόμενα. Πρόλογος... 17

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για

Διαβάστε περισσότερα

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

Διαβάστε περισσότερα

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

Διαβάστε περισσότερα

Διάλεξη 5η: Εντολές Επανάληψης

Διάλεξη 5η: Εντολές Επανάληψης Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016

Διαβάστε περισσότερα

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

Διαβάστε περισσότερα

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C 1 Εισαγωγή Ο προγραμματισμός είναι μια διαδικασία επίλυσης προβλημάτων με χρήση Η/Υ. Ένα πρόγραμμα είναι ένα σύνολο εντολών κάποιας γλώσσας προγραμματισμού,

Διαβάστε περισσότερα

Σχολή Τεχνολογικών Εφαρμογών. Τμήμα Αυτοματισμού. Σημειώσεις Εργαστηρίου Ψηφιακού Ελέγχου. Σχεδίαση Συστημάτων Ελέγχου με χρήση MATLAB

Σχολή Τεχνολογικών Εφαρμογών. Τμήμα Αυτοματισμού. Σημειώσεις Εργαστηρίου Ψηφιακού Ελέγχου. Σχεδίαση Συστημάτων Ελέγχου με χρήση MATLAB Σχολή Τεχνολογικών Εφαρμογών Τμήμα Αυτοματισμού Σημειώσεις Εργαστηρίου Ψηφιακού Ελέγχου Σχεδίαση Συστημάτων Ελέγχου με χρήση MATLAB Επιμέλεια: Ξανθή Παπαγεωργίου E-mail: xanthi.papageorgiou@gmail.com Τμήματα:

Διαβάστε περισσότερα

Ειζαγωγή ζηο MATLAB (MATLAB Fundamentals)

Ειζαγωγή ζηο MATLAB (MATLAB Fundamentals) Ειζαγωγή ζηο MATLAB (MATLAB Fundamentals) Training Objectives Σο ςεμινάριο είναι διάρκειασ δφο (2) θμερϊν και καλφπτει ειςαγωγικά κζματα ςτθν χριςθ του λογιςμικοφ MATLAB. Απευκφνεται ςε καινοφργιουσ χριςτεσ

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

Διαβάστε περισσότερα

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Τετάρτη, 30 Οκτωβρίου 2013 Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Λύστε στο Visual Basic Express 2010 τις παρακάτω ασκήσεις: 1. Να δημιουργήσετε ένα νέο Project του είδους Console

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

Διαβάστε περισσότερα

SPSS Statistical Package for the Social Sciences

SPSS Statistical Package for the Social Sciences SPSS Statistical Package for the Social Sciences Ξεκινώντας την εφαρμογή Εισαγωγή εδομένων Ορισμός Μεταβλητών Εισαγωγή περίπτωσης και μεταβλητής ιαγραφή περιπτώσεων ή και μεταβλητών ΣΤΑΤΙΣΤΙΚΗ Αθανάσιος

Διαβάστε περισσότερα

ΛΧ1004 Μαθηματικά για Οικονομολόγους

ΛΧ1004 Μαθηματικά για Οικονομολόγους ΛΧ1004 Μαθηματικά για Οικονομολόγους Μάθημα 1 ου Εξαμήνου 2Θ+2Φ(ΑΠ) Ι. Δημοτίκαλης, Επίκουρος Καθηγητής 1 ΤΕΙ ΚΡΗΤΗΣ-ΤΜΗΜΑ Λ&Χ: jdim@staff.teicrete.gr ΠΡΟΤΕΙΝΟΜΕΝΟ ΒΙΒΛΙΟ ΕΦΑΡΜΟΓΕΣ ΜΑΘΗΜΑΤΙΚΟΥ ΛΟΓΙΣΜΟΥ

Διαβάστε περισσότερα

Οδηγίες Χρήσης της MySQL

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Νοέμβριος 2007 1 Περιεχόμενα Εισαγωγή...2

Διαβάστε περισσότερα

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER

Διαβάστε περισσότερα

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties)

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties) Καθηγητής : Κώστας Αχιλλέως ΒΑΣΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΣΤΗ VISUAL BASIC A ΛΥΚΕΙΟΥ ΚΑΤΕΥΘΥΝΣΗΣ Α) Τι είναι η Visual Basic Είναι μια γλώσσα οπτικού προγραμματισμού υψηλού επιπέδου. Β) Οπτικός

Διαβάστε περισσότερα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα

Διαβάστε περισσότερα

Προτεινόμενες εργασίες Προγραμματισμού Διαδικτύου

Προτεινόμενες εργασίες Προγραμματισμού Διαδικτύου Προτεινόμενες εργασίες Προγραμματισμού Διαδικτύου Ιωάννης Γ. Τσούλος Εργασία Πρώτη - Αριθμομηχανή Με την χρήση του περιβάλλοντος AWT ή του SWING θα πρέπει να δημιουργηθεί αριθμομηχανή για την εκτέλεση

Διαβάστε περισσότερα

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

Διαβάστε περισσότερα

1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ»

1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ» 1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ» 1. Πήγαινε στο μενού Αρχείο και επίλεξε Άνοιγμα. Άνοιξε το αρχείο sample.x. Ανοίγουν δυο παράθυρα. Παρατήρησε τα ονόματα τους: Πηγαίος κώδικας... και

Διαβάστε περισσότερα

Εισαγωγή στο Πρόγραμμα Maxima

Εισαγωγή στο Πρόγραμμα Maxima Εισαγωγή στο Πρόγραμμα Maxima Το Maxima είναι ένα πρόγραμμα για την εκτέλεση μαθηματικών υπολογισμών, συμβολικών μαθηματικών χειρισμών, αριθμητικών υπολογισμών και γραφικών παραστάσεων. Το Maxima λειτουργεί

Διαβάστε περισσότερα

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ Β ) ΠΑΡΑΣΚΕΥΗ 5 ΙΟΥΝΙΟΥ 2015 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:

Διαβάστε περισσότερα

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

Υπολογιστικά Συστήματα Υπολογιστικά Συστήματα Ενότητα 6: Ασκήσεις στη Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

Διαβάστε περισσότερα

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης 1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης Στη συγκεκριμένη ενότητα εξετάζουμε θέματα σχετικά με την αριθμητική πεπερασμένης ακρίβειας που χρησιμοποιούν οι σημερινοί υπολογιστές και τα

Διαβάστε περισσότερα

Συστήματα Αυτομάτου Ελέγχου

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

Διαβάστε περισσότερα

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings).

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings). Για να λύσουμε ένα πρόβλημα στη C++ χρειαζόμαστε δυο βασικές έννοιες. Η μια είναι οι οδηγίες εντολές, ο αλγόριθμος δηλαδή, που πρέπει να ακολουθήσουμε για να λύσουμε το πρόβλημά μας και η άλλη είναι τα

Διαβάστε περισσότερα

Γενικό πλαίσιο. Απαιτήσεις Μοντέλο εδοµένων. MinusXLRequirements. Απόστολος Ζάρρας http://www.cs.uoi.gr/~zarras/se.htm

Γενικό πλαίσιο. Απαιτήσεις Μοντέλο εδοµένων. MinusXLRequirements. Απόστολος Ζάρρας http://www.cs.uoi.gr/~zarras/se.htm MinusXLRequirements Απόστολος Ζάρρας http://www.cs.uoi.gr/~zarras/se.htm Γενικό πλαίσιο Μια από τις πιο γνωστές και ευρέως διαδεδομένες εμπορικές εφαρμογές για τη διαχείριση λογιστικών φύλλων είναι το

Διαβάστε περισσότερα

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Κεφάλαιο 2 Εισαγωγή Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Η Logo είναι μία από τις πολλές γλώσσες προγραμματισμού. Κάθε γλώσσα προγραμματισμού έχει σκοπό τη δημιουργία προγραμμάτων

Διαβάστε περισσότερα

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Συναρτήσεις εισόδου/εξόδου, τελεστές Η συνάρτηση scanf() είσοδος δεδομένων Διαβάζει από το πληκτρολόγιο (stdin) μορφοποιημένες τιμές μεταβλητών. scanf (ΣΕΙΡΑ_ΕΛΕΓΧΟΥ, δείκτης_μεταβλητής-1,

Διαβάστε περισσότερα

Πίνακες >>A = [ 1,6; 7, 11]; Ή τον πίνακα >> B = [2,0,1; 1,7,4; 3,0,1]; Πράξεις πινάκων

Πίνακες >>A = [ 1,6; 7, 11]; Ή τον πίνακα >> B = [2,0,1; 1,7,4; 3,0,1]; Πράξεις πινάκων Πίνακες Ένας πίνακας είναι μια δισδιάστατη λίστα από αριθμούς. Για να δημιουργήσουμε ένα πίνακα στο Matlab εισάγουμε κάθε γραμμή σαν μια ακολουθία αριθμών που ξεχωρίζουν με κόμμα (,) ή κενό (space) και

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

Διαβάστε περισσότερα

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ii ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εντολές εκχώρησης (αντικατάστασης)....1 1.1 Εισαγωγή...4 1.1.1 Χρήση ΛΣ και IDE της Turbo Pascal....4 1.1.2 Αίνιγμα...6 1.2 Με REAL...7 1.2.1 Ερώτηση...9 1.2.2 Επίλυση δευτεροβάθμιας

Διαβάστε περισσότερα

M files RCL Κυκλώματα

M files RCL Κυκλώματα M files RCL Κυκλώματα Στο MATLAB γράφουμε τις δικές μας εντολές και προγράμματα μέσω αρχείων που καλούνται m-files. Έχουν το επίθεμα.m π.χ compute.m Υπάρχουν δύο είδη m-files: τα αρχεία script (script

Διαβάστε περισσότερα