230 likes | 371 Views
Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές Matlab Συναρτήσεις και Προγράμματα σε Matlab. Σε τι είναι καλή η Matlab ;. Ολοκληρωμένο Περιβάλλον ανάπτυξης Διερμηνευόμενη γλώσσα ( Interpreter) τα λάθη εντοπίζονται πιο εύκολα Υψηλές επιδόσεις
E N D
Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές Matlab Συναρτήσεις και Προγράμματα σε Matlab
Σε τι είναι καλή η Matlab ; • Ολοκληρωμένο Περιβάλλον ανάπτυξης • Διερμηνευόμενη γλώσσα (Interpreter) τα λάθη εντοπίζονται πιο εύκολα • Υψηλές επιδόσεις • Σχεδιασμένη για πράξεις με πίνακες • Πολλές εφαρμογές – Toolboxes • Ειδικό πρόγραμμα για δημιουργία GUI (Graphical User Interface) – Αντικειμενοστραφής προγραμματισμός • Εκδόσεις σε διάφορα λειτουργικά (Windows, Unix, Mac) • Ευκολία μάθησης
Και σε τι δεν είναι … ; • Η MATLAB δεν είναι μια γενική γλώσσα προγραμματισμού, όπως η C, Java κλπ • Η MATLAB σαν interpreterείναι πιο αργή σε σχέση με τους compilers…π.χ.C++) • Η MATLAB είναι σχεδιασμένη για επιστημονικούς σκοπούς και γι αυτό δεν είναι κατάλληλη για π.χ. επεξεργασία κειμένου
Περισσότερα για τη Matlab… • Matlab: Matrix Laboratory • Βασική δομή της Matlab είναι ο Πίνακας • Μεγάλη οικογένεια toolboxes (συλλογές εξειδικευμένων συναρτήσεων),π.χ. • PDE Toolbox • Mapping Toolbox • Statistics Toolbox • Image Processing Toolbox • Signal Processing Toolbox…κ.α.
Ιστορικά στοιχεία… • 1970’s : Οι Jack Little και Cleve Moler γράφουν την πρώτη έκδοση σε Fortran • Αρχικά είχε εκπαιδευτική χρήση • Έγινε εμπορική το 1984, Mathworks • Σήμερα, γραμμένη σε C, C++και Java
Εναλλακτικές λύσεις….?? • Υπάρχουν….! • Maple • Mathematica • Octave (GNU) • Scilab • Τα Scilab και Octave παρουσιάζoυν ιδιαίτερο ενδιαφέρον, μοιάζουν αρκετά με MATLABκαι είναι ελεύθερα λογισμικά
Πως δουλεύει…?? Current Directory – Φάκελος εργασίας Workspace – Περιβάλλον εργασίας Command Window Παράθυρο εντολών Command History Αρχείο εντολών
Matlab • Τα προγράμματα της Matlab είναι αρχεία κειμένου (text) με την κατάληξη .m • Μπορούν να δημιουργηθούν με ένα απλό editor ή καλύτερα με τον editor της Matlab (εντολή edit) • Oeditor της Matlab χρησιμοποιεί syntax highlighting που διευκολύνει την δημιουργία κώδικα
Matlab • Η Matlab χρησιμοποιεί Scriptsκαι Functions • Script είναι μια σειρά από εντολές σε ένα αρχείο κειμένου • Function είναι αυτόνομα προγράμματα • Βασικό μειονέκτημα των scripts είναι ότι δεν μπορούν να μπορούν να δεχθούν ορίσματα….
Βασικές εντολές της Matlab • Help……….. • Quit – Προσοχή.. • Pwd - μας επιστρέφει τον φάκελο στον οποίο δουλεύουμε… • Who • Whos – επιστρέφουν τις μεταβλητές που έχουν φορτωθεί στο περιβάλλον εργασίας
Βασικές εντολές της Matlabσυνέχεια…. • dir ή ls μας επιστρέφoυν την δομή του καταλόγου στον οποίο δουλεύουμε • cd – αλλαγή φακέλου • Who • Whos – επιστρέφουν τις μεταβλητές που έχουν φορτωθεί στο περιβάλλον εργασίας
Βασικές εντολές της Matlabσυνέχεια…. • Clear - σβήνει τη μνήμη • Load - φορτώνει δεδομένα • Path – προβάλει το path • disp – προβάλει τις τιμές στο παράθυρο εντολών
Εντολές της Matlab συνέχεια…. • Min • Max • Median • Mean • Sum • Diff
Βασικές εντολές της Matlabσυνέχεια…. • Αποθήκευση session και μεταβλητών .mat • save mysession ή • save mysessionvar1 var2 … • Ανάκτηση session • load mysession • save > clear > whos > load > whos
Κοινές προγραμματιστικές δομές • Έλεγχος ροής (if, switch) • Δομές επανάληψης (for, while) • Εντολές διακοπής επανάληψης (break, continue)
Δομή if…elseif…else…end • If A > B • ‘greater’ • elseif A < B • ‘less’ • elseif A = = B • ‘equal’ • else error(‘Unexpected situation’) • end
Λογικοί και σχεσιακοί τελεστές • Σχεσιακοί τελεστές (μεταξύ arrays) • == (ισότητα) ~= (ανισότητα) < (μικρότερο) <= (μικρ. ή ίσο)> (μεγαλύτερο) >= (μεγαλ. ή ίσο) • Λογικοί τελεστές • & (and)| (or)~ (not)
Operators and special characters. : - χωρίζει στήλες πινάκων ; - χωρίζει γραμμές πινάκων π.χ. >> a=[1:2:3:4] a = 1 2 3 4 >> a=[1;2;3;4] a = 1 2 3 4
Όλα είναι πίνακες…. • Πως εισάγουμε δεδομένα πινάκων..? • A=[1 2 3; 4 5 6; 7 8 9] >> A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 >> whos Name Size Bytes Class A 3x3 72 double array Grand total is 9 elements using 72 bytes
Προσοχή στο…; • O χαρακτήρας ; αποτρέπει την απεικόνιση στο παράθυρο εντολών, αποτελεσμάτων ή δεδομένων, αν τοποθετηθεί στο τέλος της γραμμής εντολών. • Επίσης μερικές εντολές είναι case sensitive…..!!!