3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

Σχετικά έγγραφα
ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

{ int a = 5; { int b = 7; a = b + 3;

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

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

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

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

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Αυτοματοποιημένη χαρτογραφία

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

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Λογιστικές Εφαρμογές Εργαστήριο

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

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

Θεωρία Πιθανοτήτων & Στατιστική

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

Διδάσκων: Νίκος Λαγαρός

7 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ MATLAB

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

7 η ΕΝΟΤΗΤΑ Δομές επανάληψης (συνέχεια) Εντολές εισόδου/εξόδου (συνέχεια)

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

8 η ΕΝΟΤΗΤΑ Συμβολοσειρές Δομές

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Σχεδίαση με Ηλεκτρονικούς Υπόλογιστές

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Επιχειρησιακή Έρευνα

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 11: Λογική πρώτης τάξης. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Εισαγωγή στους Αλγορίθμους

Διαχείριση Χρόνου & Δίκτυα στη Διοίκηση Έργων. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Μαθηματικά. Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Ιστορία της μετάφρασης

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Μικροβιολογία & Υγιεινή Τροφίμων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Αυτοματοποιημένη χαρτογραφία

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Εισαγωγή στους Αλγορίθμους

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ. Ενότητα : ΥΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΣΥΣΤΗΜΑΤΩΝ

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Μοντελοποίηση Λογικών Κυκλωμάτων

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Γενικά Μαθηματικά Ι. Ενότητα 1: Συναρτήσεις και Γραφικές Παραστάσεις. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Λογισμός ΙΙ. Χρήστος Θ. Αναστασίου Τμήμα Μηχανικών Πληροφορικής ΤΕ

Οικονομικά Μαθηματικά

Συστήματα Αυτομάτου Ελέγχου 1 Ενότητα # 5: Χρήση μετασχηματισμού Laplace για επίλυση ηλεκτρικών κυκλωμάτων Μέθοδοι εντάσεων βρόχων και τάσεων κόμβων

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

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

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

9 η ΕΝΟΤΗΤΑ Συμβολικές πράξεις, ολοκληρώματα, παράγωγοι, διαφορικές εξισώσεις

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

Πρόβλημα συντομότερης διαδρομής - Shortest path problem. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Μάρκετινγκ Αγροτικών Προϊόντων (310Y)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Τεχνικό Σχέδιο

6 η ΕΝΟΤΗΤΑ ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

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

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος

Μάρκετινγκ Αγροτικών Προϊόντων

Εκκλησιαστικό Δίκαιο

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

Υδραυλικά & Πνευματικά ΣΑΕ

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

Εισαγωγή στο Συγκριτικό Δίκαιο

Στατιστική Επιχειρήσεων Ι

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Οικονομετρία. Εξειδίκευση του υποδείγματος. Μορφή της συνάρτησης: Πολυωνυμική, αντίστροφη και αλληλεπίδραση μεταβλητών

Εφαρμογές της Λογικής στην Πληροφορική

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Τοπικές vs Καθολικές Μεταβλητές ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

ΝΟΜΙΣΜΑΤΙΚΗ ΟΙΚΟΝΟΜΙΚΗ ΠΟΛΙΤΙΚΗ. Ενότητα 3: Αγορά Χρήματος και επιτόκια. Γεώργιος Μιχαλόπουλος Τμήμα Λογιστικής-Χρηματοοικονομικής

Εφαρμογή Υπολογιστικών Τεχνικών στην Γεωργία

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Εκκλησιαστικό Δίκαιο

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις

Εισαγωγή στους Αλγορίθμους

Transcript:

ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες Χρήσης Creative Commons. για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. 36

Περιεχόμενα 1) Μεταβλητές (τοπικές/καθολικές) 2) Συναρτήσεις 3) Υπο-συναρτήσεις (sub-functions) 4) Εμφωλευμένες συναρτήσεις (nested functions) 5) Ανώνυμες συναρτήσεις (anonymous functions) 37

Μεταβλητές (τοπικές/καθολικές) H διαφορά των συναρτήσεων (functions) από τα απλά τμήματα κώδικα (scripts) είναι ότι δημιουργούν το δικό τους χώρο μνήμης (workspace), που είναι εντελώς απομονωμένος από το χώρο μνήμης του υπόλοιπου προγράμματος από το οποίο «καλούνται». Αυτό σημαίνει ότι μια συνάρτηση «γνωρίζει» μόνο τις μεταβλητές που ορίζονται μέσα σ αυτήν (τοπικές μεταβλητές), καθώς και αυτές που μπαίνουν σ αυτήν ως ορίσματα εισόδου. Οι μεταβλητές που ορίζονται μέσα σε μία συνάρτηση λέγονται τοπικές μεταβλητές (local variables) και δημιουργούνται μόνο κατά την κλήση της συνάρτησης, ενώ διαγράφονται όταν τελειώσει η εκτέλεσή της. Οι τοπικές μεταβλητές μπορούν να έχουν ακόμα και ίδιο όνομα με μεταβλητές του προγράμματος από το οποίο καλούνται, ενώ στην πραγματικότητα είναι εντελώς διαφορετικές μεταβλητές. 38

Συναρτήσεις (υπενθύμιση) Μια συνάρτηση χαρακτηρίζεται από το όνομά της και από τα ορίσματα εισόδου και εξόδου. Στο MATLAB, μια συνάρτηση μπορεί να «κλείνει» με την εντολή end, αλλά δεν είναι δεσμευτικό. Παράδειγμα συνάρτησης Αποτελέσματα από τη κλήση της συνάρτησης 39

Υπο-Συναρτήσεις Ένα αρχείο συνάρτησης μπορεί να περιέχει και άλλες συναρτήσεις, που λέγονται υπο-συναρτήσεις. Οι υπο-συναρτήσεις βρίσκονται μετά το τέλος της κύριας συνάρτησης, με οποιαδήποτε σειρά. Μια υπο-συνάρτηση μπορεί να κληθεί μόνο από την κύρια συνάρτηση του αρχείου στο οποίο ορίζεται, ή από άλλη υπο-συνάρτηση του ίδιου αρχείου. Το όνομα του αρχείου ταυτίζεται με το όνομα της κύριας συνάρτησης. (Κύρια συνάρτηση είναι η πρώτη στο αρχείο). 40

Εμφωλευμένες Συναρτήσεις Στο MATLAB είναι δυνατός ο ορισμός συναρτήσεων σε οποιοδήποτε σημείο στο εσωτερικό μιας κύριας συνάρτησης (δηλαδή όχι αναγκαστικά στο τέλος, όπως συμβαίνει με τις υπο-συναρτήσεις). Οι συναρτήσεις αυτές ονομάζονται εμφωλευμένες (nested) και κατά τα άλλα ορίζονται και χρησιμοποιούνται ακριβώς όπως και οι υποσυναρτήσεις. Επίσης, είναι δυνατός ο ορισμός εμφωλευμένων μέσα σε άλλες εμφωλευμένες συναρτήσεις. Προσοχή: (α) Ο ορισμός μιας εμφωλευμένης συνάρτησης τελειώνει με end. (β) Η κύρια συνάρτηση μέσα στην οποία ορίζονται μία ή περισσότερες εμφωλευμένες συναρτήσεις πρέπει να τελειώνει επίσης με end. Η κλήση μιας εμφωλευμένης συνάρτησης μπορεί να γίνει από οποιοδήποτε σημείο έξω από την εμφωλευμένη συνάρτηση (είτε πριν, είτε μετά από τον ορισμό της). Το όνομα του αρχείου ταυτίζεται με το όνομα της κύριας συνάρτησης. 41

Εμφωλευμένες Συναρτήσεις (συν.) Παράδειγμα συνάρτησης που περιέχει εμφωλευμένη συνάρτηση: 42

Εμφωλευμένες συναρτήσεις vs Υπο-συναρτήσεις Διαφορά Σύνταξης: Διαφορά λειτουργίας: Η πιο σημαντική διαφορά μεταξύ των δύο τύπων είναι το γεγονός ότι οι εμφωλευμένες συναρτήσεις μπορούν να έχουν πρόσβαση και να τροποποιούν τις μεταβλητές της κύριας συνάρτησης. 43

Ανώνυμες Συναρτήσεις Στο MATLAB είναι δυνατός ο ορισμός συναρτήσεων κατευθείαν σε μία γραμμή εντολής (inline functions). Οι συναρτήσεις αυτές ονομάζονται ανώνυμες (anonymous), διότι δεν έχουν όνομα, αλλά καλούνται με το όρισμα εξόδου τους. Προσοχή: Ο ορισμός μιας ανώνυμης συνάρτησης πρέπει να προηγείται της κλήσης της. 44

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα Πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοιχτά Ακαδημαϊκά Μαθήματα Ε.Μ.Π.» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση. 45