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

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

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

Ρύθμιση με το MATLAB

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

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

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

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

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

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 5 ο : MATLAB

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

Γενικός τρόπος σύνταξης: Όνομα_συνάρτησης(όρισμα1,όρισμα2,,όρισμαΝ) Η ονομασία τους είναι δεσμευμένη. Παραδείγματος χάριν: sin(x) cos(x) tan(x) exp(x)

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

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

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

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

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

Γραφικές παραστάσεις (2ο μέρος)

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB. Κολοβού Αθανασία Ε.Τ.Ε.Π.

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

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

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

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

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

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

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

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

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

3) το παράθυρο Πίνακας τιμών όπου εμφανίζονται οι τιμές που παίρνουν οι παράμετροι

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

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

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

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

Γραφικές παραστάσεις (1ο μέρος)

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

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

Χρήσεις Η/Υ και Βάσεις Βιολογικών Δεδομένων : ΒΙΟ109 [4] Επεξεργασία Δεδομενων σε λογιστικα φυλλα

Υπολογισμός αθροισμάτων

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

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

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

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

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

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

1. ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB... 13

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΜΑΣ 191. Μαθηματικά με Υπολογιστές Διδάσκων: Γιώργος Γεωργίου Ενδιάμεση εξέταση Θεωρία 18 Μαρτίου 2009

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Μαθηµατικοί Υπολογισµοί στην R

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

ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ. Τσιριγώτης Γεώργιος

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

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


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

Σχήµα 5.1: Εισαγωγή της δοµής formula node στο Block Diagram.

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

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

Έναρξη Τερματισμός του MatLab

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι χρειάζεται η εντολή if ; Εντολή if. Παράδειγμα #1. Παράδειγμα #1

Διάλεξη 1 - Σημειώσεις 1

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

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

ΚΕΦΑΛΑΙΟ 3 ο ΣΥΝΑΡΤΗΣΕΙΣ, ΤΡΙΓΩΝΟΜΕΤΡΙΑ( FUNCTIONS,TRIGONOMETRY)

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

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

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

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

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

Οι εντολές του MaLT+

Γραφικά περιβάλλοντα από τον χρήστη Graphical User Interfaces (GUI)

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

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

1ο Κεφάλαιο: Συστήματα

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

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

Παρουσίαση του Mathematica

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Μαθηματική Εισαγωγή Συναρτήσεις

ΑΕΝ / ΑΣΠΡΟΠΥΡΓΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΙΣΜΟΥ. Σημειώσεις για τη χρήση του MATLAB στα Συστήματα Αυτομάτου Ελέγχου

2. Δισδιάστατα γραφικά

Σημειώσεις Matlab. ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Μάθημα: Αριθμητική Ανάλυση Διδάσκων: Καθηγητής Θ.Η. Σίμος.

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

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

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

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

Ενότητα 1 Διάλεξη 3. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

Transcript:

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

Αυτόματη Ρύθμιση - Προσομοίωση - Matlab Με το Matlab μπορούμε να κάνουμε προσομοίωση μιας διεργασίας προκειμένου να διερευνήσουμε, μεταξύ άλλων: o τη δυναμική συμπεριφορά της διεργασίας o την καταλληλότερη μεθοδολογία ρύθμισης o τη δυναμική συμπεριφορά του συστήματος σε συνήθεις και ακραίες συνθήκες 2

Αυτόματη ρύθμιση Ρύθμιση θερμοκρασίας σε εναλλάκτη θερμότητας 3

Τύποι μεταβλητών Στo Matlab έχουμε integers και double/single precision floating point (real) αριθμούς. Ωστόσο, integers χρησιμοποιούμε μόνο σε συγκεκριμένες περιπτώσεις (δεν θα μελετήσουμε εδώ). Ακόμη και ως δείκτες σε επανάληψη μπορούμε να χρησιμοποιήσουμε double/single precision μεταβλητές! 4

Κανόνες Ονομασίας Μεταβλητών Το όνομα αρχίζει με γράμμα (του αγγλικού αλφαβήτου). Το όνομα περιέχει μόνο γράμματα, αριθμούς και υποπαύλες (underscore). Δεν χρησιμοποιούνται ονόματα που έχουν δεσμευτεί από το MATLAB (π.χ. εντολών). Υπάρχει διάκριση μεταξύ πεζών και κεφαλαίων γραμμάτων Αριθμητικοί Τελεστές στο MATLAB Πρόσθεση + Αφαίρεση - Πολλαπλασιασμός * Διαίρεση / Δύναμη ^ 5

Καταχώρηση τιμής σε μεταβλητή Μεταβλητή= τιμή (με ή χωρίς ερωτηματικό στο τέλος) Αν δεν υπάρχει το ερωτηματικό εμφανίζεται το αποτέλεσμα αμέσως μετά την έκφραση και αποθηκεύεται στην μεταβλητή. Αν υπάρχει το ερωτηματικό απλώς το αποτέλεσμα αποθηκεύεται στην μεταβλητή, χωρίς να εμφανίζεται. Παράδειγμα. a=sin(pi/2) ans= 1 Παράδειγμα. b=exp(pi)- pi^exp(1) Ans=? 6

Πως μπορώ να δω τι έχει στην μνήμη του το Matlab; who : επιστρέφει πληροφορίες για μεταβλητές που χρησιμοποιήσαμε. whos : επιπλέον πληροφορίες για χώρο μνήμης που καταλαμβάνουν οι μεταβλητές αυτές. View- >Workspace >>who Your variables are: a ans b >>whos Name Size Bytes Class a 1x1 8 double array ans 1x1 8 double array b 1x1 8 double array Grand total is 3 elements using 24 bytes 7

Μεταβλητές: Scalar - Διανύσματα - Πίνακες Μια μεταβλητή που αποθηκεύει μόνο μια τιμή ονομάζεται Scalar. >> a=1 Οι μονοδιάστατες arrays ονομάζονται διανύσματα. (Συνήθως διάνυσμα ονομάζονται οι arrays με 1 στήλη.) >> x=[1 2 3 4 5] Οι δισδιάστατες arrays ονομάζονται πίνακες. >> A = [1 2 3; 4 5 6; 7 8 9]; A = 1 2 3 4 5 6 7 8 9 Για περισσότερα: Μάθημα 4 Fortran

Βοήθεια στο Matlab help εντολή lookfor κείμενο helpwin help whos lookfor matrix inverse παράθυρο βοηθείας του Matlab Παράδειγμα. Να βρείτε τον τρόπο σύνταξης της εντολής που σχεδιάζει (plot) την γραφική παράσταση μιας συνάρτησης στο Matlab. 9

Ειδικές Σταθερές και Μεταβλητές ans Περιέχει την πιο πρόσφατη απάντηση του MATLAB Προέρχεται από τη λέξη ANSwer >> sin(1.5)+cos(2.5) ans = 0.196351371057121 10

i, j Συμβολίζουν τη φανταστική μονάδα Χρησιμοποιούνται για την εισαγωγή μιγαδικών αριθμών Για παράδειγμα:2-5i 11

Inf, inf Δηλώνει το + Προέρχεται από τη λέξη infinity Σύμβαση IEEE Nan, nan Παριστάνει ένα «μη αριθμό» που δεν μπορεί να αποτυπωθεί Προέρχεται από τις λέξεις not a number. 12

pi Συμβολίζει τον αριθμό π = 3.141592653589793 Υπολογίζεται σωστά η τιμή του συνημιτόνου των 45 ο ; >> cos(pi/2) ans = 6.123233995736766e- 017 Δεν είναι μηδέν, αλλά η τιμή είναι μικρότερη του eps=2.220446049250313e- 016 13

Πίνακες size(x) : διαστάσεις πίνακα Χ length(x) : μέγιστη διάσταση Χ sum(x) : άθροισμα στοιχείων Χ Χ., transpose(x) : ανάστροφος πίνακα Χ, X T 14

Πίνακες eye(n) : μοναδιαίος πίνακας διάστασεων nxn zeros(n) : μηδενικός πίνακας διαστάσεων nxn ones(n) : πίνακας nxn με όλα τα στοιχεία μονάδες diag(v) : διαγώνιος πίνακας με τα στοιχεία του διανύσματος v στη διαγώνιό του 15

Πίνακες Α(m,n) : το στοιχείο (m,n) του πίνακα Α A(1:3,:) : κρατά την 1 η ως την 3 η γραμμή και όλες τις στήλες του πίνακα Α Α(:,3:end) : κρατά από την 3 η ως την τελευταία στήλη του πίνακα Α a:b:c : δημιουργεί το διάνυσμα [a a+b a+2b d] με d c 16

Πράξεις πινάκων +, -, *, ^ : πρόσθεση, αφαίρεση, πολλαπλασιασμός, ύψωση σε δύναμη / : δεξιά διαίρεση, Α/Β ισοδυναμεί με ΑΒ - 1 \ : αριστερή διαίρεση, Α\Β ισοδυναμεί με Α - 1 Β (Α\Β) =Β /Α.* : πολλαπλασιασμός στοιχείο προς στοιχείο 17

Πολλαπλασιασμός Πινάκων Προσοχή όμως στον πολλαπλασιασμό στοιχείο-προς-στοιχείο (element-by-element) : 18

Συναρτήσεις του MATLAB sin cos tan asin acos atan Ημίτονο Συνημίτονο Εφαπτομένη Ημίτονο τόξου Συνημίτονο τόξου Εφαπτομένη τόξου max min length sort sum prod Μέγιστο στοιχείο Ελάχιστο στοιχείο Μήκος διανύσματος Αύξουσα κατάταξη Άθροισμα στοιχείων διανύσματος Γινόμενο στοιχείων διανύσματος exp Εκθετική συνάρτηση median Διάμεση τιμή στοιχείων διανύσματος log abs sqrt Λογάριθμος βάσης e Απόλυτη τιμή Τετραγωνική ρίζα mean std Μέση τιμή στοιχείων διανύσματος Τυπικη απόκλιση στοιχείων διανύσματος rem Υπόλοιπο round Στρογγυλοποίηση προς τον πλησιέ στερο ακέραιο floor Στρογγυλοποίηση προς τα κάτω ceil Στρογγυλοποίηση προς τα πάνω

Άσκηση Βρείτε το άθροισμα των διαδοχικών άρτιων ακεραίων αριθμών από το 2 μέχρι το 200. 20

Άσκηση Βρείτε το άθροισμα των διαδοχικών άρτιων ακεραίων αριθμών από το 2 μέχρι το 200. x=sum(2:2:200) x = 10100 21

Τύποι μεταβλητών και περιορισμοί >> c=clock c = 1.0e+03 * 2.0150 0.0120 0.0010 0.0130 0.0370 0.0502 >> int8(c) ans = 127 12 1 13 37 50 >> int16(c) ans = 2015 12 1 13 37 50 >> int32(c) ans = 2015 12 1 13 37 50 Τύπος int8: Εύρος τιμών: 2 7 to 2 7 1. Τύπος int16: Εύρος τιμών: 2 15 to 2 15 1. Τύπος int32: Εύρος τιμών: 2 31 to 2 31 1.

Άσκηση 2 Φτιάξτε ένα πρόγραμμα Matlab που θα ορίζει ένα διάνυσμα με στοιχεία τους ακεραίους από 1 ως 5 και στη συνέχεια δημιουργήστε τα εξής διανύσματα: a) 1, 1/2, 1/3, 1/4, 1/5 b) 1, 1/2 2, 1/3 2, 1/4 2, 1/5 2 23

Άσκηση 2 Φτιάξτε ένα πρόγραμμα Matlab που θα ορίζει ένα διάνυσμα με στοιχεία τους ακεραίους από 1 ως 5 και στη συνέχεια δημιουργήστε τα εξής διανύσματα: a) 1, 1/2, 1/3, 1/4, 1/5 b) 1, 1/2 2, 1/3 2, 1/4 2, 1/5 2 a.x=1:5; y=1./x b.x=1:5; y=1./x.^2 24

Άσκηση 3 Φτιάξτε ένα πρόγραμμα Matlab που θα σχηματίζει τον παρακάτω πίνακα, βρείτε τις διαστάσεις του και διαγράψτε την τελευταία στήλη. é 1 ê ê 2 ê ë 3i 1 2 3i 1 2 3i 4 4 4 4 4 4 4ù 4 ú ú 4ú û 25

Άσκηση 3 Φτιάξτε ένα πρόγραμμα Matlab που θα σχηματίζει τον παρακάτω πίνακα, βρείτε τις διαστάσεις του και διαγράψτε την τελευταία στήλη. é 1 ê ê 2 ê ë 3i 1 2 3i 1 2 3i 4 4 4 4 4 4 4ù 4 ú ú 4ú û Α=[ones(1,3);2*ones(1,3);3i*ones(1,3)] B=ones(3)*4 C=[A B] 26

Διαχείριση Χώρου Εργασίας clear Διαγραφή των μεταβλητών του χώρου εργασίας. Σύνταξη clear var1 var2 var3 Διαγραφή όλων των μεταβλητών που αρχίζουν από L (clear L*) clear all clc Καθαρισμός χώρου εργασίας. Δεν διαγράφονται οι μεταβλητές.

Διαχείριση Χώρου Εργασίας save Αποθηκεύει τις τιμές για τις ενεργές μεταβλητές σε ένα αρχείο. Σύνταξη: save filename.mat Δώστε τις παρακάτω εντολές. (ορίστε έναν πίνακα Α με περιεχόμενο της δικής σας επιλογής) save eponymo.mat save eponymo2.mat Α Γράφοντας τα ονόματα των μεταβλητών που έχουμε στο Workspace μπορούμε να πετύχουμε να εγγραφούν στο αρχείο μόνο αυτά.

Διαχείριση Χώρου Εργασίας load Ανακαλεί («φορτώνει») τις τιμές από ένα αρχείο. Σύνταξη: load filename.mat Δώστε τις παρακάτω εντολές. load eponymo.mat load eponymo2.mat Α Αντίστοιχα, γράφοντας τα ονόματα των μεταβλητών που θέλουμε από το αρχείο μπορούμε να πάρουμε μόνο αυτά. whos - file eponymo.mat στο αρχείο. Με την εντολή αυτή μπορούμε να δούμε μέσα

Χωρίζοντας ένα διάστημα σε υποδιαστήματα linspace Διαιρεί ένα δοσμένο εύρος τιμών σε συγκεκριμένο πλήθος σημείων με γραμμική μορφή, με πλάτος διαστημάτων (x2- x1)/(n- 1), όπου: x1 Αρχική τιμή x2 Τελική τιμή n Πλήθος σημείων (αν παραληφθεί τότε θεωρείται ότι n=100) >>linspace(x1, x2, n) Δοκιμάστε διάφορα παραδείγματα και βρείτε το ισοδύναμο της σύνταξης: [- 5:2.5:5] Απάντηση: y1 = linspace(- 5,5,5) Η linspace μας επιτρέπει να καθορίσουμε άμεσα τον αριθμό των σημείων και το τελικό σημείο του διαστήματος. logspace Αντίστοιχα για λογαριθμική μορφή >>logspace(x1, x2, n)

Έλεγχος ροής προγράμματος Βρόχος for Χρησιμότητα: Έλεγχος επαναλήψεων Μορφή: for δείκτης = αρχική τιμή: βήμα μετάβασης: τελική τιμή <σύνολο εντολών> end

Πολλαπλοί βρόχοι for (Nested for loops) Μπορούν να δημιουργηθούν πολλοί βρόχοι εντολών for, ο ένας μέσα στον άλλον. Παράδειγμα Κάθε στοιχείο ενός πίνακα Hilbert διαστάσεως m x n δίνεται από τον τύπο: 1 a( i, j) = i + j - 1 i=1,2,,m και j=1,2,,n. Γράψτε κώδικα Matlab που να κατασκευάζει έναν πίνακα Hilbert 4 x 5. 32

m = 4;n = 5; for i=1:m for j=1:n a(i,j)=1/(i+j- 1); end end 33

Δυναμική διαχείριση μνήμης και προανάθεση χώρου (preallocation) σε μεταβλητές Μπορούμε να επιταχύνουμε τον κώδικά μας φροντίζοντας να γίνεται ανάθεση τιμών (συνήθως 0) στις μεταβλητές πριν από τους υπολογισμούς που θέλουμε να κάνουμε. Δοκιμάστε τα παρακάτω παραδείγματα: clear tic m = 1000;n = 1000; for i=1:m end toc for j=1:n end a(i,j)=1/(i+j- 1); Μπορώ να γράψω πολλές εντολές σε μια γραμμή αν χωρίζονται με semicolon (;) clear tic m = 1000;n = 1000; a(m,n)=0; for i=1:m for j=1:n a(i,j)=1/(i+j- 1); end end toc Αναθέτω μια τιμή προκειμένου να κατασκευαστεί η μεταβλητή a

Έλεγχος υποθέσεων- Βρόχοι If Χρήση: Χρησιμοποιείται για την εκτέλεση εντολών κατά συνθήκη Μορφή: if συνθήκη 1 elseif συνθήκη 2 μπλοκ εντολών 1 end else μπλοκ εντολών 2 μπλοκ εντολών 3 35

Πολυώνυμα polyval(p,x): υπολογίζει την τιμή του πολυωνύμου p στοx roots(p): υπολογίζει τις ρίζες του p poly(r): επιστρέφει το πολυώνυμο με ρίζες r conv(a,b): πολλαπλασιασμός των a και b polyder(p): παράγωγος του p

Επίλυση συστημάτων εξισώσεων Είναι δυνατό να επιλυθεί ένα γραμμικό σύστημα της μορφής A*x=b, χρησιμοποιώντας την παρακάτω εντολή: >> x=a\b; (αριστερή διαίρεση) Προσοχή Για παράδειγμα: >> A =[2 4; 5 3] ; b=[3 9 ;5 1] ; x=a\b >> x x = 0.7857-1.6429 0.3571 3.0714 Επιλύει το γραμμικό σύστημα: Για γραμμικό σύστημα της μορφής A x=β, χρησιμοποιούμε αριστερή διαίρεση: >> x=a\β; Για γραμμικό σύστημα της μορφής x Α=Β, χρησιμοποιούμε δεξιά διαίρεση: >> x=β/α; é 2 ê ë 5 4ù 3 ú û x = é 3 ê ë 5 9ù 1 ú û 37

Άσκηση 4 Να λυθεί το παρακάτω γραμμικό σύστημα και να γίνει επαλήθευση: 2x+3y+2z- w=4-3y+3w+z=7 5z- 2x+y+2w=18-4z+5y+6x=35 38

Άσκηση 4 >> A=[2 3 2-1;0-3 1 3;- 2 1 5 2;6 5-4 0] >> B=[4;7;18;35] >> X=A\B X = - 1.1103 6.6828-2.0621 9.7034 >> A*X ans = 4.0000 7.0000 18.0000 35.0000 39

Προγράμματα τύπου Script και Function Για να θυμηθούμε τον ορισμό και την χρήση των functions στην Fortran: Μάθημα Fortran #8, διαφάνειες 9-11. Το παρακάτω παράδειγμα είναι ένα script πρόγραμμα που υπολογίζει το άθροισμα των n πρώτων στοιχείων της σειράς 1 2 +2 2 +...+n 2 για n=5: clear n=5; s=0; for i=1:n end s=s+i^2; Το αντίστοιχο σε function γίνεται: function s=sumsq(n) s=0; for i=1:n s=s+i^2; end 40

Function σύγκριση με Fortran Fortran program factorial_of_n IMPLICIT NONE integer N integer(8) factorial integer(8) calculate_factorial print *, 'This program computes the factorial of & &a positive integer number N' print *, 'Give the N' read *, N factorial=calculate_factorial(n) print *, 'The factorial of N is' print *, factorial end integer(8) function calculate_factorial(a) IMPLICIT NONE integer a,i calculate_factorial=1 do i = 1, a calculate_factorial = calculate_factorial*i enddo end function 41

Function σύγκριση με Fortran Fortran program factorial_of_n IMPLICIT NONE integer N integer(8) factorial integer(8) calculate_factorial print *, 'This program computes the factorial of & &a positive integer number N' print *, 'Give the N' read *, N factorial=calculate_factorial(n) print *, 'The factorial of N is' print *, factorial end integer(8) function calculate_factorial(a) IMPLICIT NONE integer a,i calculate_factorial=1 do i = 1, a calculate_factorial = calculate_factorial*i enddo end function Matlab %program for factorial_of_n clear 'This program computes the factorial of a positive integer number N' N=input('Give the N') factorial=calculate_factorial(n) 'The factorial of N is' factorial function paragontiko=calculate_factorial(a) paragontiko=1 for i = 1:a paragontiko = paragontiko*i end end Το function σε χωριστό αρχείο 42

Εύκολοι τρόποι ελέγχου κριτηρίων σε πίνακες Ορίζουμε έναν πίνακα με τυχαίους αριθμούς από 1 έως 15, διαστάσεων 5x5. >>A = randi(15,5) A = 13 2 3 3 10 14 5 15 7 1 2 9 15 14 13 14 15 8 12 15 10 15 13 15 11 Eλέγχουμε σε ποιες θέσεις οι αριθμοί είναι μικρότεροι του 9: >>B = A < 9 B = 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 Για να πάρουμε ένα διάνυσμα με τους δείκτες των στοιχείων αυτών: >> I = find(a < 9); >> I=I (για να πάρουμε τους δείκτες σε διάνυσμα γραμμή) I = 3 6 7 11 14 16 17 22 Για να πάρουμε ένα διάνυσμα με τα στοιχεία αυτά: >> C=A(I) C = 2 2 5 3 8 3 7 1 43

Γραφικές παραστάσεις

plot Χρησιμοποιείται για την κατασκευή του γραφήματος μιας επίπεδης καμπύλης τα σημεία της οποίας είναι αποθηκευμένα σε διανύσματα με ίσο αριθμό σημείων. Για παράδειγμα: x=[0 1 1.5 2.2 3]; y=[2 1.65 1.3 1.4 4]; plot(x,y) 45

Δημιουργία Υπόμνημα Άνοιγμα Αποθήκευση Συντεταγμένες Εκτύπωση Μεγέθυνση Σμίκρυνση Μετακίνηση Περιστροφή 46

Άσκηση 5 Να κατασκευαστεί το γράφημα y=cos(x) στο διάστημα [- π, π] 47

Άσκηση 5 Να κατασκευαστεί το γράφημα y=cos(x) στο διάστημα [- π, π] Επιλέγουμε τον διαμερισμό του διαστήματος [- π, π] σε υποδιαστήματα μήκους 0.01 x=-pi:0.01:pi; y=cos(x); plot(x,y) 48

plot: Χρώματα, Σύμβολα και Γραμμές plot (x,y, [color] [stype] [ltype] ) color Χρώμα y yellow κίτρινο m magenta ματζέντα c cyan κυανό r red κόκκινο g green πράσινο b blue μπλε w white άσπρο k black μαύρο stype Marker o Circle + Plus sign * Asterisk. Point x Cross s Square d Diamond ^ Upward- pointing triangle v Downward- pointing triangle > Right- pointing triangle < Left- pointing triangle p Pentagram h Hexagram ltype Line Style - Solid line (default) - - Dashed line : Dotted line -. Dash- dot line Δοκιμάστε τα παρακάτω παραδείγματα: plot(x,y,'b') plot(x,y,'b--') plot(x,y,'bo:') 49

Άσκηση 6 Να σχεδιάσετε την exp(x) από - 1 έως 10 με διάστημα 1 με πράσινη, αδρή διακεκομμένη γραμμή. 50

Άσκηση 6 Να σχεδιάσετε την exp(x) από - 1 έως 10 με διάστημα 1 με πράσινη διακεκομμένη γραμμή. x=-1:1:10; y=exp(x); plot(x, y, 'g--') 51

plot: Πολλαπλά γραφήματα Παραθέτουμε το κάθε ζευγάρι διανυσμάτων που θα σχεδιαστεί, ακολουθούμενο από τις επιλογές σχεδιασμού. plot (x1, y1, '[color] [stype] [ltype]', x2, y2, '[color] [stype] [ltype] ) x=0:0.02:6; y=80*sin(x); z=exp(x); plot(x,y, 'r', x,z,'--') 52

Επιλογές στα γραφήματα Ετικέτες Αξόνων xlabel( τίτλος x ); Δίνει ετικέτα στον άξονα x ylabel( τίτλος y ); Δίνει ετικέτα στον άξονα y Ονομασία Γραφήματος title( ονομασία γραφήματος ); Δίνει όνομα στο γράφημα Υπόμνημα legend( τίτλος παραθύρου ); Δίνει όνομα στο παράθυρο του γραφήματος Πλέγμα στο Γράφημα grid Δημιουργεί πλέγμα στο γράφημα 53

Επιλογές στα γραφήματα title legend ylabel grid xlabel 54

Απενεργοποίηση Επιλογών Π.χ. grid off Αφαιρεί το πλέγμα από το γράφημα legend off Αφαιρεί το υπόμνημα 55

figure Ανοίγει άλλο παράθυρο γραφικών figure (nr); nr : Θετικός ακέραιος αριθμός από 1 μέχρι 2147483646 Αν παραληφθεί το nr, τότε το νέο παράθυρο γραφικών έχει σαν αριθμό την πρώτη ελεύθερη τιμή. 56

hold Η εντολή hold παγώνει το τρέχον παράθυρο γραφικών και χρησιμεύει για να σχεδιάσουμε επιπλέον καμπύλες στο ίδιο γράφημα. hold; Ενεργοποίηση παγώματος παραθύρου γραφικών οι εντολές plot σχεδιάζουν στο ίδιο παράθυρο hold off Απενεργοποίηση παγώματος παραθύρου 57

Γραφήματα με λογαριθμικούς άξονες Θεωρούμε: x=0:1:100; y=log(x); Δίνουμε διαδοχικά: plot(x,y) Γράφημα όπου οι άξονες των x και y είναι γραμμικοί. loglog(x,y) Γράφημα όπου οι άξονες των x και y είναι λογαριθμικοί. semilogx(x,y) Ημιλογαριθμικό γράφημα όπου ο άξονας των x είναι λογαριθμικός και των y γραμμικός. semilogy(x,y) Ημιλογαριθμικό γράφημα όπου ο άξονας των x είναι γραμμικός και των y λογαριθμικός. 58

Άσκηση 7 Να σχεδιάσετε την παράσταση y=1+2x 5 στο διάστημα [- 10, 10] με 2 διαφορετικές εντολές 59

Άσκηση 7 Να σχεδιάσετε την παράσταση y=1+2x 5 στο διάστημα [- 10, 10] με 2 διαφορετικές εντολές Με την εντολή plot: x=-10:0.1:10; y=1+2*x.^5; plot(x,y), grid, xlabel('x'), ylabel('y') Με χρήση της ezplot: ezplot('1+2*x.^5',[-10,10]) 60

subplot Τοποθέτηση πολλών γραφημάτων στο ίδιο παράθυρο. subplot(m,n,p) m, n : Πλήθος υποπαραθύρων του παραθύρου γραφικών p : Η θέση που θα τοποθετηθεί το γράφημα Η αρίθμηση των παραθύρων γίνεται κατά γραμμές 61

Αρίθμηση θέσεων στην subplot subplot(2,2,1) 1 2 3 4 subplot(2,2,4) 62

Άσκηση Να σχεδιάσετε τον φυσικό λογάριθμο του x στο διάστημα [1, 100] στο ίδιο παράθυρο με 4 διαφορετικές επιλογές για τους άξονες: γραμμικοί x- y, λογαριθμικοί x- y, ημιλογαριθμικοί ως προς x, ημιλογαριθμικοί ως προς y. 63

Άσκηση Να σχεδιάσετε τον φυσικό λογάριθμο του x στο διάστημα [1, 100] στο ίδιο παράθυρο με 4 διαφορετικές επιλογές για τους άξονες: γραμμικοί x- y, λογαριθμικοί x- y, ημιλογαριθμικοί ως προς x, ημιλογαριθμικοί ως προς y. x=1:100;y=log(x); subplot(2,2,1); plot(x,y) title('linear x-y'); subplot(2,2,2); loglog(x,y) title('log x-y'); subplot(2,2,3); semilogx(x,y) title('semilogx'); subplot(2,2,4); semilogy(x,y) title('semilogy'); 64