Εισαγωγή στο Matlab (μέρος β) Κολοβού Αθανασία, ΕΔΙΠ,

Σχετικά έγγραφα
ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB. Κολοβού Αθανασία Ε.Τ.Ε.Π.

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

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

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος

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

Χρονικές σειρές 4 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ

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

1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75

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

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

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 14

Λογικά Διανύσματα. >>x = -3/2*pi : pi/100 : 3/2*pi; >>y = tan(x); >>plot(x, y)

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

Εισαγωγή στο GNU Octave/MATLAB

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 17

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

Βασικά στοιχεία στο Matlab

ΕΙΣΑΓΩΓΗ ΣΤΟ MATHLAB Α ΜΕΡΟΣ

Εισαγωγικές σημειώσεις στο Matlab

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

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

Matlab functions. Κολοβού Αθανασία, ΕΔΙΠ, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5

4. Εισαγωγή στο Matlab

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

A A A B A ΦΥΛΛΑ ΙΟ ΘΕΜΑΤΩΝ 1/2. Μέϱος A. Πολλαπλές επιλογές (20%) Σειριακός αριθµός : 100 Πληροφορική Ι Εξέταση Φεβρουαρίου 2019

5 η ΕΝΟΤΗΤΑ Γραφήματα στο MATLAB

Για τη δημιουργία ενός διανύσματος με στοιχεία από το 0 μέχρι το 20 με βήμα το 2 (χρησιμοποιείται συνήθως για διανύσματα χρόνου) δίνουμε

Σύστηµα επεξεργασίας πινάκων και συναρτήσεων τους για εφαρµογές αριθµητικής ανάλυσης και γραφικής παρουσίασης.

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

Νέο υλικό. Matlab2.pdf - Παρουσίαση μαθήματος 2. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (13 σελίδες).

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

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

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

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

Το παράθυρο έναρξης του Μatlab

Επιστηµονικός Υπολογισµός Ι - Πρώτη εργαστηριακή άσκηση

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 7 ο Εργαστήριο. Διανύσματα-Πίνακες 2 ο Μέρος

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

Βασικά στοιχεία του MATLAB

Αλληλεπίδραση με το Matlab

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

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

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

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

αριθµητικούς υπολογισµούς, δίχως προγραµµατισµό σε συµβατικές γλώσσες (Fortran, C)

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

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

αριθµητικούς υπολογισµούς, δίχως προγραµµατισµό σε συµβατικές γλώσσες (Fortran, C)

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 5: Πίνακες [1/2] (Διανύσματα)

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ

Προγραμματισμός στο Matlab

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

ηµιουργία αρχείου στον matlab editor Πληκτρολόγηση ακολουθίας εντολών

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Strings. Τα strings μπορούν να αντιστοιχηθούν σε μεταβλητές δηλώνοντας τα με απόστροφο

Εργαστήριο Γραμμικής Άλγεβρας. H Matlab ως γλώσσα προγραμματισμού

Συστήματα Διακριτού Χρόνου (Discrete-Time Systems) Κυριακίδης Ιωάννης 2011

ΠΑΡΑΡΤΗΜΑ Α Εισαγωγή στο MATLAB

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 11: MATLAB

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

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

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

4. Επιλογή και Επανάληψη

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 1 ο Εργαστήριο. Εισαγωγή στο Matlab

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

Μαρία Λουκά. Εργαστήριο Matlab. Αριθμητικός υπολογισμός ιδιοτιμών και ιδιοδιανυσμάτων. Τμήμα Πληροφορικής και Τηλεπικοινωνιών.

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Εισαγωγή στο Gnuplot. Σφυράκης Χρυσοβαλάντης

ΑΣΚΗΣΕΙΣ ΠΡΩΤΗΣ ΕΝΟΤΗΤΑΣ

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

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

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

Ένας πρώτος τρόπος εύρεσης των διαστάσεων ενός πίνακα στο. Matlab είναι με την εντολή size(όνομα πίνακα) και πατώντας. enter ( )

Σύντομη Αναφορά σε Βασικές Έννοιες Ψηφιακής Επεξεργασίας Σημάτων

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

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

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Παράδειγμα για διαχείριση strings

Ηβασική δοµή δεδοµένων είναι ο πίνακας που δεν χρειάζεται να οριστεί η διάσταση του.

Σηµειώσεις MATLAB. Μιχάλης ρακόπουλος. Υπολογιστική Επιστήµη & Τεχνολογία, #01

Εισαγωγή στο MATLAB. Μάθημα 1. Επιµέλεια: Φίλιππος Δογάνης

Programming και Scripts

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

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

ΗΜΥ 100 ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΤΕΧΝΟΛΟΓΊΑ

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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

M files RCL Κυκλώματα

Transcript:

Εισαγωγή στο Matlab (μέρος β) Κολοβού Αθανασία, ΕΔΙΠ, akolovou@di.uoa.gr

ΔΙΑΧΕΙΡΙΣΗ ΠΙΝΑΚΩΝ Ορισμός πίνακα >>B=[3 5;9 7] B = 3 9 5 7 Ορισμός διανύσματος >>x = [ 2 5 ] x = Ανάστροφος y=x 2 5 y = 2 5

ΔΙΑΧΕΙΡΙΣΗ ΠΙΝΑΚΩΝ Δημιουργία πινάκων από συναρτήσεις zeros(m,n), MxN πίνακας με μηδενικά >>M = zeros(3,2) M = 0 0 0 Αριθμός Αριθμός γραμμών στηλών ones(m,n) MxN πίνακας με 0 0 0 >>M = ones(3,2) M = rand(m,n) MxN πίνακας από ομοιόμορφα κατανεμημένους τυχαίους αριθμούς στο διάστημα (0,) >>M = rand(3,2) M = 0.847 0.9058 0.270 0.934 0.6324 0.0975

ΔΙΑΧΕΙΡΙΣΗ ΠΙΝΑΚΩΝ Εξαγωγή στοιχείου x(i,j) >>x = [ 2 3; 5 4; 3 2 -] x = 2 3 5 4 3 2 - >> y=x(2,3) y = 4 Εξαγωγή ολόκληρης γραμμής Εξαγωγή ολόκληρης στήλης >> y=x(3,:) y = 3 2 >> y=x(:,2) y = 2 2 -

ΔΙΑΧΕΙΡΙΣΗ ΠΙΝΑΚΩΝ Ορισμός πινάκων με βήμα A=[ ] Αν το βήμα b είναι ίσο με τη μονάδα, τότε αυτό μπορεί να παραλειφθεί A=[ ] Θα κατασκευάσουμε το διάνυσμα A = (, 0,, 2, 3, 4, 5,6,7) με δύο διαφορετικούς τρόπους: >>u=[-::7] u = - 0 2 3 4 5 6 7 >>u=[-:7] u = - 0 2 3 4 5 6 7

ΔΙΑΧΕΙΡΙΣΗ ΠΙΝΑΚΩΝ Η ίδια λογική μπορεί να χρησιμοποιηθεί για την κατασκευή πινάκων A=[:0;0:-:] A = 0 2 9 3 8 4 7 5 6 6 5 7 4 8 3 9 2 0 Μπορούμε να χρησιμοποιήσουμε και την εντολή linspace a=linspace(0,2,5) % Ξεκινώντας από το 0, μέχρι το 2, 5 τιμές a = 0 3 6 9 2

ΔΙΑΧΕΙΡΙΣΗ ΠΙΝΑΚΩΝ Συνένωση (concatenation ) πινάκων με το σύμβολο [ ] a=[ 2]; d=[a;b]; f=[[e e]; [a b a]]; b=[3 4]; e=[d c]; c=[5;6]; Indexing starts with not 0!! x=[zeros(,2) ones(,4)] a=[ 2 3]; x = 0 0 a() a(2) a(3)

ΔΙΑΧΕΙΡΙΣΗ ΠΙΝΑΚΩΝ Επιλογή υπο-πίνακα (subscription ) με το σύμβολο ( ) y = x(2) y = 0 y = x(2:4) y = 0 x = 0 y=x(2) 0 Indexing starts with not 0!! a=[ 2 3]; y=x(2:4) a() a(2) a(3)

ΟΙ ΕΝΤΟΛΕΣ WHO ΚΑΙ WHOS Εντολή who >> who Your variables are: A B E M Εντολή whos VariableName >> whos A Name Size A x5 Bytes 40 Class double Attributes

ΒΑΣΙΚΕΣ ΠΡΑΞΕΙΣ Το MATLAB μπορεί να χρησιμοποιηθεί σαν απλή αριθμομηχανή. Για τις βασικές πράξεις χρησιμοποιούνται τα σύμβολα που φαίνονται στον πιο κάτω πίνακα: >>3/5 ans = 0.6000 >>5^4 ans = 625 >>8/.25 ans = 4.4000

ΑΛΛΕΣ ΠΡΑΞΕΙΣ Υπάρχει η δυνατότητα μία πράξη όπως είναι ο πολλαπλασιασμός ή η διαίρεση να γίνεται κατά τα στοιχεία του πίνακα ένα προς ένα αρκεί πριν από το σύμβολο της πράξης να υπάρχει η τελεία. >> T=[:7] T = 2 3 4 5 6 7 Υψώνουμε τώρα κάθε στοιχείο του Τ στο τετράγωνο με την εντολή Τ.^2 και μετά με την ισοδύναμη εντολή Τ.*Τ >> b=t.*t >> a=t.^2 b = a = 4 9 6 25 36 49 4 9 6 25 36 49

ΑΛΛΕΣ ΠΡΑΞΕΙΣ Πράξεις με τον τελεστή. μεταξύ δύο διανυσμάτων >> a./b >> a=[ 2 3 4]; ans = 0.250 0.3333 >> b=[8 6 2 4]; a.*b ans = 8 2 6 6 >> a.^b ans = 64 9 256.5000.0000

ΑΛΛΕΣ ΠΡΑΞΕΙΣ Στην πρόσθεση και την αφαίρεση τα διανύσματα πρέπει να έχουν ίδιο μέγεθος Η πράξη >> c=row+column θα έδινε λάθος Χρησιμοποιούμε το (transpose) για να κάνουμε τα μεγέθη συμβατά >> c=row+column >> c=row +column

ΟΙ ΕΝΤΟΛΕΣ LENGTH,SIZE H εντολή size >>a=zeros(2,4) >>[m,n]=size(a) m = 2 n = 4 Η εντολή length >> b=zeros(,5); >> length(a) >> length(b) ans = ans = 5 4

ΑΝΑΣΤΡΟΦΟΣ ΠΙΝΑΚΑΣ Ο ανάστροφος ενός πίνακα, M, είναι ένας πίνακας, P, όπου P(i, j ) = M( j, i ). Στο MATLAB αυτό γίνεται χρησιμοποιώντας το σύμβολο.

ΛΟΓΙΚΕΣ ΠΡΑΞΕΙΣ ΣΤΟΥΣ ΠΙΝΑΚΕΣ Οι λογικές πράξεις ορίζονται μόνο μεταξύ ενός αριθμού και ενός πίνακα ή μεταξύ δύο πινάκων που έχουν τις ίδιες διαστάσεις. Μεταξύ ενός αριθμού και ενός πίνακα, η λογική πράξη εκτελείτε μεταξύ του αριθμού και κάθε στοιχείου του πίνακα Μεταξύ δύο πινάκων η λογική πράξη εκτελείτε στοιχείο προς στοιχείο.

ΠΑΡΑΔΕΙΓΜΑ Απαντήστε στη ερώτηση: ποια στοιχεία του πίνακα x = [ 2 4 5 9 3] είναι μεγαλύτερα από 3. Στη συνέχεια βρείτε ποια στοιχεία στον x είναι μεγαλύτερα από τα αντίστοιχα στοιχεία στον πίνακα y = [0 2 3 2 3].

ΠΑΡΑΔΕΙΓΜΑ Έστω ο πίνακας x, ίδιος με το προηγούμενο παράδειγμα. Να κατασκευαστεί ο πίνακας z ο οποίος περιέχει όλα τα στοιχεία του x που είναι μεγαλύτερα του 3. Το αποτέλεσμα της λογικής πράξης μπορεί να χρησιμοποιηθεί απευθείας για indexing του πίνακα x

ΠΑΡΑΔΕΙΓΜΑ Κατασκευάστε τον παρακάτω πίνακα

ΠΑΡΑΔΕΙΓΜΑ Έστω ο πίνακας A = [.5 2.5 3.5; 4.5 5.5 6.5] Επιστρέψτε το στοιχείο που βρίσκετε στην 2η γραμμή, 3η στήλη Επιστρέψτε όλα τα στοιχεία της δεύτερη γραμμής του Α χρησιμοποιώντας. την εντολή size 2. τον τελεστή : 3. την εντολή end

ΠΑΡΑΔΕΙΓΜΑ Έστω ο πίνακας A = [ 2 3 4 5 6]. Αλλάξτε τιμή στο 4ο στοιχείο του πίνακα Α Αλλάξτε τιμή στο 2ο,3ο και 4ο στοιχείο του Α σε 9,8,7 αντίστοιχα.

ΠΑΡΑΔΕΙΓΜΑ Έστω οι πίνακες M = [ 2; 3 4] και P = [3 4; 5 6].. Υπολογίστε το M + P και το M P. 2. Προσθέστε και αφαιρέστε τον αριθμό 2 από το M. 3. Πολλαπλασιάστε και διαιρέστε το Μ με το 2. 4. Υψώστε κάθε στοιχείο του M στο τετράγωνο. 5. Υπολογίστε τα M.*P, M./P, και M.ˆP.

ΠΙΝΑΚΕΣ ΜΕ ΧΑΡΑΚΤΗΡΕΣ Ένας πίνακας με χαρακτήρες ονομάζετε string. Μπορούμε να έχουμε και αριθμούς, εδώ δηλαδή το 23 δεν είναι ο αριθμός 23 αλλά ένα string Μπορούμε να ενώσουμε strings μεταξύ τους (concatenation) χρησιμοποιώντας τα σύμβολα των πινάκων [ ]. Το κενό είναι και αυτό ένα χαρακτήρας επομένως πρέπει να είναι ένα στοιχείο στον πίνακα s3

H ΣΥΝΑΡΤΗΣΗ SPRINTF Μια πολύ χρήσιμη συνάρτηση είναι η sprint ( sprintf function writes new data to a preformatted string. ) Μπορείτε να χρησιμοποιήσετε εκτός από το %s, %d για ακέραιους αριθμού, %f για δεκαδικούς. Επιπλέον μπορείτε να ελέγξετε το πλήθος των ψηφίων που θα εισαχθούν στο string (πχ %5f).

PLOT Χρησιμοποιούμε τις εντολές title, xlabel, ylabel και legend στα γραφήματα μας. Ας δούμε πρώτα τις συναρτήσεις αυτές στο help manual πριν τρέξουμε το παρακάτω παράδειγμα >> x = -pi:0.0:pi; >> plot(x,sin(x)), grid on >> title('plot sin function'); >> xlabel('-π,π');

ΠΑΡΑΔΕΙΓΜΑ

ΠΑΡΑΔΕΙΓΜΑ (ΧΡΗΣΗ ΤΗΣ LEGEND,SPRINTF)

ΠΑΡΑΔΕΙΓΜΑ (ΧΡΗΣΗ AXIS)

MULTIPLE GRAPHS >> x = -pi:0.0:pi; >> Y=sin(x); >> A=sin(x+pi/2); >> plot(x,y,x,a); >> grid on

MULTIPLE GRAPHS Με την εντολή subplot(mnp) χωρίζουμε ένα γράφημα σε mxn θέσεις και επιλέγουμε κάθε φορά την p θέση για να τοποθετήσουμε το τρέχον plot >>x = -pi:0.0:pi; >>Y=sin(x); >>A=sin(x+pi/2); >>subplot(2);plot(x,y) >>subplot(22);plot(x,a)

STEM() Η εντολή stem()χρησιμοποιείται για να σχεδιάσουμε διακριτά δεδομένα Η χρήση της stem() είναι παρόμοια με την plot() >> n = 0:20; >> x = cos(pi*n/3); >> stem(n, x) >> title('cos(n\pi/3)') >> xlabel('n')

MATLAB GRAPHICS To Matlab για την αποδοτικότερη επεξεργασία των γραφικών παρέχει το interactive plotting environment ή plotting tools διαθέσιμα αν σε ένα γράφημα πατήσουμε το Edit Plot και κάνουμε διπλό click πάνω στη γραφική Επίσης δείτε και την εντολή plottools

PLOT, SCATTER, BAR, LOGLOG, SEMILOGX,SEMILOGY.

M-FILES Στο Matlab μπορούμε να εκτελούμε μία σειρά από εντολές οι οποίες βρίσκονται αποθηκευμένες σε αρχεία τύπου *.m Υπάρχουν δύο είδη τέτοιων αρχείων τα script files και τα function files. Ένα script file περιλαμβάνει μία σειρά από εντολές matlab. Αν για παράδειγμα το αρχείο λέγεται roll.m, τότε η εντολή roll θα προκαλέσει την εκτέλεση όλων των εντολών του αρχείου. Τα function files παρέχουν επεκτασιμότητα στο matlab. Μπορούμε να δημιουργήσουμε δικές μας συναρτήσεις οι οποίες θα έχουν το ίδιο status με τις υπόλοιπες built-in συναρτήσεις. Θα ασχοληθούμε στην επόμενη ενότητα με τα τα παραπάνω.

FLOW CONTROL Η εντολή for loop variable for k=:0, x(k) = cos(k); end Ή μπορούμε να γράψουμε k = :0; x = cos(k); command s if Η εντολή if Μπορούμε να χρησιμοποιήσουμε >=, <=, <, >, ==, ~= (a <= 2) b = ; elseif (a >=4) b = 2; else b = 3; end

FLOW CONTROL Η εντολή while while cond commands end Οι εντολές στο command block εκτελούνται όσο η έκφραση cond είναι true. Προσοχή στα infinite loops!!!

ΠΑΡΑΔΕΙΓΜΑ Έχω την εντολή x=sin(linspace(0,0*pi,00)); Πόσες τιμές του x είναι θετικές? Με χρήση loop Με χρήση της find count=0; for n=:length(x) if x(n)>0 count=count+; end end count=length(find(x>0)); count = 49 count=49 Με το matlab μπορούμε να αποφεύγουμε τα loops!

ΔΙΑΦΟΡΕΤΙΚΟΙ ΤΡΟΠΟΙ ΔΗΜΙΟΥΡΓΙΑΣ ΠΙΝΑΚΩΝ eye Μοναδιαίος πίνακας zeros Μηδενικός πίνακας ones Πίνακας με στοιχεία μονάδες diag ιαγώνιος πίνακας triu, tril Ανω, κάτω τριγωνικός πίνακας rand Πίνακας με τυχαία στοιχεία magic Μαγικά τετράγωνα.

ΣΥΝΑΡΤΗΣΕΙΣ ΠΙΝΑΚΩΝ

ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ rand(a,b) παίρνουμε έναν axb πίνακα με τυχαίους αριθμούς στο διάστημα (0,) randn(a,b) παίρνουμε έναν axb πίνακα με τυχαίους αριθμούς από normal distribution normrnd(m,s,m,n) ένας MxN πίνακας με τυχαίους αριθμούς που ακολουθούν την κανονική κατανομή(μ=m, σ=s)

ΠΑΡΑΔΕΙΓΜΑΤΑ >>x=randn(,0000); >>y=normrnd(2,4,,0000); >>subplot(2);hist(x);title('μ=0,σ='); >>subplot(22);hist(y);title('μ=2,σ=4');

ΜΕΣΗ ΤΙΜΗ, ΔΙΑΣΠΟΡΑ,ΤΥΠΙΚΗ ΑΠΟΚΛΙΣΗ mean(x) Μέση τιμή var(x) Διασπορά (είναι η μέση τιμή του τετραγώνου της απόκλιση μιας τυχαίας μεταβλητής X από τη μέση της τιμής) Εναλλακτικά θα μπορούσαμε να το υπολογίσουμε και ως εξής mean((x-mean(x).*(x-mean(x))) std(x) Τυπική απόκλιση

ΔΙΑΓΩΝΙΟΣ ΠΙΝΑΚΑΣ Η συναρτήση που χρησιμοποιούμε για να φτιάξουμε ένα διαγώνιο πίνακα είναι η diag (help diag) diag(v) ιαγώνιος πίνακας με το διάνυσμα ν στην κύρια διαγώνιο. diag(v,k) Πίνακας µε το διάνυσµα v στην k διαγώνιο Αν k = 0 το v θα είναι στην κύρια διαγώνιο, Αν k > 0/k < 0 το v θα είναι πάνω/κάτω αντίστοιχα από κύρια διαγώνιο)

ΠΑΡΑΔΕΙΓΜΑΤΑ Δοκιμάστε τώρα τις συναρτήσεις tril, triu (συμβουλευτείτε το help!) και αρχικά φτιάξτε έναν πίνακα A, με διαστάσεις 3x3. Δοκιμάστε τις εντολές triu(a,) tril(a) triu(a,-)

ΟΙ ΣΥΝΑΡΤΗΣΕΙΣ TIC,TOC Η συνάρτηση tic ξεκινάει ένα εσωτερικό χρονόμετρο στο MATLAB. Η συνάρτηση toc επιστρέφει το χρόνο σε seconds από το τελευταίο tic. Ας δοκιμάσουμε την ταχύτητα του υπολογιστή μας

ΠΗΓΕΣ http://www.math.toronto.edu/mpugh/primer.pdf http://www.mathworks.com/ http://courses.washington.edu/css457/matlab/learning_matla b.pdf http://www-h.eng.cam.ac.uk/help/documentation/docsource/ matlab.pdf http://ocw.mit.edu/courses/electrical-engineering-and-comp uter-science/6-094-introduction-to-matlab-january-iap-200 / http://software-carpentry.org/4_0/matlab/