Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ Εισαγωγή στον επιστημονικό προγραμματισμό 1 o Μάθημα email: leo@mail.ntua.gr url: http://users.ntua.gr/leo
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.
Εισαγωγή στo MatLab Τί είναι το MatLab? - MATLAB (matrix laboratory) is a numerical computing environment and fourth-generation programming language. - YouTube IC engine MATLAB animation.avi.mp4 Bouncing ball animation in MatLab 2010b.mp4 MATLAB to FlightGear.mp4 3
Biomechanics Cell Simulation (systems biology) Gait Analysis CFD Image Pr. Robotics GUI 3 4
- Mathworks Εισαγωγή στo MatLab 4 5
Εισαγωγή στo MatLab Τί είναι το MatLab? - Το MatLab είναι μια 4 ου επιπέδου γλώσσα προγραμματισμού - Δεν κανει περισσοτερα πράγματα άπο την C ή την Fortran Τα κάνει ευκολότερα 6
Εισαγωγή στo MatLab Εύρεση max διδιάστατου πίνακα Σε C Σε Matlab Max(A) 7
Εισαγωγή στo MatLab Επίλυση μη-γραμμικης αλγεβρικής εξίσωσης Σε C Σε Matlab Fsolve(f) 8
Εισαγωγή στo MatLab Ταξινόμηση πίνακα Σε C Σε Matlab Sort(A) 8 9
Εισαγωγή στo MatLab To MatLab διευκολύνει την συγγραφή προγραμμάτων παρέχοντας στον χρήστη πλήθος έτοιμων συναρτήσεων γενικής χρήσης 10
CloudFront Εισαγωγή / Έναρξη cloudfront Διαχείριση Αρχείων cloudfront.central.ntua.gr Δείτε: «wiki - Cloud Storage» File Manager Linux GNOME Desktop Δημιουργία Folder MatLab στο DeskTop Kill/close programs 11
Εισαγωγή στo MatLab Γλώσσα «υψηλού προγραμματισμού» Γραφικό Περιβάλλον MatLab Help Menu / Function Browser Numbers (single/double, int8, scientific) Shortcuts commands ( Tab : complete command, previous command) Matrix (most basic MATLAB data structure) Vector Indexing Examples of matrices Arithmetic Operators + - * / \ ^ ' applied in in numbers and matrices M file 12
Γραφικό Περιβάλλον 13
Αριθμοί >> A=100 A = 100 >> whos Name Size Bytes Class Attributes A 1x1 8 double Όλοι οι αριθμοί είναι πίνακες με double precision! int a; double b; float c; >> http://www.mathworks.com/help/techdoc/matlab_prog/f2-12135.html#f2-101310 13 14
Data Classes 15
Numeric Classes >> A=100 >> A=1e2 >> B=int8(10) >> whos >> B=10 >> whos >> B=int8(100) >> B=int8(200) ΛΑΘΟΣ? >> B=int8(200) >> B=uint8(200) >> class(b) >> e = 1-3*(4/3-1) >> e = 2.2204e-016 http://www.mathworks.com/help/techdoc/matlab_prog/f2-12135.html 15 16
>> whos Α Numeric Classes Έλεγχος αριθμητικού στοιχείου >> c=isa(a, double ) >> c=isa(a, single ) >> class(c) Τι είναι το c? http://www.mathworks.com/help/techdoc/matlab_prog/f2-12135.html 16 17
Μεταβλητές Στο περιβάλλον της MATLAB τα ονόματα των μεταβλητών κάνουν διάκριση ανάμεσα στα πεζά και τα κεφαλαία Το όνομα κάθε μεταβλητής μπορεί να έχει μέχρι 63 χαρακτήρες >> Α=100 >> a=101 >> whos >> 1Α=100??? 1A Error: Unexpected MATLAB expression >> Αrith=10 >> ΑrIth=20 >> whos >> Metavl_1=1 >> Metavl_2=3 >> s=2 %grafo oti thelo Comment 17 18
Χαρακτήρες Κάθε χαρακτήρας αντιστοιχεί σε έναν αριθμό >> Α = a >> A = [ H, e, l, l, o ] >> A = [ Hello ] >> >> whos A char >> str1= Hello >> str2= Word >> str3=[str1,' ',str2] >> b= 0abc >> int8(b) ans = 48 97 98 99 String to ASCII >> S = char(48) S = 0 >> S = char([97 98 99]) S = abc ASCII to String http://www.mathworks.com/help/techdoc/ref/strings.html 19 18
Tips. >> % Comment line, edo grafo sxolia >> A =5; % Den grafete h apantisi >> A =5+3 % Sinexizo na grafo stin epomeni grammi +2 >> A =5, B = myname ; C=6, D = A+C % Polles entoles se mia grammi >> clc % Clear command Does not delete variables 20
Πίνακες vector >> x = [1 2 3 4.5] Matrix >> x = [1 2 3 4; 5 6 7 8; 9 10 11 12] >> x(1) =? >> x(2) =? >> x = [1:4 ; 5:8; 9:12] Σε τι διαφέρει από x = [1:4, 5:8, 9:12]? >> x = [1:0.1:2] >> x = [2:-0.1:1] >> x 21
Indexing >> x = [1:4 ; 5:8; 9:12] >> x(1,2) =? >> x(1,5) =? >> x(1,1:2) =? >> x(1,:) =? 22
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.