Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στον επιστημονικό προγραμματισμό 1ο Μάθημα Λεωνίδας Αλεξόπουλος Επίκουρος Καθηγητής ΕΜΠ E-mail: leo@mail.ntua.gr URL: http://users.ntua.gr/leo
Εισαγωγή στo MatLab Τί είναι το MatLab ? - MATLAB (matrix laboratory) is a numerical computing environment and fourth-generation programming language. IC engine MATLAB animation.avi.mp4 - YouTube MATLAB to FlightGear.mp4 Bouncing ball animation in MatLab 2010b.mp4
Biomechanics Cell Simulation (systems biology) CFD Image Pr. Gait Analysis Robotics GUI
Εισαγωγή στo MatLab - Mathworks
Εισαγωγή στo MatLab Τί είναι το MatLab ? Δεν κανει περισσοτερα πράγματα άπο την C ή την Fortran Τα κάνει ευκολότερα
Εισαγωγή στo MatLab Εύρεση max διδιάστατου πίνακα Σε C Σε Matlab Max(A)
Εισαγωγή στo MatLab Επίλυση μη-γραμμικης αλγεβρικής εξίσωσης Σε C Fsolve(f)
Εισαγωγή στo MatLab Ταξινόμηση πίνακα Σε C Σε Matlab Sort(A)
Εισαγωγή στo MatLab To MatLab διευκολύνει την συγγραφή προγραμμάτων παρέχοντας στον χρήστη πλήθος έτοιμων συναρτήσεων γενικής χρήσης
CloudFront Εισαγωγή / Έναρξη cloudfront cloudfront.central.ntua.gr Διαχείριση Αρχείων Δείτε: «wiki - Cloud Storage» File Manager Linux GNOME Desktop Δημιουργία Folder “MatLab” στο DeskTop Kill/close programs
Εισαγωγή στo 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
Γραφικό Περιβάλλον
Όλοι οι αριθμοί είναι πίνακες με double precision! Αριθμοί >> 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
Data Classes
Numeric Classes >> A=100 >> A=1e2 >> B=int8(10) >> whos >> B=10 >> B=int8(100) >> 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
Έλεγχος αριθμητικού στοιχείου Numeric Classes Έλεγχος αριθμητικού στοιχείου >> whos Α >> c=isa(A, ‘double’) >> c=isa(A, ‘single’) >> class(c) Τι είναι το ‘c’ ? http://www.mathworks.com/help/techdoc/matlab_prog/f2-12135.html
Μεταβλητές Στο περιβάλλον της MATLAB τα ονόματα των μεταβλητών κάνουν διάκριση ανάμεσα στα πεζά και τα κεφαλαία Το όνομα κάθε μεταβλητής μπορεί να έχει μέχρι 63 χαρακτήρες >> Αrith=10 >> ΑrIth=20 >> whos >> Metavl_1=1 >> Metavl_2=3 >> Α=100 >> a=101 >> whos >> 1Α=100 ??? 1A Error: Unexpected MATLAB expression >> s=2 %grafo oti thelo Comment
Κάθε χαρακτήρας αντιστοιχεί σε έναν αριθμό Χαρακτήρες Κάθε χαρακτήρας αντιστοιχεί σε έναν αριθμό >> b=‘0abc’ >> int8(b) ans = 48 97 98 99 >> S = char(48) S = >> S = char([97 98 99]) abc >> Α = ‘a’ >> A = [‘H’,‘e’,‘l’,‘l’,‘o’] >> A = [‘Hello’] >> >> whos A char >> str1=‘Hello’ >> str2=‘Word’ >> str3=[str1,' ',str2] String to ASCII ASCII to String http://www.mathworks.com/help/techdoc/ref/strings.html
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
Πίνακες vector >> x = [1 2 3 4.5] Matrix
Indexing >> x = [1:4 ; 5:8; 9:12] >> x(1,2) = ?
ΚΑΝΟΝΕΣ ΓΙΑ ΤΙΣ ΑΣΚΗΣΕΙΣ Όλες οι ασκήσεις είναι προαιρετικές 2. Με σωστές απαντήσεις σε όλες τις ασκήσεις παίρνετε +1 βαθμό στις τελικές εξετάσεις του εξαμήνου (όχι τις επαναληπτικές του Σεπτεμβρίου) και ΜΟΝΟ άμα έχετε περάσει το μάθημα. 3. Η παράδοση των ασκήσεων ΔΕΝ σας βοηθάει να περάσετε το μάθημα. 4. Η παράδοση των ασκήσεων σας βοηθάει: 1) Να μάθετε τα πολύ βασικά στοιχεία της Matlab 2) Nα πάρετε λίγο καλύτερο τελικό βαθμό
ΚΑΝΟΝΕΣ ΓΙΑ ΤΙΣ ΑΣΚΗΣΕΙΣ 4. Όλες οι απαντήσεις είναι ηλεκτρονικά στην διεύθυνση KAI ΜΟΝΟ HL.YPOL@gmail.com 5. Όλες οι απαντήσεις γράφονται ως PLAIN ΤΕΧΤ και ΌΧΙ σαν συνημμένο αρχείο. 6. Ο τίτλος του e-mail είναι ΑΥΣΤΗΡΑ me LATINIKOYS xaraktires kai format: ASK01-GP1-ALEXOPOULOS-LE-02109683-05.12.2013 ASKHSH## ASK01, ASK02, ASK03, ASK04, …. GROUP: GP1 ή GP2 ΕΠΩΝΥΜΟ: ALEXOPOULOS (kafalaia) ONOMA(2grammata): LE Αρ.Μητρώου: * Αν δεν έχετε αριθμό μητρώου, βάλτε 8 μηδενικά Deadline: 00.00.0000
ΚΑΝΟΝΕΣ ΓΙΑ ΤΙΣ ΑΣΚΗΣΕΙΣ 7. Δεν θα απαντάω σε αυτό το e-mail 8. Το deadline είναι αυστηρό ακόμα και για καθυστέρηση ενός λεπτού. Από την στιγμή που η ημέρα παραλαβής είναι μετά το deadline που φαίνεται στον τίτλο, η άσκηση διαγράφεται και ακυρώνετε αυτόματα. Άρα deadline: 11:59pm
ΑΝΤΙΓΡΑΦΕΣ Σε περίπτωση αντιγραφών θα ακυρώσω ΚΑΙ την θερινή ΚΑΙ την επαναληπτική εξέταση ΣΕ ΟΛΑ τα εμπλεκόμενα άτομα και άσχετα ποιος αντέγραψε από ποιον και πόσα μαθήματα χρωστάει. Επίσης θα παραπέμψω το θέμα στον πρόεδρο της σχολής
Oι απαντήσεις σε e-mail με τίτλο (latinikous charaktires): ΑΣΚΗΣΗ 1η : GROUP1(A-Λ): Δευτέρα 06.01.2014, 11:59μμ ΑΣΚΗΣΗ 1η : GROUP2(M-Ω): Πέμπτη 06.01.2014, 11:59μμ Δημιουργήστε ένα πίνακα με 2 γραμμές και 4 στήλες και εισάγετε τις τιμές 2. Χρησιμοποιώντας κωδικοποίηση με: a) 8bits χωρίς πρόσημο b) 8bits με πρόσημο c) 16bits με πρόσημο υπολογίστε πως το MATLAB καταγράφει τους παραπάνω αριθμούς και σχολιάστε 8 -180 65789 2098 0.15 202.9 -0.64 -100.19 Oι απαντήσεις σε e-mail με τίτλο (latinikous charaktires): ASΚ01-GP1-ΤΟΕΠΟΝΥΜΟΜΟΥ-ΟΝ-02100000-06.01.2014 ASΚ01-GP2-ΤΟΕΠΟΝΥΜΟΜΟΥ-ΟΝ-02100000-06.01.2014
+8 βαθμούς που μοιράζονται μεταξύ των μελών της ομάδας The big project! Ένα υπερβολικά δύσκολο θέμα: +8 βαθμούς που μοιράζονται μεταξύ των μελών της ομάδας +4 για σωστή επίλυση του αλγοριθμικού μέρους +4 για το τελικό πρόγραμμα (GUI) Προφορική εξέταση στο θέμα Παρουσίαση σε powerpoint στην τάξη στο τελευταίο μάθημα (10 λεπτά) Δεν με ενδιαφέρει τι πακέτο θα χρησιμοποιήσετε. Απλά βρείτε την σωστή λύση.
The big project! 458 ΜΕΤΡΗΣΕ! Σύστημα αυτόματης καταμέτρησης σφαιριδίων Live Image from USB camera ΜΕΤΡΗΣΕ! Αριθμός σφαιριδίων: 458 Παράμετροι: