Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Σχετικά έγγραφα
Εισαγωγή στον επιστημονικό προγραμματισμό 1 o Μάθημα

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα

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

Εισαγωγή στην Αριθμητική Ανάλυση

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB

Εισαγωγή στο Matlab Μέρος Α. Κυριακίδης Ιωάννης 2011

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

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

6 η ΕΝΟΤΗΤΑ Δομές επανάληψης

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Δομημένος Προγραμματισμός (ΤΛ1006)

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

Στοιχειώδης προγραμματισμός σε C++

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Εισαγωγή στη Matlab Βασικές Συναρτήσεις

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

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

Συστήματα Αναμονής (Queuing Systems)

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

Διαδικασιακός Προγραμματισμός

Εισαγωγή στους. Υπολογιστές

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

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

Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2)

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

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

ημιουργία και διαχείριση πινάκων

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Γλώσσα Προγραμματισμού C

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

Πληροφορική. Ενότητα 4: Α. Λογικές εκφράσεις (Παραστάσεις και Δείκτες). Β. Δομές Προγραμματισμού. Κωνσταντίνος Καρατζάς Τμήμα Μηχανολόγων Μηχανικών

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Συνοπτικός οδηγός MATLAB & OCTAVE. (έως και συναρτήσεις) Ιωάννης Καλατζής 2018d

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

1 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Διαδικασιακός Προγραμματισμός

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΤΟΥ MATLAB

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

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

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

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

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

Αντικειμενοστρεφής Προγραμματισμός

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

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

Εισαγωγή στη Matlab Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Σημαντικές δυνατότητες των σύγχρονων υπολογιστικών μηχανών: Αξιόπιστη καταγραφή πολύ μεγάλου όγκου δεδομένων

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση

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

Δεδομένα, τελεστές, είσοδος/έξοδος

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Δομημένος Προγραμματισμός

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Γλώσσα προγραμματισμού python

Δομημένος Προγραμματισμός

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Πρόβλημα 29 / σελίδα 28

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Βασικές Αρχές Προγραμματισμού

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Εντολές επιλογής Επαναλήψεις (if, switch, while)

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

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

Προγραμματισμός Ι (ΗΥ120)

MATLAB Desktop (Επιφάνεια Εργασίας MATLAB) [1.]

ΕΠΛ 012. JavaScripts

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

Transcript:

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στον Επιστημονικό Προγραμματισμό Μάθημα 1 ο Διδάσκοντες: Λεωνίδας Αλεξόπουλος Επ. Καθηγητής ΕΜΠ e-mail: leo@mail.ntua.gr url: http://users.ntua/leo Θεόδωρος Σακελλαρόπουλος Διδακτορικός Φοιτητής e-mail: teo@mail.ntua.gr 1

Περίληψη Μαθήματος Εισαγωγή Τι είναι MATLAB? Το περιβάλλον Στοιχεία MATLAB Μεταβλητές Τελεστές & Συναρτήσεις Προγραμματισμός σε MATLAB Αποθήκευση και φόρτωση Δεδομένων 2

Εισαγωγή 3

Εισαγωγή Τι είναι MATLAB? Είναι γλώσσα προγραμματισμού 4 ης γενιάς. Δηλαδή, Δεν εξαρτάται από την αρχιτεκτονική του υπολογιστή Το συντακτικό είναι πιο κατανοητό από ανθρώπους Έχει ενσωματωμένο ένα σύνολο εφαρμογών για επεξεργασία κειμένου, πλοτάρισμα, ανάπτυξη γραφικού περιβάλλοντος κα. Εξειδικεύεται σε αριθμητικούς υπολογισμούς (numerical computing) και επίλυση προβλημάτων γραμμικής άλγεβρας με χρήση πινάκων (MATrix LABoratory) αλλά έχει και δυνατότητες και για συμβολικούς (symbolic computing). 4

Δυνατότητες MATLAB Toolboxes - Mathworks 5

Το Περιβάλλον MATLAB Τρέχον Φάκελος Γραμμή Εισαγωγής Εντολών (Interpreter) Περιεχόμενα Τρέχοντος Φακέλου Τρέχουσες Μεταβλητές (στη μνήμη) Περιεχόμενο Τρέχοντος Αρχείου Ιστορικό Εντολών 6

Μεταβλητές 7

Μεταβλητές Μεταβλητές είναι θέσεις στη μνήμη του υπολογιστή που μπορούν να αποθηκεύσουν δεδομένα και αναγνωρίζονται μέσο ενός συμβολικού ονόματος. Κάθε μεταβλητή χαρακτηρίζεται από το όνομα, τον τύπο και το περιεχόμενο/τιμή της. Τα ονόματα τους: μπορεί να έχουν το πολύ 63 χαρακτήρες Οι δυνατοί χαρακτήρες είναι γράμματα [Α-Ζ a-z] αριθμοί [0-9] και η κάτω παύλα [ _ ]. Πρέπει να ξεκινούν με γράμμα Πεζά και κεφαλαία διαφέρουν (case sensitive) Δεσμευμένα ονόματα είναι οι ενσωματωμένες συναρτήσεις (πχ fsolve, sort) καθώς και συγκεκριμένα ονόματα (επόμενη διαφάνεια). 8

Δεσμευμένα ονόματα μεταβλητών ans default όνομα για αποτελέσματα pi π i/j Φανταστική μονάδα eps Ακρίβεια κινητής υποδιαστολής realmin Μικρότερος πραγματικός αριθμός realmax Μεγαλύτερος πραγματικός αριθμός inf Άπειρο ( ) NaN Not a Number (πχ 0/0) 9

Τύποι Δεδομένων 10

Double: Κινητής Υποδιαστολής 11

Χαρακτήρες (αλφαριθμητικές) Χρησιμοποιούμε για να ξεχωρίζουμε τους χαρακτήρες από τις μεταβλητές Κάθε χαρακτήρας αντιστοιχεί σε κάποιο αριθμό με βάση κάποιο πρότυπο (συνήθως ASCII) Παραδείγματα: >> W = a >> W = [ H, e, l, l, o ]; >> W = Hello, W=[ Hello ] % idio >> int8( 0abc ) % String to ASCΙΙ >> char([97 98 99]) % ASCΙΙ to String 12

Λογικές Συναρτήσεις Συνάρτηση Σύμβολο Παράσταση true (false) 1 (0) X = 1 ή X = true and & ή && Α & Β (ή a && b) not ~ ~A or ή Α Β (ή a b) xor all / any (is true) find (true) xor(a,b) all(a) / any(a) find(a) Η σειρά των πράξεων είναι not, and και or. Η ανάγνωση γίνεται από αριστερά προς τα δεξιά. Τα && και είναι για εξοικονόμηση χρόνου όταν υπολογίζουμε λογικές παραστάσεις που καταλήγουν σε true ή false. 13

Έλεγχος Τύπου Μεταβλητών 14

Πίνακες Πολλά στοιχεία (ίδιου τύπου) μπορούν να αποθηκευτούν μαζί με τη μορφή πίνακα. Όλες οι μεταβλητές στη MATLAB είναι πίνακες. Τα στοιχεία οργανώνονται στις διαστάσεις του πίνακας που μπορεί να είναι 1 (διάνυσμα), 2 ή και παραπάνω Οι πίνακες μπορούν να κατασκευαστούν με τον τελεστή[]. Για παράδειγμα: >> A = [1] % ίδιο με Α = 1 % πίνακας σειρά με κόμμα ή κενό >> A = [2 3 5], Α = [2,3,5] >> Α = [2,3 5; 6 7,9] % αλλαγή στήλης με «;» >> A = [[1;3;4],[5;5;5]] % κατά στήλες Ή με ειδικές συναρτήσεις (βλ επόμενη διαφάνεια) 15

Βασικές Συναρτήσεις Πινάκων Δημιουργία Πινάκων eye(m,n) Μοναδιαίος πίνακας (m x n) zeros(m,n) Μηδενικός πίνακας (m x n) ones(m,n) Πίνακας (m x n) με 1 rand(m,n) Τυχαίος πίνακας (m x n) Συναρτήσεις Πινάκων Α Ανάστροφος του Α size(a) Διαστάσεις του Α det(a) Ορίζουσα του Α eig(a) Ιδιοτιμές του Α inv(a) Αντίστροφος του Α norm(a) Μέτρο του Α rank(a) Τάξη του Α 16

A = 1 2 3 1 4 7 1 2 5 8 2 3 6 9 3 Indexing Υπάρχουν 2 τρόποι indexing: 1. Με δείκτες πχ Α(2, 3) == 8 (2 η γραμμή, 3 η στήλη) 2. Με γραμμικό indexing πχ Α(8) (κατά στήλες) Με χρήση του τελεστή (:) m:n [m, m+1,, n] m:k:n [m, m+k, m+2k,, n] Α(k, m:n) Α(k, :) ή A(:, k) A(m:n) A(:) [A(k, m), A(k, m+1),, A(k, n)] [A(k, 1) A(k, 2) A(k, end-1) A(k, end)] [A(m) A(m+1) A(n)] [A(1); ; A(end)] (όλα τα στοιχεία σε διάνυσμα) Α(λογική παράσταση) πχ Α(k, A(k,:)>0) [ μόνο τα θετικά στοιχεία της σειράς k ] 17

Τελεστές & Συναρτήσεις 18

Αριθμητικοί Τελεστές >> help arith Πράξη Σύμβολο Παράσταση Καταχώρηση = Α = Β (το Β στο Α) Πρόσθεση + Α + Β Αφαίρεση - Α Β Πολλαπλασιασμός * ή.* Α * Β ή Α.* Β Διαίρεση (δεξιά) / ή./ Α / Β ή Α./ Β Δύναμη ^ ή.^ Α ^ Β ή Α.^ Β Η σειρά των πράξεων είναι η συνήθης και η ανάγνωση γίνεται από αριστερά. Επειδή όλες οι μεταβλητές στην MATLAB είναι πίνακες, πολλαπλασιασμοί, διαιρέσεις και δυνάμεις αναφέρονται σε πράξεις πινάκων. Με το πρόθεμα της τελείας οι πράξεις εκτελούνται μεταξύ των αντίστοιχων θέσεων του πίνακα (στοιχείο προς στοιχείο). 19

Συγκριτικοί Τελεστές Τελεστής Σύμβολο Παράσταση Ίσο == Α == Β Μεγαλύτερο > Α > Β Μεγαλύτερο ίσο >= Α >= Β Μικρότερο < Α < Β Μικρότερο ίσο <= Α <= Β Διάφορο ~= Α ~= Β 20

Σειρά Πράξεων >> help precedence 1. Παρενθέσεις () 2. Αναστροφή ( ), Δυνάμεις (^) 3. not (~) 4. Πολλαπλασιασμός (*), Διαίρεση (/) 5. Πρόσθεση (+), Αφαίρεση (-) 6. (:) 7. Συγκριτικοί Τελεστές (<, <=, >, >=, ==, ~=) 8. and (&) 9. or ( ) 10. γρήγορο and (&&) 11. γρήγορο or ( ) Μεταξύ τελεστών ίσης ισχύς, πρώτα εκτελείται αυτός που είναι πιο αριστερά. 21

Βασικές Αριθμητικές Συναρτήσεις 22

Προγράμματα & Έλεγχος Ροής 23

M-files: Scripts Είναι αρχεία κειμένου που περιέχουν εντολές MATLAB (η πιο απλή μορφή προγράμματος). Εκτελούνται με σειρά σαν να έγραφε ο χρήστης στη γραμμή εντολών. Δεν έχουν εισόδους και εξόδους. Χρήσιμα για αυτοματοποίηση. Το όνομα των αρχείων πρέπει να τελειώνει σε.m για να τα αναγνωρίζει η MATLAB. Πρέπει να αποθηκευτούν πριν εκτελεστούν! Δημιουργία: >> edit filename Εκτέλεση: >> filename 24

Δομημένος Προγραμματισμός if, elseif, else: if expression statements elseif expression statements else statements end for for index = values end statements while while expression statements end >> continue % προσπερνάει μια επανάληψη >> break % σταματάει τον βρόγχο 25

Αλγόριθμος Fibonacci x = [1 1]; phi = [0 1]; N = 6; for n = 3:N; x(n) = x(n-1) + x(n-2); phi(n) = x(n)/x(n-1); end phi(n) 26

Tips >> % Comment line, grafo sxolia >> a = 5 ; % Den emfanizei to apotelesma >> a = 5 + 4 % Synexizei stin epomeni grammi + 3 >> a = 5, b =4; c = a-b % polles entoles se 1 grammi >> A(:, 2) = [] % svinei tin 2h stili tou A >> clear % svinei oles tis metavlites >> clc % clear command doesn t delete variables CTRL + C % akyrwnei tin trexousa diergasia 27

Αποθήκευση & Φόρτωση Δεδομένων 28

Αποθήκευση Δεδομένων Από γραμμή εντολών: >> save( myfile, Var1, Var2 ) Με GUI Με συναρτήσεις Τύπος Text (csv, txt, etc) Spreadsheet (xls, etc) Images (jpg, png, etc) Συνάρτηση csvwrite, dlmwrite, writetable xlswrite, writetable imwrite Video/Audio VideoWriter/audiowrite 29

Εισαγωγή Δεδομένων Από γραμμή εντολών: >> load data.mat Import με GUI Με συναρτήσεις Τύπος Συνάρτηση Text (csv, txt, etc) csvread, dlmread, textscan, readtable Spreadsheet (xls, etc) xlsread, readtable Images (jpg, png, etc) imread Video/Audio VideoReader/audioread Generic importdata 30