Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή –...

23
Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές Matlab Συναρτήσεις και Προγράμματα σε Matlab

description

Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές Matlab Συναρτήσεις και Προγράμματα σε Matlab. Σε τι είναι καλή η Matlab ;. Ολοκληρωμένο Περιβάλλον ανάπτυξης Διερμηνευόμενη γλώσσα ( Interpreter) τα λάθη εντοπίζονται πιο εύκολα Υψηλές επιδόσεις - PowerPoint PPT Presentation

Transcript of Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή –...

Page 1: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ

Μάθημα 2

Εισαγωγή – Βασικές αρχές Matlab

Συναρτήσεις και Προγράμματα σε Matlab

Page 2: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Σε τι είναι καλή η Matlab ;

• Ολοκληρωμένο Περιβάλλον ανάπτυξης• Διερμηνευόμενη γλώσσα (Interpreter) τα λάθη

εντοπίζονται πιο εύκολα• Υψηλές επιδόσεις • Σχεδιασμένη για πράξεις με πίνακες• Πολλές εφαρμογές – Toolboxes• Ειδικό πρόγραμμα για δημιουργία GUI (Graphical User

Interface) – Αντικειμενοστραφής προγραμματισμός• Εκδόσεις σε διάφορα λειτουργικά (Windows, Unix, Mac)• Ευκολία μάθησης

Page 3: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

• Η MATLAB δεν είναι μια γενική γλώσσα προγραμματισμού, όπως η C, Java κλπ

• Η MATLAB σαν interpreter είναι πιο αργή σε σχέση με τους compilers…π.χ.C++)

• Η MATLAB είναι σχεδιασμένη για επιστημονικούς σκοπούς και γι αυτό δεν είναι κατάλληλη για π.χ. επεξεργασία κειμένου

Και σε τι δεν είναι … ;

Page 4: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Περισσότερα για τη Matlab…

• Matlab: Matrix Laboratory

• Βασική δομή της Matlab είναι ο Πίνακας

• Μεγάλη οικογένεια toolboxes (συλλογές εξειδικευμένων συναρτήσεων), π.χ.– PDE Toolbox– Mapping Toolbox– Statistics Toolbox– Image Processing Toolbox– Signal Processing Toolbox…κ.α.

Page 5: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Ιστορικά στοιχεία…

• 1970’s : Οι Jack Little και Cleve Moler γράφουν την πρώτη έκδοση σε Fortran

• Αρχικά είχε εκπαιδευτική χρήση

• Έγινε εμπορική το 1984, Mathworks

• Σήμερα, γραμμένη σε C, C++ και Java

Page 6: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Εναλλακτικές λύσεις….??

• Υπάρχουν….!– Maple– Mathematica– Octave (GNU)– Scilab

• Τα Scilab και Octave παρουσιάζoυν ιδιαίτερο ενδιαφέρον, μοιάζουν αρκετά με MATLAB και είναι ελεύθερα λογισμικά

Page 7: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Πως δουλεύει…??

Command Window

Παράθυρο εντολών

Command History

Αρχείο εντολών

Current Directory – Φάκελος εργασίας

Workspace – Περιβάλλον εργασίας

Page 8: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Matlab• Τα προγράμματα της

Matlab είναι αρχεία κειμένου (text) με την κατάληξη .m

• Μπορούν να δημιουργηθούν με ένα απλό editor ή καλύτερα με τον editor της Matlab (εντολή edit)

• O editor της Matlab χρησιμοποιεί syntax highlighting που διευκολύνει την δημιουργία κώδικα

Page 9: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Matlab

• Η Matlab χρησιμοποιεί Scripts και Functions

• Script είναι μια σειρά από εντολές σε ένα αρχείο κειμένου

• Function είναι αυτόνομα προγράμματα

• Βασικό μειονέκτημα των scripts είναι ότι δεν μπορούν να μπορούν να δεχθούν ορίσματα….

Page 10: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Βασικές εντολές της Matlab

• Help………..

• Quit – Προσοχή..

• Pwd - μας επιστρέφει τον φάκελο στον οποίο δουλεύουμε…

• Who

• Whos – επιστρέφουν τις μεταβλητές που έχουν φορτωθεί στο περιβάλλον εργασίας

Page 11: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Βασικές εντολές της Matlab συνέχεια….

• dir ή ls μας επιστρέφoυν την δομή του καταλόγου στον οποίο δουλεύουμε

• cd – αλλαγή φακέλου

• Who

• Whos – επιστρέφουν τις μεταβλητές που έχουν φορτωθεί στο περιβάλλον εργασίας

Page 12: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Βασικές εντολές της Matlab συνέχεια….

• Clear - σβήνει τη μνήμη

• Load - φορτώνει δεδομένα

• Path – προβάλει το path

• disp – προβάλει τις τιμές στο παράθυρο εντολών

Page 13: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

• Min

• Max

• Median

• Mean

• Sum

• Diff

Εντολές της Matlab συνέχεια….

Page 14: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Βασικές εντολές της Matlab συνέχεια….

• Αποθήκευση session και μεταβλητών .mat– save mysession ή– save mysession var1 var2 …

• Ανάκτηση session– load mysession

• save > clear > whos > load > whos

Page 15: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Κοινές προγραμματιστικές δομές

• Έλεγχος ροής (if, switch)

• Δομές επανάληψης (for, while)

• Εντολές διακοπής επανάληψης (break, continue)

Page 16: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Δομή if…elseif…else…end

• If A > B

• ‘greater’

• elseif A < B

• ‘less’

• elseif A = = B

• ‘equal’

• else error(‘Unexpected situation’)

• end

Page 17: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Λογικοί και σχεσιακοί τελεστές• Σχεσιακοί τελεστές (μεταξύ arrays)

• == (ισότητα) ~= (ανισότητα) < (μικρότερο) <= (μικρ. ή ίσο)> (μεγαλύτερο) >= (μεγαλ. ή ίσο)

• Λογικοί τελεστές

• & (and)| (or)~ (not)

Page 18: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Operators and special characters.

: - χωρίζει στήλες πινάκων

; - χωρίζει γραμμές πινάκων

π.χ. >> a=[1:2:3:4] a = 1 2 3 4

>> a=[1;2;3;4]a =

1 2 3 4

Page 19: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Πως εισάγουμε μεταβλητές..?

Είσοδος Έξοδος Σχόλια

2 + 37-534*2121234/57862^5

ans = 5ans = 2ans = 7208ans = 0.2173ans = 32

Το τελικό αποτέλεσμα αποθηκεύεται στην default μεταβλητή ans αν δεν το αναθέσουμε αλλού

a = sqrt(2)

a = 1.4142 Ανάθεση στη μεταβλητή a

Page 20: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Πως εισάγουμε μεταβλητές..?

b = a, pi, 2 + 3i

b = 1.4142ans = 3.1416ans = 2.0000 + 3.0000i

Τα κόμματα μπορούν να διαχωρίζουν διαφορετικές εντολές στην ίδια γραμμή

c = sin(pi) c = 1.2246e-016

d = [1 2 3 4 5 6 7 8 9]e = [1:9]f = 1:9

d = 1 2 3 4 5 6 7 8 9e = 1 2 3 4 5 6 7 8 9 f = 1 2 3 4 5 6 7 8 9

Διαφορετική αρχικοποίηση – Ίδια διανύσματα

g = 0:2:10f(3)f(2:7)f(:)

g = 0 2 4 6 8 10ans = 3ans = 2 3 4 5 6 71 2 3 4 5 6 7 8 9

Χρήσεις του τελεστή :

Page 21: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Όλα είναι πίνακες….

• Πως εισάγουμε δεδομένα πινάκων..?

• 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

Page 22: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Προσοχή στο… ;

• O χαρακτήρας ; αποτρέπει την απεικόνιση στο παράθυρο εντολών, αποτελεσμάτων ή δεδομένων, αν τοποθετηθεί στο τέλος της γραμμής εντολών.

• Επίσης μερικές εντολές είναι case sensitive…..!!!

Page 23: Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 2 Εισαγωγή – Βασικές αρχές  Matlab

Γρήγορα στο Εργαστήριο….