1. ΒΑΣΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ MATLAB

Σχετικά έγγραφα
ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB. Απλές αριθµητικές πράξεις 1. ΒΑΣΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ MATLAB

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

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

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

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

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

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

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

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

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

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

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

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

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

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

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

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

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

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

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

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

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

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

επιµέλεια Θοδωρής Πιερράτος

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

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

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

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

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

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

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

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

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

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

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

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

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

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

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

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

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Εισαγωγή στην Tcl. Τί είναι η Tcl;

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγικές έννοιες

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

3. Στο Block Diagram αναπτύσουµε το υπολογιστικό µέρος του προγράµµατος. Σχήµα 1.1: Το Front Panel του LabVIEW.

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop.

Γνωριµία µε τη Microsoft Access

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

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

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

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος.

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.)

Συναρτήσεις στη Visual Basic 6.0

1.4 Αριθμητική υπολογιστών και σφάλματα

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

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

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

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Σχήµα 3.1: Εισαγωγή shift register σε βρόγχο for-loop.

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

char name[5]; /* define a string of characters */

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

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

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

o AND o IF o SUMPRODUCT

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

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

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

Αναγνώριση υποθεµάτων αρχείων Αντιγραφή κειµένου Αντιγραφη εικόνων Αντιγραφή video

2.2.3 Η εντολή Εκτύπωσε

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

scanf() scanf() stdin scanf() printf() int float double %lf float

Σε αυτήν την ενότητα θα εξοικειωθείτε με το περιβάλλον αλληλεπίδρασης του MATLAB με το χρήστη.

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

Transcript:

ΣΗΜΕΙΩΣΕΙΣ MATLAB 1. ΒΑΣΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ MATLAB 1.1. Απλές αριθµητικές πράξεις 1.2. Ενσωµατωµένες συναρτήσεις 1.3. Σταθερές και µεταβλητές 1.4. Μορφή (format) 1.5. Αποθήκευση σειράς υπολογισµών στο MATLAB σε ένα αρχείο 2. ΣΕΙΡΕΣ - ΙΑΝΥΣΜΑΤΑ 2.1. Πράξεις µε σειρές 2.2. ιανύσµατα γραµµής στήλης 2.3. Εσωτερικό γινόµενο διανυσµάτων 2.4. Γραφική παράσταση 3. ΠΙΝΑΚΕΣ 3.1. Στοιχειώδεις πράξεις µε πίνακες 3.2. Εκτύπωση πίνακα 4. Άλλες χρήσιμες εντολές του MATLAB 5. SET PATH -- ΚΑΘΟΡΙΣΜΟΣ ΤΟΥ PATH ΣΤΟ MATLAB 6. ΔΗΜΙΟΥΡΓΙΑ SCRIPT ΑΡΧΕΙΩΝ ΜΕ ΤΟΝ EDITOR TOY MATLAB 7. LOOPS - CONTROL STATEMENTS (σχεδόν όπως στη C) 1. ΒΑΣΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ MATLAB Για να µπούµε στο MATLAB κάνουµε διπλό κλίκ στο εικονίδιο του MATLAB και για να βγούµε πληκτρολογούµε quit. Το προτρεπτικό σήµα (prompt) του MATLAB είναι το >>. 1.1. Απλές αριθµητικές πράξεις Το MATLAB χρησιµοποιεί τους τελεστές +, -, * και / για τις τέσσερις αριθµητικές πράξεις. Παραδείγµατος χάριν: >> 3 + 5 8 >> 3-5 -2 >> 3 * 5 15

2 >> 3/5 0.6 Οι πράξεις µπορούν να συνδεθούν και αλυσιδωτά όπως: >> 3 + 5 + 2 10 >> 3 * 3 * 3 27 όπου ειδικά για την τελευταία υπάρχει και ο τελεστής της ύψωσης σε δύναµη ^: >> 3^3 27 Το MATLAB, εκτός από τον τελεστή της διαίρεσης από τα αριστερά /, διαθέτει και τελεστή διαίρεσης από τα δεξιά: >> 2/4 0.5 >> 2\4 2 Για πιό πολύπλοκες εκφράσεις χρησιµοποιούνται παρενθέσεις κατά τον συνήθη τρόπο: >> 2^5 + 4*(33 2*(6+2/7)) 113.7143 Χρήση βελών στο MATLAB: το βέλος προς τα επάνω ( ) χρησιµοποιείται για να ανακληθούν οι προηγούµενες γραµµές που πληκτρολογήσαµε και τα βέλη προς τα αριστερά ( ) και προς τα δεξιά ( ) για να µεταφέρουµε τον δροµέα σε κάποιο σηµείο της γραµµής. Με το βέλος προς τα κάτω ( ) µπορούµε να ξανακινηθούµε προς τα κάτω στις γραµµές αφού προηγουµένως έχουµε κινηθεί προς τα επάνω. Τέλος, µπορούµε να πληκτρολογήσουµε νέα στοιχεία αµέσως µετά τον δροµέα ή να διαγράψουµε στοιχεία πριν τον δροµέα µε τα πλήκτρα DELETE και BACKSPACE αντίστοιχα.

3 1.2. Ενσωµατωµένες συναρτήσεις Το MATLAB µας παρέχει ένα πλήθος ενσωµατωµένων συναρτήσεων όπως τετραγωνική ρίζα, εκθετικές και λογαριθµικές συναρτήσεις, τριγωνοµετρικές και αντίστροφες τριγωνοµετρικές συναρτήσεις κ.ά.: >> sqrt(2) % τετραγωνική ρίζα 1.4142 >> exp(1) % εκθετική συνάρτηση 2.7183 >> log(exp(1)) % φυσικός λογάριθµος 1 >> log10(10^2) % δεκαδικός λογάριθµος 2 % Τριγωνοµετρικές συναρτήσεις >> pi % η σταθερά π 3.1416 >> sin(pi/4) % ηµίτονο 0.7071 >> cos(pi/2) % συνηµίτονο 6.1230e-017 πρακτικά το αποτέλεσµα είναι 0 >> tan(pi/4) % εφαπτοµένη 1.0000 >> asin(0.5) % τόξο ηµιτόνου 0.5236 >> atan(1) % τόξο εφαπτοµένης 0.7854 όπου το σύµβολο % χρησιµοποιείται για την εισαγωγή σχολίων. Αν η γωνία δίνεται σε µοίρες, τότε την µετατρέπουµε σε ακτίνια πολλαπλασιάζοντας µε το π/180. Παράδειγµα υπολογισµού του cos(60 o ): >> cos(60*pi/180) 0.5000 Αν και µερικές φορές το αποτέλεσµα παρουσιάζει σφάλµα λόγω των αριθµητικών προσεγγίσεων των ψηφιακών Η/Υ, όπως στο παραπάνω παράδειγµα υπολογισµού

4 του cos(pi/2) που έπρεπε να δώσει µηδέν, δεν πρέπει να γενικεύουµε και να εκλαµβάνουµε όλους του µικρούς αριθµούς ως µηδέν! 1.3. Σταθερές και µεταβλητές Το MATLAB µας επιτρέπει να δίνουµε στις σταθερές και µεταβλητές ονόµατα της επιλογής µας. Για παράδειγµα, έστω ότι θέλουµε να υπολογίσουµε το ακόλουθο: sin(60*pi/180)^2 + cos(60*pi/180)^2 Με χρήση σταθερών και µεταβλητών, ο υπολογισµός µπορεί να γίνει ως εξής: >> theta = 60*pi/180; >> a = sin(theta); >> b = cos(theta); >> a^2 + b^2 1 Τα σύµβολα theta, a και b αντιπροσωπεύουν σταθερές ή µεταβλητές ανάλογα µε το άν επιτρέπεται να αλλάζουν στη συνέχεια ή όχι. Το σύµβολο ans είναι µεταβλητή και µπορεί επίσης να χρησιµοποιηθεί σε περαιτέρω υπολογισµούς όπως στο παράδειγµα: >> 60*pi/180 1.0472 >> sin(ans) 0.8660 1.4. Μορφή (format) Το MATLAB παρέχει τη δυνατότητα εµφάνισης των αριθµών µε διαφορετικό πλήθος ψηφίων ανάλογα µε την ακρίβεια που επιθυµούµε. Φυσικά, η εσωτερική αναπαράσταση των αριθµών είναι ανεξάρτητη από τη µορφή εµφάνισης. Η προεπιλογή (default) της µορφής στο MATLAB όσον αφορά τα σηµαντικά δεκαδικά ψηφία δίνεται από την εντολή format ή format short που εµφανίζει µέχρι τέσσερα δεκαδικά ψηφία ενώ η προεπιλογή ως προς την απόσταση των γραµµών δίνεται µε την εντολή format loose. Για µεγαλύτερη ακρίβεια µπορούµε να χρησιµοποιήσουµε τις εντολές format long και format long e ενώ για την απαλοιφή των κενών γραµµών, που συνιστάται, χρησιµοποιούµε την εντολή format compact. Παραδείγµατα: >> format compact >> pi

5 3.1416 >> format long >> pi 3.14159265358979 >> format long e >> pi 3.141592653589793e+000 >> x = 2; >> y = 3; >> z = x^2 + y^2 + x*y + x + y z = 24 όπου στο τελευταίο παράδειγµα βλέπουµε ότι το ελληνικό ερωτηµατικό στο τέλος µιας γραµµής αποτρέπει την εµφάνιση του αποτελέσµατος (οι τιµές των µεταβλητών x και y). Η τιµή της µεταβλητής z εµφανίζεται επειδή δεν υπάρχει το σύµβολο ; στο τέλος της γραµµής. Περισσότερες πληροφορίες για την µορφή µπορείτε να βρείτε πληκτρολογώντας help format.» help format FORMAT Set output format. All computations in MATLAB are done in double precision. FORMAT may be used to switch between different output display formats as follows: FORMAT Default. Same as SHORT. FORMAT SHORT Scaled fixed point format with 5 digits. FORMAT LONG Scaled fixed point format with 15 digits. FORMAT SHORT E Floating point format with 5 digits. FORMAT LONG E Floating point format with 15 digits. FORMAT SHORT G Best of fixed or floating point format with 5 digits. FORMAT LONG G Best of fixed or floating point format with 15 digits. FORMAT HEX FORMAT + FORMAT BANK FORMAT RAT Hexadecimal format. The symbols +, - and blank are printed for positive, negative and zero elements. Imaginary parts are ignored. Fixed format for dollars and cents. Approximation by ratio of small integers. Spacing: FORMAT COMPACT Suppress extra line-feeds. FORMAT LOOSE Puts the extra line-feeds back in.

6 1.5. Αποθήκευση σειράς υπολογισµών στο MATLAB σε ένα αρχείο Για να αποθηκεύσουµε µια σειρά εντολών, κατά την εργασία µας στο MATLAB, σε ένα αρχείο, χρησιµοποιούµε την εντολή diary (ηµερολόγιο) ακολουθούµενη από το όνοµα του αρχείου. Αν δεν δοθεί όνοµα, το αρχείο που θα δηµιουργηθεί θα ονοµάζεται diary. Παράδειγµα: >> format compact >> diary arxeio.dia >> x = 2; >> y = 3; >> z = x^2 + y^2 + x*y + x + y z = 24 >> diary off Η εντολή diary off σηµατοδοτεί το κλείσιµο του αρχείου ηµερολογίου arxeio.dia. Το αρχείο αυτό θα δηµιουργηθεί στο directory από το οποίο καλέσαµε το MATLAB. 2. ΣΕΙΡΕΣ - ΙΑΝΥΣΜΑΤΑ Στο MATLAB η σειρά ορίζεται ως µία διατεταγµένη συλλογή αριθµών που περικλείεται από αγκύλες [... ] µε τα στοιχεία να διαχωρίζονται είτε από κενά είτε από κόµµατα. >> odd = [1 3 5 7 9 11 13 15 17 19] odd = 1 3 5 7 9 11 13 15 17 19 >> even = [2,4,6,8,10,12,14,16,18,20] even = 2 4 6 8 10 12 14 16 18 20 >> dekadikoi = [1.0 1.2 1.4 1.6 1.8 2.0] dekadikoi = 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 Τα στοιχεία της σειράς προσδιορίζονται µε δείκτες θέσης (φυσικοί αριθµοί) αρχίζοντας από το 1: >> odd(5) 9 >> even(1) 2

7 Το πλήθος των στοιχείων µιας σειράς υπολογίζεται από την συνάρτηση length του MATLAB: >> length(even) 10 Η εντολή clear µηδενίζει (σβήνει από τη µνήµη) τη σειρά: >> clear even >> even??? Undefined function or variable 'even' Ενας εναλλακτικός τρόπος εισαγωγής της παραπάνω σειράς, αν και πιό επίπονος, είναι ο εξής: >> even(1) = 2 even = 2 >> even(2) = 4 even = 2 4 >> even(3) = 6 even = 2 4 6...... >> even(10) = 20 even = 2 4 6 8 10 12 14 16 18 20 2.1. Πράξεις µε σειρές Εστω οι σειρές A = [a 1 a 2 a n ] και B = [b 1 b 2 b n ]. Η πρόσθεση και η αφαίρεση των δύο σειρών ορίζονται ως εξής: A + B = [a 1 + b 1, a 2 + b 2,, a n + b n ] A - B = [a 1 - b 1, a 2 - b 2,, a n - b n ] Για παράδειγµα: >> odd + even 3 7 11 15 19 23 27 31 35 39 >> even odd 1 1 1 1 1 1 1 1 1 1

8 Στην περίπτωση που τα στοιχεία της σειράς βρίσκονται σε ίσες αποστάσεις, τότε δεν χρειάζεται η αναλυτική εισαγωγή της σειράς αλλά µόνο το πρώτο στοιχείο, το βήµα και το τελευταίο στοιχείο µε διαχωριστικό σύµβολο το :. Για παράδειγµα, οι παραπάνω σειρές odd και even µπορούν να ορισθούν και ως εξής: >> odd = 1:2:19 odd = 1 3 5 7 9 11 13 15 17 19 >> even = 2:2:20 even = 2 4 6 8 10 12 14 16 18 20 Οταν το βήµα είναι 1 τότε µπορεί να παραληφθεί ενώ επιτρέπονται επίσης αρνητικά και κλασµατικά βήµατα: >> natural = 1:10 natural = 1 2 3 4 5 6 7 8 9 10 >> inv_odd = 19:-2:1 inv_odd = 19 17 15 13 11 9 7 5 3 1 >>dekadika = 0:0.1:1 dekadika = 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Ορισµός πράξης πολλαπλασιαµού σειρών: A.* B = [a 1 b 1, a 2 b 2,, a n b n ] όπου το σύµβολο.* σηµαίνει πολλαπλασιασµός στοιχείου προς στοιχείο. Για παράδειγµα: >> odd.*even 2 12 30 56 90 132 182 240 306 380 Ορισµός διαίρεσης (από αριστερά και από δεξιά) σειρών: A./ B = [a 1 /b 1, a 2 /b 2,, a n /b n ] A.\ B = [a 1 \b 1, a 2 \b 2,, a n \b n ] B./ A Παραδείγµατα: >> odd./even Columns 1 through 7 0.5000 0.7500 0.8333 0.8750 0.9000 0.9167 0.9286 Columns 8 through 10 0.9375 0.9444 0.9500

9 >> odd.\even Columns 1 through 7 2.0000 1.3333 1.2000 1.1429 1.1111 1.0909 1.0769 Columns 8 through 10 1.0667 1.0588 1.0526 Ορισµός ύψωσης σε δύναµη: A.^ m = [a 1 m, a 2 m,, a n m ] Παράδειγµα: ΣΗΜΕΙΩΣΗ: >> natural.^2 1 4 9 16 25 36 49 64 81 100 Πολλές από τις ενσωµατωµένες συναρτήσεις του MATLAB µπορούν να εφαρµοσθούν σε σειρές αν απλώς, στη θέση του ορίσµατος, χρησιµοποιηθεί το όνοµα της σειράς: >> angle = 0:10:90; >> angle = pi*angle/180; >> sin(angle) Columns 1 through 7 0 0.1736 0.3420 0.5000 0.6428 0.7660 0.8660 Columns 8 through 10 0.9397 0.9848 1.0000 Στο παραπάνω παράδειγµα, ο απλός πολλαπλασιασµός ή διαίρεση σειράς µε αριθµό οδηγεί στην αντίστοιχη πράξη του αριθµού µε κάθε στοιχείο της σειράς. 2.2. ιανύσµατα γραµµής στήλης Οι σειρές της προηγούµενης ενότητας µπορούν να θεωρηθούν και ως διανύσµατα γραµµής (οριζόντια) µε στοιχεία τα αντίστοιχα στοιχεία της σειράς. Αν και η δήλωση διανυσµάτων γραµµής µπορεί να είναι η ίδια µε τη δήλωση των σειρών, είναι καλό να περιλαµβάνουµε τα στοιχεία του διανύσµατος µέσα σε αγκύλες [ ] όπως: >> odd = [1:2:19] odd = 1 3 5 7 9 11 13 15 17 19 >> even = [2,4,6,8,10,12,14,16,18,20] even = 2 4 6 8 10 12 14 16 18 20

10 >> N = [1:5] N = 1 2 3 4 5 Η δήλωση ενός διανύσµατος στήλης είναι ίδια ως προς τη µορφή µε αυτήν ενός διανύσµατος γραµµής εκτός από το διαχωριστικό σύµβολο που τώρα είναι είτε το ; είτε η αλλαγή γραµµής: >> Α = [1;2;3;4;5] A = 1 2 3 4 5 >> B = [2 3 5 7 11] B = 2 3 5 7 11 Η µετατροπή ενός διανύσµατος στήλης σε γραµµής και το αντίστροφο µπορεί να γίνει µε την χρήση του αναστρόφου διανύσµατος που συµβολίζεται µε την απόστροφο: >> Αt = A At = 1 2 3 4 5 >> Att = At Att = 1 2 3 4 5 2.3. Εσωτερικό γινόµενο διανυσµάτων Εστω ένα διάνυσµα γραµµής A = [a 1 a 2 a n ] και ένα διάνυσµα στήλης B = [b 1 ; b 2 ; ; b n ] µε τον ίδιο αριθµό στοιχείων n. Το εσωτερικό γινόµενο A * B των δύο διανυσµάτων είναι καθαρός αριθµός και δίνεται από την ακόλουθη εξίσωση: A * B = a 1 b 1 + a 2 b 2 + + a n b n

11 Για τα διανύσµατα της προηγούµενης ενότητας έχουµε (αφού αναστρέψουµε το διάνυσµα στήλης Α): >> A *B 106 ενώ το άθροισµα των τετραγώνων των πρώτων 5 φυσικών αριθµών θα είναι: >> Ν*Ν 55 2.4. Γραφική παράσταση Εστω ότι θέλουµε να κάνουµε τη γραφική παράσταση της ηµιτονοειδούς συνάρτησης στο διάστηµα [0, 2π]. Η βασική συνάρτηση του MATLAB για δισδιάστατες απεικονίσεις είναι η plot (για λεπτοµέρειες πληκτρολογήστε help plot). Αλλες χρήσιµες συναρτήσεις είναι η grid που σχεδιάζει τον κάνναβο και οι xlabel, ylabel για την εισαγωγή κειµένου στις γραφικές παραστάσεις. >> x = 0: pi/90: 2*pi; >> y = sin(x); >> plot(x,y) 1 0.5 0-0.5-1 0 1 2 3 4 5 6 7 >> grid >> xlabel( x, ακτίνια ) >> ylabel( sin(x) )

12 1 0.5 sin(x) 0-0.5-1 0 1 2 3 4 5 6 7 x, ακτ ί νι α 3. ΠΙΝΑΚΕΣ Οι πίνακες στο MATLAB περικλείονται σε αγκύλες [ ] και εισάγονται µε απλό τρόπο. Με χρήση των διαχωριστικών κενό ή κόµµα για τα στοιχεία γραµµής και του ; για την αλλαγή γραµµής µπορούµε να ορίσουµε έναν πίνακα ως εξής: >> Α = [1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 Μπορούµε επίσης να γράψουµε κάθε γραµµή ξεχωριστά όπως: >> Α = [1 2 3 4 5 6 7 8 9] A = 1 2 3 4 5 6 7 8 9 Η πρόσβαση στα στοιχεία του πίνακα γίνεται µε χρήση δύο δεικτών µέσα σε παρένθεση µε τον πρώτο να προσδιορίζει τη γραµµή και τον δεύτερο τη στήλη: >> Α(1,3) 3 >> A(3,2) 8

13 Οι διαστάσεις ενός πίνακα δίνονται µε τη συνάρτηση size: >> size(a) 3 3 ύο πίνακες A και Β µε τον ίδιο αριθµό γραµµών µπορούν να παρατεθούν ο ένας δίπλα στον άλλο και να δηµιουργήσουν έναν νέο πίνακα µε τον ίδιο αριθµό γραµµών και πλήθος στηλών όσο και το άθροισµά τους στους αρχικούς πίνακες. Η λειτουργία αυτή ονοµάζεται παράθεση πινάκων και συµβολίζεται µε [Α Β]: >> Α = [1 2 3; 4 5 6; 7 8 9]; >> B = [1 1 1 1; 2 2 2 2; 3 3 3 3]; >> C = [A B] C = 1 2 3 1 1 1 1 4 5 6 2 2 2 2 7 8 9 3 3 3 3 >> size(c) 3 7 Η δηµιουργία ενός νέου πίνακα από δύο πίνακες Α και Β που έχουν ίδιο πλήθος στηλών είναι επίσης δυνατή µε χρήση της λειτουργίας [Α; Β] όπως στο παράδειγµα: >> Α = [1 2 3; 4 5 6; 7 8 9]; >> B = [10 11 12; 13 14 15]; >> C = [A; B] C = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Για να εξαγάγουµε έναν υποπίνακα από την γραµµή x1 έως τη γραµµή x2 και από τη στήλη y1 έως τη στήλη y2 µέσα από κάποιον πίνακα Α, χρησιµοποιούµε την µορφή Α(x1:x2; y1:y2). Για παράδειγµα, αν θέλουµε να εξαγάγουµε τον υποπίνακα που αποτελείται από τις δύο πρώτες γραµµές και στήλες του C θα έχουµε: >> C(1:2,1:2) 1 2 4 5 Αν θέλουµε να εξαγάγουµε όλες τις γραµµές ή όλες τις στήλες, τότε δεν χρειάζεται να το δηλώσουµε αναλυτικά αλλά χρησιµοποιούµε µόνο το σύµβολο :

14 >> C(:,1:2) 1 2 4 5 7 8 10 11 13 14 >> C(1,:) 1 2 3 >> C(:,1) 1 4 7 10 13 >> C(1:3,:) 1 2 3 4 5 6 7 8 9 3.1. Στοιχειώδεις πράξεις µε πίνακες Το άθροισµα δύο πινάκων A και Β µε τις ίδιες διαστάσεις mxn και µε στοιχεία a ij και b ij αντίστοιχα, είναι ένας νέος πίνακας S µε διαστάσεις mxn και στοιχεία s ij που δίνονται από την εξίσωση s ij = a ij + b ij. Αντίστοιχα, η διαφορά των πινάκων οδηγεί σε νέο πίνακα µε στοιχεία s ij = a ij - b ij. >> S1 = C(1:3,:) S1 = 1 2 3 4 5 6 7 8 9 >> S2 = C(3:5,:) S2 = 7 8 9 10 11 12 13 14 15 >> S = S1 + S2 S = 8 10 12 14 16 18 20 22 24 >> D = S1 S2 D = -6-6 -6-6 -6-6 -6-6 -6

15 Για να πολλαπλασιάσουµε δύο πίνακες A και B πρέπει το πλήθος των στηλών του πρώτου να είναι ίδιο µε το πλήθος των γραµµών του δεύτερου. Εστω, για παράδειγµα, ότι οι διαστάσεις των A και B είναι mxp και pxn αντίστοιχα. Τότε, οι διαστάσεις του νέου πίνακα P που αντιστοιχεί στο γινόµενο των δύο πινάκων θα είναι mxn και τα στοιχεία του θα δίνονται από την εξίσωση: m p ij = aik b kj k=1 Συνεχίζοντας το προηγούµενο παράδειγµα, το γινόµενο των S1 και S2 θα είναι: >> P = S1 * S2 P = 66 72 78 156 171 186 246 270 294 Ενας τετραγωνικός πίνακας (όπως οι S1 και S2) µπορεί να πολλαπλασιαστεί µε τον εαυτό του: >> S1 * S1 30 36 42 66 81 96 102 126 150 Ισοδύναµα, για τετραγωνικούς πίνακες, µπορούµε να χρησιµοποιήσουµε το σύµβολο ύψωσης σε δύναµη (Α^2 = Α*Α, Α^3 = Α*Α*Α, κ.λπ.): >> S1^2 30 36 42 66 81 96 102 126 150 >> S1^3 468 576 684 1062 1305 1548 1656 2034 2412 Οπως και στην περίπτωση των µονοδιάστατων σειρών, έτσι και στην περίπτωση των δισδιάστατων σειρών (δηλαδή, των πινάκων), µία ενσωµατωµένη συνάρτηση επιδρά σε κάθε στοιχείο του πίνακα ξεχωριστά: >> angle = [0:10:20;30:10:50;60:10:80] angle = 0 10 20 30 40 50 60 70 80

16 >> angle = pi*angle/180 angle = 0 0.1745 0.3491 0.5236 0.6981 0.8727 1.0472 1.2217 1.3963 >> sin(angle) 0 0.1736 0.3420 0.5000 0.6428 0.7660 0.8660 0.9397 0.9848 Επίσης, ένας σύντοµος τρόπος ορισµού ενός πίνακα µε όλο µηδενικά ή µονάδες είναι µε χρήση των λειτουργιών ones(m,n) και zeros(m,n): >> ones(2,3) 1 1 1 1 1 1 >> zeros(2,2) 0 0 0 0 Τέλος, αν θέλουµε να δηµιουργήσουµε έναν πίνακα από µονάδες που να έχει τις ίδιες διαστάσεις µε κάποιον πίνακα A, τότε µοπρούµε να χρησιµοποιήσουµε τις διαστάσεις που επιστρέφονται από την συνάρτηση size: >> A = [1 2 3 4; 5 6 7 8; 9 10 11 12] A = 1 2 3 4 5 6 7 8 9 10 11 12 >> [m, n] = size(a) m = 3 n = 4 >> ones(m, n) 1 1 1 1 1 1 1 1 1 1 1 1 ή πιό απλά ακόµη: >> ones(size(a)) 1 1 1 1 1 1 1 1 1 1 1 1

17 3.2. Εκτύπωση πίνακα Εστω ότι θέλουµε να δηµιουργήσουµε έναν πίνακα µε τα ηµίτονα των γωνιών 0, 10, 20,..., 90 µοιρών. Αυτό µπορεί να γίνει µε χρήση των λειτουργιών της αναστροφής και της παράθεσης: >> angle = 0:10:180; >> sine = sin(pi*angle/180); >> [angle sine ] 0 0 10.0000 0.1736 20.0000 0.3420 30.0000 0.5000 40.0000 0.6428 50.0000 0.7660 60.0000 0.8660 70.0000 0.9397 80.0000 0.9848 90.0000 1.0000 100.0000 0.9848 110.0000 0.9397 120.0000 0.8660 130.0000 0.7660 140.0000 0.6428 150.0000 0.5000 160.0000 0.3420 170.0000 0.1736 180.0000 0.0000

Άλλες χρήσιµες εντολές του MATLAB who whos Η εντολή εµφανίζει τις µεταβλητές στο περιβάλλον εργασίας Η εντολή είναι όπως η who µε επιπλέον πληροφορίες ως προς τον τύπο των µεταβλητών και τον χώρο που καταλαµβάνουν σε bytes. x = input(string) ή x = input ([string1,string2,,stringn]) Η εντολή input εµφανίζει ένα µήνυµα τύπου string (ή συνένωση από strings) στην οθόνη και αναµένει είσοδο από το πληκτρολόγιο. Η είσοδος αποθηκεύεται στη µεταβλητή αριστερά της ισότητας (π.χ. στο x). To string (συµβολοσειρά) πρέπει να περικλείεται σε απλά απόστροφα. disp(string) ή disp([string1,string2,,stringn]) Η εντολή disp εµφανίζει ένα ή περισσότερα strings στην οθόνη. Παράδειγµα: >> x = input( Dose enan arithmo: ) Dose enan arithmo: 2 x = 2 >> disp([ O arithmos einai o,int2str(x)]); O arithmos einai o 2 >> int2str(x) num2str(x) µετατρέπει τον ακέραιο x σε string µετατρέπει τον πραγµατικό αριθµό x σε string pause pause(n) σταµατάει προσωρινά την εκτέλεση µέχρι να πατηθεί κάποιο πλήκτρο παύση n δευτερολέπτων pause on ή pause off ενεργοποίηση/απενεργοποίηση των pause που ακολουθούν στο πρόγραµµά µας (για να τρέχουν και σε non-interactive mode) echo on και echo off ενεργοποιεί/απενεργοποιεί το echoing ενός script αρχείου. Εµφανίζει τόσο τις εντολές όσο και τα σχόλια του προγράµµατός µας. Μέσω του echo δεν είναι πάντα απαραίτητα τα disp για την εµφάνιση µηνυµάτων.

SET PATH -- ΚΑΘΟΡΙΣΜΟΣ ΤΟΥ PATH ΣΤΟ MATLAB To MATLAB αναζητεί ονόµατα από script αρχεία, functions ή και αρχεία δεδοµένων είτε των βιβλιοθηκών του ή του χρήστη, ελέγχοντας τους φακέλους µε τη σειρά που έχουν καταχωρηθεί από την SET PATH. Η εισαγωγή ενός νέου path (π.χ. A:\ ή C:\TEMP\) γίνεται µε επιλογή του SET PATH από το menu FILE ή ενός απλού κλίκ στο εικονίδιο του PATH BROWSER. Τα βήµατα που ακολουθούµε είναι τα εξής: 1. κάνουµε κλικ στο Browse και επιλέγουµε το PATH που επιθυµούµε να προσθέσουµε 2. ενεργοποιούµε (κάνοντας απλό κλικ) το Current Directory ώστε να εµφανισθούν τα αρχεία που αναγνωρίζει το MATLAB στο δεξί παράθυρο 3. Επιλέγουµε το Add to Path από το menu Path του Path Browser 4. Στο dialog-box που εµφανίζεται επιλέγουµε προσθήκη στο τέλος Αdd to back και κάνουµε κλικ στο ΟΚ 5. Επιλέγουµε το Save Path από το menu FILE. 6. Επιλέγουµε το Exit Path Browser από το menu FILE. Η διαγραφή ενός PATH γίνεται µε επιλογή του Remove from Path από το menu Path του Path Browser και στη συνέχεια ακολουθούµε τα βήµατα 5 και 6. Τέλος, αν θέλουµε να δώσουµε προτεραιότητα σε κάποιους φακέλους, µπορούµε να τα µεταφέρουµε µε hold-and-drag πιό πάνω ή πιό κάτω στη σειρά των paths. ΗΜΙΟΥΡΓΙΑ SCRIPT ΑΡΧΕΙΩΝ ΜΕ ΤΟΝ EDITOR TOY MATLAB Μπορούµε να δηµιουργήσουµε script αρχεία στο MATLAB µέσω του editor, επιλέγοντας: File New M-file Τα script αρχεία στο MATLAB έχουν την επέκταση.m και ονοµάζονται Μ-αρχεία. Μια άλλη συνηθισµένη κατηγορία αρχείων στο MATLAB είναι τα αρχεία δεδοµένων (ASCII ή Binary) µε επέκταση.mat. Ενα script αρχείο περιλαµβάνει το σύνολο των εντολών ενός προγράµµατος που θα εκτελεστούν σειριακά από τον διερµηνευτή του MATLAB. Τα σχόλια (αρχίζουν από %) δεν εκτελούνται, όµως όταν εµφανίζονται στις πρώτες γραµµές του script µπορούν να χρησιµοποιηθούν ως online help µέσω της εντολής help. Για παράδειγµα, έστω ότι ένα script περιλαµβάνει τα εξής σχόλια και εντολές:

LOOPS - CONTROL STATEMENTS (σχεδόν όπως στη C) for loop while loop j = 0; for i=1:10 %µε βήµα 1 j = j + 1; end j %για να δούµε την τιµή στο j k = 0; for i=0:5:20 %µε βήµα 5 for j=1:3 %διπλό loop, το j µε βήµα 1 k = i*5+j; end end k help for j = 5; while j>0 % while (συνθήκη = true) do disp(['j = ',num2str(j)]); j = j 1; end j help while if then else j = 5; k = -4; if ((j~=k+1) & (k>=0)) j==abs(k) k = k+j; elseif j==k+1 k = k+2*j; else k = 0; end k help if help relop help elseif