7.5 ΑΡΑΙΕΣ ΜΗΤΡΕΣ 290 7.5.1 Κατασκευή αραιών µητρών... 290 7.5.2 Πράξεις και συναρτήσεις αραιών µητρών... 294 7.5.3 Συναρτήσεις για γραφήµατα...



Σχετικά έγγραφα
7.5 ΑΡΑΙΕΣ ΜΗΤΡΕΣ Κατασκευή αραιών µητρών Πράξεις και συναρτήσεις αραιών µητρών Συναρτήσεις για γραφήµατα...

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

4.1 Πράξεις με Πολυωνυμικές Εκφράσεις... 66

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας.

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός

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

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

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

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

ΑΕΠΠ Ερωτήσεις θεωρίας

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

Διδακτική της Πληροφορικής ΙΙ

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Python. 1η Ομάδα Ασκήσεων

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή

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

Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 21

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

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

Προγραµµατισµός Η/Υ. Δρ. Δ.Ν. Παγώνης. Καθηγητής Εφαρµογών. Τηλ: Τµήµα Ναυπηγών Μηχανικών ΤΕ, ΤΕΙ Αθήνας

Περιεχόμενα ΜΕΡΟΣ 1. Πρόλογος... xiii. 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 23

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

Certified Computer Programmer (CCP) Εξεταστέα Ύλη (Syllabus) Έκδοση 1.0

Προγραμματισμός Η/Υ. Συναρτήσεις & Υποπρογράμματα. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Μαθηματικά και Φυσική με Υπολογιστές

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ ΠΡΩΤΟ ΣΤΟΙΧΕΙΑ ΔΙΑΦΟΡΙΚΟΥ ΛΟΓΙΣΜΟΥ ΣΥΝΑΡΤΗΣΕΩΝ ΠΟΛΛΩΝ ΜΕΤΑΒΛΗΤΩΝ 15

Πρώτη επαφή με το μαθηματικό πακέτο Mathematica

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

12/3/2012. Εργαστήριο Αλγόριθμοι Γραμμικής Βελτιστοποίησης. Lab03 1. Διανυσματοποίηση Βρόχων. Αρχικοποίηση μητρών (preallocating)

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

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

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

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

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

ΑΛΓΕΒΡΑ Β ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός

Περιεχόμενα. Προλεγόμενα... ix Κεφάλαιο 1 Εισαγωγή Κεφάλαιο 2 Δεδομένα και εκφράσεις Κεφάλαιο 3 Λογικές συνθήκες και δομές ελέγχου...

Άξονας ανάπτυξης του µαθήµατος 3. Γενικός σκοπός του µαθήµατος. Το µάθηµα της Πληροφορικής στο Γυµνάσιο

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

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

Τα Microsoft Windows XP και Microsoft Office Word είναι σήµατα κατατεθέντα της Microsoft Corporation.

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

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

1 Εισαγωγή στην Πληροφορική

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

ΣΧΕΔΙΟ ΔΙΔΑΣΚΑΛΙΑΣ ΕΞΙΣΩΣΗΣ 1 ΟΥ ΒΑΘΜΟΥ Α ΛΥΚΕΙΟΥ

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ ΠΡΩΤΟ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΣΥΝΟΛΩΝ ΚΑΙ ΣΥΝΔΥΑΣΤΙΚΗΣ ΑΝΑΛΥΣΗΣ

ΜΑΘΗΜΑΤΑ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ ΠΑΡΑ ΟΣΕΙΣ ΑΣΚΗΣΕΙΣ ΚΑΘΗΓΗΤΕΣ/ΤΡΙΕΣ

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΘΕΡΙΝΟ ΣΧΟΛΕΙΟ ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP, MySQL & Wordpress

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

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

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΗΧΑΝΙΚΗΣ ΕΦΑΡΜΟΓΕΣ ΜΕ ΧΡΗΣΗ MATLAB ΔΕΥΤΕΡΗ ΕΚΔΟΣΗ [ΒΕΛΤΙΩΜΕΝΗ ΚΑΙ ΕΠΑΥΞΗΜΕΝΗ]

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

Επανάληψη για τις Τελικές εξετάσεις

Αναλυτικός Πίνακας Περιεχομένων

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Θερμοδυναμική - Εργαστήριο

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

Δρ Μιχάλης Τζούμας Σχολικός Σύμβουλος Μαθηματικών. Διδάσκοντας στην τάξη με το Geogebra

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ... 1

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

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

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

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών

Κεφάλαιο 10ο. ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ιαδικασίες - Συναρτήσεις

Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυµα Θεσσαλονίκης

ΙΑΓΩΝΙΣΜΑ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΠΟΦΟΙΤΟΙ) Κυριακή

Γιώργος Μπαρακλιανός τηλ ( ) Κώστας Τζάλλας τηλ ( ) Παραγγελίες : τηλ.

Εφαρμογές πολυμέσων για τη διδασκαλία των Μαθηματικών

Εισαγωγή στην πληροφορική

ΠΕΚ ΠΕΙΡΑΙΑ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

Περιεχόμενα. Λίγα λόγια για τους συγγραφείς

ΔΕΙΓΜΑ ΠΡΙΝ ΤΙΣ ΔΙΟΡΘΩΣΕΙΣ - ΕΚΔΟΣΕΙΣ ΚΡΙΤΙΚΗ

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

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

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Transcript:

Κ. Π Α Π Α Ρ Ρ Ι Ζ Ο Σ M A T L A B 6. 5 Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Π Ρ Ο Λ Ο Γ Ο Σ............. v Κ Ε Φ Α Λ Α Ι Ο 1 Β Α Σ Ι Κ Ε Σ Λ Ε Ι Τ Ο Υ Ρ Γ Ι Ε Σ Τ Ο Υ M A T L A B 1 1.1 ΠΡΑΞΕΙΣ ΚΑΙ ΑΡΙΘΜΗΤΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ 2 1.1.1 Το Παράθυρο Εντολών... 2 1.1.2 Πράξεις δυο αριθµών... 4 1.1.3 Αριθµητικές παραστάσεις... 5 1.2 Η ΕΝΤΟΛΗ ΚΑΤΑΧΩΡΗΣΗΣ 7 1.2.1 Ονοµατολογία µεταβλητών... 9 1.2.2 Σχόλια και συνέχιση εντολών... 10 1.3 Ο ΧΩΡΟΣ ΕΡΓΑΣΙΑΣ 12 1.3.1 ιαγραφή και εµφάνιση µεταβλητών... 12 1.3.2 Επανεκτέλεση εντολών... 15 1.3.3 Οι εντολές save και load... 16 1.3.4 Εµφάνιση αριθµών στην οθόνη... 17 1.4 Η ΕΝΤΟΛΗ DIARY ΚΑΙ ΤΑ ΑΡΧΕΙΑ SCRIPT 19 1.4.1 Η εντολή diary... 19 1.4.2 Τα αρχεία script... 21 1.4.3 Οι εντολές disp, input, pause... 23 1.4.4 Ο τρέχον κατάλογος και ο πλοηγός δρόµων... 24 1.5 ΣΥΝΑΡΤΗΣΕΙΣ 28 1.5.1 Η υπηρεσία βοήθειας... 29 1.5.2 Η κατηγορία elfun... 34 1.5.3 Η γενική δοµή των συναρτήσεων... 36 1.5.4 Η κατηγορία specfun... 40 1.6 ΜΙΓΑ ΙΚΟΙ ΑΡΙΘΜΟΙ 44 1.6.1 Μορφή και πράξεις µιγαδικών αριθµών... 44 1.6.2 Συναρτήσεις µιγαδικών αριθµών... 47 Κ Ε Φ Α Λ Α Ι Ο 2 Π Ρ Α Ξ Ε Ι Σ Κ Α Ι Χ Ε Ι Ρ Ι Σ Μ Ο Σ Μ Η Τ Ρ Ω Ν 4 9 2.1 ΕΙΣΑΓΩΓΗ ΜΗΤΡΩΝ ΣΤΟ MATLAB 50 2.1.1 Εισαγωγή µητρών µε πληκτρολόγηση... 50 2.1.2 Κατασκευή διανυσµάτων... 52 2.1.3 Κατασκευή δισδιάστατων µητρών... 54 i

2.2 ΠΡΑΞΕΙΣ ΜΕ ΤΗ ΧΡΗΣΗ ΜΗΤΡΩΝ 57 2.2.1 Πράξεις µητρών... 58 2.2.2 Πράξεις στοιχείο µε στοιχείο... 62 2.2.3 Ειδικές πράξεις µητρών... 64 2.2.4 Πράξεις συνόλων... 67 2.2.5 Οι συναρτήσεις sum, prod και cumsum, cumprod... 70 2.2.6 Πράξεις πολυωνύµων... 72 2.3 ΑΝΑΦΟΡΕΣ ΚΑΙ ΣΥΝΘΕΣΗ ΜΗΤΡΩΝ 75 2.3.1 Αναφορές σε µήτρες... 75 2.3.2 Συνθέσεις µητρών... 78 2.4 ΓΕΝΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ ΜΗΤΡΩΝ 81 2.4.1 Συναρτήσεις των κατηγοριών elfun και specfun... 81 2.4.2 Άλλες συναρτήσεις εισαγωγής µητρών... 82 2.4.3 Συναρτήσεις χειρισµού µητρών... 86 2.4.4 Μερικές δηµοφιλείς συναρτήσεις µητρών... 89 Κ Ε Φ Α Λ Α Ι Ο 3 Π Ρ Ο Γ Ρ Α Μ Μ Α Τ Ι Σ Μ Ο Σ Σ Τ Ο M A T L A B 9 3 3.1 ΣΧΕΣΙΑΚΟΙ ΚΑΙ ΛΟΓΙΚΟΙ ΤΕΛΕΣΤΕΣ 94 3.1.1 Σχεσιακοί τελεστές... 94 3.1.2 Λογικοί τελεστές... 97 3.2 ΟΜΕΣ ΕΛΕΓΧΟΥ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ 102 3.2.1 Η δοµή for... 102 3.2.2 Η δοµή if... 105 3.2.3 Η δοµή while... 112 3.2.4 Η δοµή switch... 117 3.2.5 Μερικά σύνθετα παραδείγµατα... 119 3.3 ΓΡΑΦΟΝΤΑΣ ΟΛΟΚΛΗΡΩΜΕΝΕΣ ΣΥΝΑΡΤΗΣΕΙΣ 124 3.3.1 Οι συναρτήσεις nargin και nargout... 125 3.3.2 Μέτρηση αριθµητικών πράξεων και χρόνου... 128 Κ Ε Φ Α Λ Α Ι Ο 4 Α Ν Α Ρ Ο Μ Ι Κ Ο Σ Π Ρ Ο Γ Ρ Α Μ Μ Α Τ Ι Σ Μ Ο Σ Κ Α Ι Μ Ι Α Ε Φ Α Ρ Μ Ο Γ Η 1 3 3 4.1 ΤΟ MATLAB ΣΑΝ ΑΝΑ ΡΟΜΙΚΗ ΓΛΩΣΣΑ 134 4.1.1 Προγραµµατίζοντας αναδροµικά... 134 4.1.2 Η αρχή του διαίρει και βασίλευε... 138 4.2 ΜΙΑ ΕΦΑΡΜΟΓΗ ΣΤΟ ΓΡΑΜΜΙΚΟ ΠΡΟΒΛΗΜΑ 142 4.2.1 Η µαθηµατική µορφή του γραµµικού προβλήµατος... 142 4.2.2 Η στάνταρτ µορφή του γραµµικού προβλήµατος... 146 4.2.3 Ο αλγόριθµος Simplex... 148 4.2.4 Επίλυση γενικών γραµµικών προβληµάτων... 154 ii

Κ Ε Φ Α Λ Α Ι Ο 5 Γ Ρ Α Φ Ι Κ Α Σ Τ Ο Ε Π Ι Π Ε Ο 1 6 7 5.1 ΑΠΛΕΣ ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ 168 5.1.1 Βασικά χαρακτηριστικά της συνάρτησης plot... 168 5.1.2 Σηµάδια µορφές γραµµών και χρώµατα... 173 5.1.3 Μορφοποίηση αξόνων... 179 5.1.4 Οι εντολές grid, text και legend... 185 5.1.5 Γραφικές παραστάσεις στο ίδιο παράθυρο... 191 5.1.6 Εκτύπωση και αποθήκευση εικόνων... 194 5.2 ΕΙ ΙΚΕΣ ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ 196 5.2.1 Συναρτήσεις γραφικών στο καρτεσιανό επίπεδο... 197 5.2.2 Συναρτήσεις γραφικών σε πολικές συντεταγµένες... 203 5.2.3 Συναρτήσεις σε τόξα... 207 5.2.4 Χρωµατίζοντας περιοχές... 213 Κ Ε Φ Α Λ Α Ι Ο 6 Γ Ρ Α Φ Ι Κ Α Σ Τ Ο Χ Ω Ρ Ο 2 1 7 6.1 ΚΑΜΠΥΛΕΣ ΣΤΟ ΧΩΡΟ 218 6.1.1 Η συνάρτηση plot3... 218 6.1.2 Η συνάρτηση view... 220 6.2 ΠΑΡΑΣΤΑΣΕΙΣ ΕΠΙΦΑΝΕΙΩΝ 225 6.2.1 Η συνάρτηση mesh και οι παραλλαγές της... 225 6.2.2 Η συνάρτηση surf και οι παραλλαγές της... 231 6.3 ΕΜΦΑΝΙΣΗ ΙΣΟΒΑΡΩΝ ΚΑΜΠΥΛΩΝ 235 6.3.1 Συναρτήσεις τύπου contour... 235 6.3.2 Χρησιµοποιώντας χρώµατα... 241 6.3.3 Μήτρες χρωµάτων... 244 6.4 ΓΡΑΦΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΟΥ ΠΡΟΒΛΗΜΑΤΟΣ 250 6.4.1 Αλγεβρική επίλυση γραµµικού προβλήµατος... 251 6.4.2 Γραφική επίλυση γραµµικού προβλήµατος... 260 Κ Ε Φ Α Λ Α Ι Ο 7 Τ Υ Π Ο Ι Ε Ο Μ Ε Ν Ω Ν 2 6 9 7.1 ΧΑΡΑΚΤΗΡΕΣ ΚΑΙ ΣΥΜΒΟΛΟΣΕΙΡΕΣ 270 7.1.1 Κατασκευή και χειρισµός συµβολοσειρών... 270 7.1.2 Οι συναρτήσεις... 274 7.2 ΚΕΛΙΑ 278 7.2.1 Κατασκευή και αναφορά κελιών... 278 7.2.2 Συνάρτηση κελιών... 281 7.3 ΟΜΕΣ 284 7.3.1 Κατασκευή και αναφορά δοµών... 284 7.3.2 Συναρτήσεις δοµών... 286 7.4 ΠΟΛΥ ΙΑΣΤΑΤΕΣ ΟΜΕΣ Ε ΟΜΕΝΩΝ 287 iii

7.5 ΑΡΑΙΕΣ ΜΗΤΡΕΣ 290 7.5.1 Κατασκευή αραιών µητρών... 290 7.5.2 Πράξεις και συναρτήσεις αραιών µητρών... 294 7.5.3 Συναρτήσεις για γραφήµατα... 296 Κ Ε Φ Α Λ Α Ι Ο 8 Χ Ε Ι Ρ Ι Σ Μ Ο Σ Γ Ρ Α Φ Ι Κ Ω Ν 3 0 1 8.2 ΓΡΑΦΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ... 302 8.2.1 Ιεράρχηση αντικειµένων... 302 8.2.2 ιαβάζοντας και τροποποιώντας ιδιότητες αντικειµένων... 303 8.2.3 Μερικές δηµοφιλείς ιδιότητες... 306 8.2 ΛΕΙΤΟΥΡΓΙΕΣ ΚΙΝΗΣΗΣ... 319 8.2.1 Πρωτόγονες λειτουργίες κίνησης... 319 8.2.2 Προηγµένες µορφές κίνησης... 325 Κ Ε Φ Α Λ Α Ι Ο 9 Γ Ρ Α Φ Ι Κ Η Ι Ε Π Ι Φ Α Ν Ε Ι Α Χ Ρ Η Σ Τ Η 3 3 1 9.1 ΓΡΑΦΙΚΗ ΙΕΠΙΦΑΝΕΙΑ ΧΡΗΣΤΗ... 332 9.1.1 Εισαγωγή στο GUIDE... 332 9.2 ΜΕΡΙΚΕΣ ΕΦΑΡΜΟΓΕΣ G.U.I.... 336 9.2.1 Μια απλή εφαρµογή G.U.I... 337 9.2.2 Μια σύνθετη εφαρµογή G.U.I.... 347 Ε Υ Ρ Ε Τ Η Ρ Ι Ο Ο Ρ Ω Ν 3 5 5 Ε Υ Ρ Ε Τ Η Ρ Ι Ο Σ Υ Μ Β Ο Λ Ω Ν, Ε Ν Τ Ο Λ Ω Ν Κ Α Ι Σ Υ Ν Α Ρ Τ Η Σ Ε Ω Ν Τ Ο Υ M A T L A B 3 5 7 Ε Υ Ρ Ε Τ Η Ρ Ι Ο Μ Α Ρ Χ Ε Ι Ω Ν Τ Ο Υ Β Ι Β Λ Ι Ο Υ 3 6 0 Ε Υ Ρ Ε Τ Η Ρ Ι Ο Ε Ι Κ Ο Ν Ω Ν 3 6 1 Ε Υ Ρ Ε Τ Η Ρ Ι Ο Π Ι Ν Α Κ Ω Ν 3 6 5 Π Α Ρ Α Ρ Τ Η Μ Α Α : Ο Η Γ Ι Ε Σ Ε Γ Κ Α Τ Α Σ Τ Α Σ Η Σ Α - 1 Π Α Ρ Α Ρ Τ Η Μ Α Β : Μ Ε Τ Α Φ Ο Ρ Α Τ Ω Ν Μ Α Ρ Χ Ε Ι Ω Ν Β - 1 iv

ΠΡΟΛΟΓΟΣ 1ης Έκδοσης Το βιβλίο αυτό αποτελεί µια εισαγωγή στις βασικές λειτουργίες του MATLAB 6. Στις σελίδες του περιγράφονται διεξοδικά οι λειτουργίες, που είναι σχετικές µε την επιφάνεια εργασίας, οι δυνατότητές του για χειρισµό και σύνθεση µητρών, οι εντολές και συναρτήσεις, που καθιστούν το MATLAB µια από τις πιο εύχρηστες γλώσσες προγραµµατισµού και τέλος παρουσιάζονται οι εντυπωσιακές γραφικές λειτουργίες του στις δυο και τρεις διαστάσεις. Το βιβλίο γράφτηκε ώστε να είναι πλήρως κατανοητό από αναγνώστες µε ελάχιστες γνώσεις πληροφορικής. Οι µόνες γνώσεις που πρέπει να έχει ο αναγνώστης είναι µια µικρή εξοικείωση µε το λειτουργικό σύστηµα windows και ιδιαίτερα να γνωρίζει πως να ανοίγει, να αντιγράφει και να µεταφέρει αρχεία. Πρέπει επίσης να γνωρίζει πως ανοίγονται οι ιστοσελίδες µε ένα οποιοδήποτε πλοηγό ιστοσελίδων (web browser). Αν και δεν είναι απαραίτητο, καλό είναι ο αναγνώστης να γνωρίζει πως εγκαθίστανται λογισµικά εφαρµογών. Στο Παράρτηµα Α περιγράφεται αναλυτικά ο τρόπος εγκατάστασης του MATLAB 6. Τo MATLAB είναι ένα τεράστιο περιβάλλον ανάπτυξης εφαρµογών. Είναι αδύνατο να συµπεριληφθούν όλες οι βασικές του λειτουργίες σε ένα βιβλίο της έκτασης των 350 περίπου σελίδων. Εντυπωσιακές λειτουργίες του, όπως είναι το περιβάλλον GUI, ο αντικειµενοστραφής προγραµµατισµός και ο χειρισµός αρχείων αφέθηκαν εκτός ύλης µε το σκεπτικό να συµπεριληφθούν σε ένα δεύτερο τόµο, ο οποίος θα περιλαµβάνει και ειδικά θέµατα, όπως, για παράδειγµα, συναρτήσεις για γραµµική άλγεβρα και αριθµητική ανάλυση, συµβολικούς υπολογισµούς, θεωρία ελέγχου, ανάλυση σήµατος και βελτιστοποίηση. Με το σκεπτικό αυτό έχει επιλεγεί ένα θέµα, το οποίο στο τέλος των δύο βιβλίων θα αποτελέσει µια ολοκληρωµένη εφαρµογή. Το θέµα έχει επιλεγεί από το χώρο της βελτιστοποίησης. Περιλαµβάνει θέµατα προγραµµατισµού, γραφικών και κίνησης (animation). Θα αναπτυχθεί ένα λογισµικό για διδασκαλία και επαγγελµατική χρήση του γραµµικού προγραµµατισµού. Το θέµα αυτό διαπραγµατεύεται κυρίως στα τµήµατα 4.2 και 6.4, στα οποία δεν ενδείκνυνται για πρώτη ανάγνωση. Τα θέµατα που διαπραγµατεύονται στο βιβλίο αναπτύσσονται σε βάθος και έκταση. Γι αυτό το λόγο προτείνεται στον αναγνώστη να διαβάζει το βιβλίο από την αρχή προς το τέλος. Κάτι τέτοιο πιθανόν να είναι ανιαρό για µερικούς αναγνώστες, παρότι κατά την άποψή µας είναι το καλύτερο από πλευράς απόκτησης συµπυκνωµένης γνώσης. Οι ανυπόµονοι αναγνώστες µπορούν στην αρχή να κάνουν επιλογή ύλης. Σ αυτή την περίπτωση για πρώτη ανάγνωση ενδείκνυνται τα τµήµατα του πρώτου κεφαλαίου που διαπραγµατεύονται τα αρχεία script και τις συναρτήσεις (τµήµατα 1.4 και 1.5), τα τµήµατα του δευτέρου κεφαλαίου που διαπραγµατεύονται το χειρισµό, τις πράξεις και τις αναφορές σε µήτρες (τµήµατα 2.1, 2.2 και 2.3), όλο το κεφάλαιο 3, όπου περιγράφεται αναλυτικά ο v

προγραµµατισµός και τµήµατα των κεφαλαίων 5 και 6 που διαπραγµατεύονται γραφικά (τµήµατα 5.1, 6.1 και 6.2). Η εκµάθηση µιας γλώσσας προγραµµατισµού ή ενός λογισµικού εφαρµογών, όπως είναι το MATLAB, µοιάζει µε την εκµάθηση ενός µουσικού οργάνου. Αν κάποιος δεν παίζει µόνος του τις νότες, που διαβάζει, δεν πρόκειται ποτέ να µάθει το µουσικό όργανο. Παρόµοια, αν δεν πληκτρολογήσει µόνος του τις εντολές, αν δεν χρησιµοποιήσει ο ίδιος τις λειτουργίες που προσφέρει το λογισµικό, δεν πρόκειται να το µάθει. Όµως στην πορεία µάθησης του περιεχοµένου του βιβλίου αυτού πιθανόν να είναι κουραστικό στον αναγνώστη να προγραµµατίσει όλες τις συναρτήσεις και τα script αρχεία. Γι αυτό το λόγο όλα τα m αρχεία του βιβλίου διατίθενται δωρεάν στους αναγνώστες του βιβλίου στην ιστοσελίδα του συγγραφέα http://macedonia.uom.gr/~paparriz/. Στην ίδια ιστοσελίδα υπάρχουν σχεδόν όλες οι εντολές του βιβλίου αποθηκευµένες σε αρχεία script. Συστήνεται όµως στον αναγνώστη να πληκτρολογεί µόνος του τις εντολές. Στο παράρτηµα Β περιγράφεται ο τρόπος µεταφοράς των αρχείων από την ιστοσελίδα του συγγραφέα στον προσωπικό υπολογιστή του αναγνώστη. Για περαιτέρω διευκόλυνση του αναγνώστη υπάρχουν στο τέλος του βιβλίου ευρετήρια όρων του βιβλίου, συµβόλων, εντολών και συναρτήσεων του MATLAB, που περιγράφονται στο βιβλίο, ευρετήρια µε όλα τα m αρχεία και τις συναρτήσεις του βιβλίου. Υπάρχουν επίσης λίστες µε όλες τις εικόνες και όλους τους πίνακες του βιβλίου. Σε πολύ σπάνιες περιπτώσεις η συγγραφή ενός βιβλίου είναι αποκλειστικό έργο ενός ανθρώπου και το βιβλίο αυτό δεν αποτελεί εξαίρεση στον κανόνα αυτό. Εκφράζω από τις γραµµές αυτές την ευγνωµοσύνη µου στους συνεργάτες µου Γιώργο Στεφανίδη, Νίκο Σαµαρά, Κώστα όσιο και Αλέξανδρο Βουτσά, οι οποίοι διάβασαν προσεκτικά το βιβλίο και έκαναν ουσιαστικές προτάσεις για βελτίωσή του. Ευχαριστώ επίσης το Κέντρο Υποστήριξης Τεχνολογιών Πληροφορικής του Αριστοτελείου Πανεπιστηµίου Θεσσαλονίκης και τον επιστηµονικό υπεύθυνο καθηγητή Γεώργιο Πάγκαλο για την ευγενή καλοσύνη του να µου επιτρέψει να χρησιµοποιήσω το MATLAB 6 του κέντρου. Ευχαριστώ επίσης θερµά τον Εκδοτικό Οίκο «ΖΥΓΟΣ» για την αµέριστη συµπαράστασή του καθ όλη τη διάρκεια συγγραφής του βιβλίου. Τέλος, αξιοµνηµόνευτη είναι η προσπάθεια της δακτυλογράφου κ. Μαρίνας Κάγκα-Μισύρη, η οποία κατάφερε να µετατρέψει τα δυσανάγνωστα χειρόγραφά µου σε αναγνώσιµο κείµενο. Θεσσαλονίκη, 2001 vi

ΠΡΟΛΟΓΟΣ 2ης Έκδοσης Η µεγάλη επιτυχία της πρώτης έκδοσης µας οδήγησε στην ανανέωση του βιβλίου ώστε να αναφέρεται στην τελευταία έκδοση του MATLAB. Προτιµήθηκε η χρήση της τελευταίας έκδοσης του MATLAB, η έκδοση 6.5. Ο αναγνώστης δεν θα έχει καµία δυσκολία στη χρήση της επαγγελµατικής έκδοσης, αν εξοικειωθεί ικανοποιητικά µε χρήση της φοιτητικής έκδοσης. Εκτός της απαραίτητης αναπροσαρµογής της παλιάς έκδοσης η οποία διαπερνά κυρίως το πρώτο κεφάλαιο, προστέθηκε ένα νέο κεφάλαιο το οποίο διαπραγµατεύεται την ανάπτυξη παραθυρικών εφαρµογών επεκτείνοντας έτσι το περιεχόµενο σε ένα από τα πιο σύγχρονα θέµατα του αντικειµενοστραφούς προγραµµατισµού. Θέλω να ευχαριστήσω τους συνεργάτες µου Κώστα όσιο και Άγγελο Σιφαλέρα, οι οποίοι έκαναν όλες τις απαραίτητες διορθώσεις για την επανέκδοση του βιβλίου σύµφωνα µε τη νέα έκδοση του MATLAB. Επίσης θέλω να αναφερθώ ιδιαίτερα στον κ. Άγγελο Σιφαλέρα, για τη σηµαντική του βοήθεια µε τις υποδείξεις του κατά τη συγγραφή του κεφαλαίου 9 που προστέθηκε στη νέα έκδοση του βιβλίου. Θεσσαλονίκη, 2004 vii