Εισαγωγή στο MATLAB. Βιομηχανικός Αυτοματισμός Γιώργος Σούλτης

Σχετικά έγγραφα
Εισαγωγή στο MATLAB. Συστήματα Αυτομάτου Ελέγχου ΙΙ Γιώργος Σούλτης

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

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

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

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

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

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

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

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

2014 Παρίσης Κ., Καθηγητής

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

Συστήματα Αυτομάτου Ελέγχου ΙΙ Γιώργος Σούλτης 167

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

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

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

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

Συστήματα Αυτομάτου Ελέγχου

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

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

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

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

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

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

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

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

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

MATLAB. Εισαγωγή στο SIMULINK. Μονάδα Αυτόματης Ρύθμισης και Πληροφορικής

Προγραμματιστικό Περιβάλλον

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

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

To SIMULINK του Matlab

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

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

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

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

Χρήση του προγράμματος Excel για τον υπολογισμό της αντίστασης και της ισχύος, την κατασκευή χαρακτηριστικής I V, και της ευθείας φόρτου.

Παράδειγμα «Ημίτονο και ζωγραφική!»: Έχει δει στα μαθηματικά τη γραφική παράσταση της συνάρτησης του ημιτόνου; Σας θυμίζει κάτι η παρακάτω εικόνα;

Παραρτήματα. Παράρτημα 1 ο : Μιγαδικοί Αριθμοί

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

του προγράμματος diagrama_rohs.zip )

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

1. Εισαγωγή στο Sage.

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

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

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

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

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

SPSS Statistical Package for the Social Sciences

Σύστημα και Μαθηματικά μοντέλα συστημάτων

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

ΚΕΦΑΛΑΙΟ 5 ο. ΓΕΩΜΕΤΡΙΚOΣ ΤΟΠΟΣ ΤΩΝ PIZΩN ή ΤΟΠΟΣ ΕVANS

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

όπου Η μήτρα ή πίνακας του συστήματος

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

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

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

7 ο Γυμνάσιο Καβάλας Καλλιόπη Παρσέλια Σχολ. έτος: Το περιβάλλον προγραμματισμού MicroWorlds Pro

Γ. Ν. Π Α Π Α Δ Α Κ Η Σ Μ Α Θ Η Μ Α Τ Ι Κ Ο Σ ( M S C ) ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ. ΠΡΟΓΡΑΜΜΑ: Σπουδές στις Φυσικές Επιστήμες

Simulation Users Manual

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

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Σχολή Τεχνολογικών Εφαρμογών. Τμήμα Αυτοματισμού. Σημειώσεις Εργαστηρίου Ψηφιακού Ελέγχου. Σχεδίαση Συστημάτων Ελέγχου με χρήση MATLAB

Ενότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ

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

Geogebra. Μακρή Βαρβάρα. Λογισµικό Geogebra

12 o Εργαστήριο Σ.Α.Ε

Βασικές Γνώσεις Μαθηματικών Α - Β Λυκείου

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

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

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

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

1.Puzzle. ΕΠΙΜΕΛΕΙΑ: ΓΕΩΡΓΙΑ ΚΛΩΣΤΡΑΚΗ Σελίδα 1

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Oικονομικές και Mαθηματικές Eφαρμογές

Α. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ LAPLACE

ΣΧΗΜΑΤΑ-ΕΙΚΟΝΕΣ-ΕΞΙΣΩΣΕΙΣ

Γ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

Οδηγίες για το Geogebra Μωυσιάδης Πολυχρόνης Δόρτσιος Κώστας

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.

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

Γνωρίστε το Excel 2007

Δηλαδή η ρητή συνάρτηση είναι πηλίκο δύο ακέραιων πολυωνύμων. Επομένως, το ζητούμενο ολοκλήρωμα είναι της μορφής

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Θέματα ενδοσχολικών εξετάσεων Άλγεβρας Β Λυκείου Σχ. έτος , Ν. Δωδεκανήσου ΘΕΜΑΤΑ ΕΝΔΟΣΧΟΛΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΤΑΞΗ: Β ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Καθορισμός μεταβλητών και εισαγωγή δεδομένων

ΤΕΙ ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΘΡΑΚΗΣ Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ Εργαστήριο

Ηλεκτρονικοί Υπολογιστές

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

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

Μελέτη και έλεγχος της διατήρησης της μηχανικής ενέργειας στην ελεύθερη πτώση σώματος. (Ανάλυση video μέσω του Σ.Σ.Λ.Α, LoggerPro της Vernier)

ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ. Μια παράσταση που περιέχει πράξεις με μεταβλητές (γράμματα) και αριθμούς καλείται αλγεβρική, όπως για παράδειγμα η : 2x+3y-8

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

Transcript:

Εισαγωγή στο MATLAB Όταν μιλάμε για ψηφιακή προσομοίωση εννοούμε την αριθμητική επίλυση των εξισώσεων μέσω ειδικού λογισμικού. Η ιλιγγιώδεις εξελίξεις στην πληροφορική δημιουργούν καθημερινά νέα δεδομένα. Πολλά πακέτα λογισμικού μέχρι να καθιερωθούν ξεπερνιούνται από τις εξελίξεις. Τα εργαλεία πληροφορικής που έχουμε σήμερα στη διάθεση μας είναι εκπληκτικά. Σήμερα ένα από τα σημαντικότερα πακέτα λογισμικού για τα μαθηματικά όλων σχεδόν των τεχνικών ειδικοτήτων είναι το MATLAB της εταιρίας MathWorks INC. Το πακέτο συνεχώς κάνει νέες εκδόσεις συμπεριλαμβάνοντας όλο και περισσότερες συναρτήσεις, που εξυπηρετούν όλο και περισσότερες ειδικότητες. Σήμερα βρισκόμαστε στην έκδοση 6.5 και κυκλοφορεί για όλα τα λειτουργικά συστήματα WINDOWS, MAC και UNIX Το MATLAB είναι ένα πολυδύναμο πακέτο με πάρα πολλές δυνατότητες, μερικές από αυτές είναι: Επίλυση μαθηματικών εξισώσεων και προβλημάτων. To MATLAB έχει πολλά module τα οποία είναι προσαρμοσμένα στα εξειδικευμένα μαθηματικά πολλών κλάδων. Από αυτά το Control Toolbox αναφέρεται στα μαθηματικά των συστημάτων αυτομάτου ελέγχου. Προσομοιώσεις, Ανάπτυξη μοντέλων και προτύπων για πάρα πολλούς κλάδους Επεξεργασία δεδομένων και παρουσίαση αυτών Data acquisition (εισαγωγή ψηφιακών δεδομένων από μετρήσεις) Δημιουργία Επιστημονικών και τεχνικών γραφικών για πάρα πολλές ειδικότητες Ειδικά module με γραφικό interface για την ανάπτυξη εφαρμογών σε πολλές ειδικότητες. Το MATLAB ακόμα διαθέτει ειδική γλώσσα προγραμματισμού, μέσω της οποίας μπορούμε να αναπτύσσουμε ειδικούς αλγορίθμους και ολοκληρωμένες εφαρμογές Υπάρχει επίσης module σύνδεσης των πάρα πολλών συναρτήσεων του MATLAB με τη γλώσσα C. Το MATLAB είναι σχετικά εύκολο στο χειρισμό του, αρκεί κάποιος να γνωρίζει τις βασικές αρχές του προγραμματισμού και βέβαια τα μαθηματικά που απαιτεί η ειδικότητα του. Στο MATLAB υπάρχει ένα ειδικό module που αναφέρεται σε μαθηματικά προσαρμοσμένα στα Συστήματα Αυτομάτου Ελέγχου, και ονομάζεται Control 28

Toolbox, όπως και ένα πολύ σημαντικό κομμάτι γραφικής προσομοίωσης σε θέματα συστημάτων που ονομάζεται SIMULINK. Στη συνέχεια θα παρουσιάσουμε το βασικό χειρισμό του MATLAB και θα πειραματιστούμε σε ασκήσεις ψηφιακής προσομοίωσης συναρτήσεων μεταφοράς. Το περιβάλλον εργασίας του MATLAB Το βασικό περιβάλλον του MATLAB είναι εκείνο στο οποίο βρισκόμαστε μόλις φορτώσουμε το βασικό πρόγραμμα. Είναι ένα περιβάλλον command editor, δηλαδή οι εντολές δίνονται σε γραμμή εντολής όπως γινόταν παλιότερα στο DOS. Το περιβάλλον αυτό φαίνεται στο παρακάτω σχήμα Γραμμή εντολής Ο χειρισμός του παραθύρου είναι ανάλογος με αυτόν που γνωρίζουμε γενικά. Ας ρίξουμε μια ματιά στο μενού view, όπου μπορούμε να ανοίξουμε και άλλα βοηθητικά παράθυρα εκτός από το βασικό το οποίο ονομάζεται command window. Από τα άλλα παράθυρα στο command history μας δείχνει με τη σειρά τις εντολές που εκτελέσαμε, είναι χρήσιμο διότι μπορεί κάποιος να ξανατρέξει μια εντολή από εκεί χωρίς να την ξαναγράψει. Το «help» μας οδηγεί και από εκεί στο παράθυρο του HELP, το οποίο είναι πάρα πολύ αναλυτικό, πολύ καλά τακτοποιημένο και πάρα πολύ χρήσιμο. Το «Lanch Pad» μας δίδει ένα κατάλογο με όλες τις βιβλιοθήκες του 29

MATLAB. Το «Workspace» μας δίδει με γραφικό τρόπο όλες τις μεταβλητές και παραμέτρους που έχουμε στη μνήμη. Πράξεις μεταβλητές και command editor Ας ξεκινήσουμε με μερικές απλές πράξεις έτσι ώστε να γίνει κατανοητό πως ακριβώς δουλεύει ο editor του MATLAB. Οι τελεστές των αριθμητικών πράξεων ο τρόπος με τον οποίο γράφουμε μια αριθμητική παράσταση και η σειρά προτεραιότητας των πράξεων και είναι ίδια όπως και σε κάθε γλώσσα προγραμματισμού. Τελεστές και συναρτήσεις Τελεστές Συναρτήσεις + πρόσθεση sin(x) ημίτονο - αφαίρεση cos(x) συνημίτονο * πολ/σμός tan(x) εφαπτομένη / διαίρεση acos(x) τόξο συνημιτόνου (από 0 έως π) ^ δύναμη asin(x) τόξο ημιτόνου (από π/2 έως π/2) αντιστροφή atan(x) τόξο εφαπτομένης (από π/2 έως π/2) Πράξεις στον editor του ΜΑΤLAB Οι βασικές αρχές του command editor είναι οι εξής: Γράφουμε πάντα την εντολή σε μια ελεύθερη γραμμή και εκτελούμε μόλις πατήσουμε το enter. Κάθε εντολή αποτελείται από 2 μέρη ως εξής: όνομα μεταβλητής = πράξεις, εντολές αριστερά θέτουμε την μεταβλητή και δεξιά τις εντολές και τις πράξεις, το αποτέλεσμα των οποίων αποθηκεύεται στην μεταβλητή. Μόλις πατήσουμε το enter εκτελούνται οι πράξεις και το αποτέλεσμα αποθηκεύεται στη μεταβλητή. Αν οι πράξεις εκτελεστούn σωστά από κάτω εμφανίζεται το αποτέλεσμα π.χ >> a=(50/32+5*40+45*5/4)/(45+65/4)^2 a = 0.0687 η πράξη η οποία εκτελείται παραπάνω είναι η εξής: 30

50 5 5.40 45. 32 4 2 65 45 4 αν η πράξη έχει λάθη και δεν εκτελεστεί, τότε βγάζει με κόκκινα γράμματα μηνύματα λάθους. Όσο βρισκόμαστε στον editor οι τιμές των μεταβλητών διατηρούνται στη μνήμη και μπορούμε να τις χρησιμοποιήσουμε σε επόμενες εντολές π.χ >> a=(50/32+5*40+45*5/4)/(45+65/4)^2 a = 0.0687 >> b=sin(10) b = -0.5440 >> c=a^2+b/a c = -7.9116 Στον command editor δε γυρίζουμε πίσω, αν θέλουμε να εκτελέσουμε πάλι μια ίδια εντολή και να μην την ξαναγράψουμε μπορούμε σε νέα γραμμή να πατήσουμε τα βέλη προς τα πάνω και να δούμε τις προηγούμενες εντολές. Όταν φέρουμε την εντολή στη γραμμή μπορούμε να την εκτελέσουμε πάλι πατώντας enter, η να την αλλάξουμε και να την εκτελέσουμε. Oi τιμές στις μεταβλητές διατηρούνται μέχρι να δώσουμε μια καινούργια τιμή. Αν ξεχάσουμε τις μεταβλητές που έχουμε χρησιμοποιήσει μπορούμε να δώσουμε την εντολή who, οπότε θα μας δείξει όλες τις μεταβλητές που έχουμε χρησιμoποιήσει, π.χ 31

>> who Your variables are: a b c Μορφή των αριθμητικών μεταβλητών Οι μεταβλητές στο MATLAB δεν είναι μόνο αριθμητικές, θα δούμε στη συνέχεια τις άλλες μορφές. Όσον αφορά τις αριθμητικές, έχουμε διάφορες μορφές. Οι εξ ορισμού μεταβλητές είναι πραγματικοί αριθμοί με 5 δεκαδικά ψηφία. Για να έχουμε διαφορετικό είδος μεταβλητής πρέπει να δώσουμε την εντολή : format <είδος> <όνομα μεταβλητής> Εντολή μεταβλητής Είδος μεταβλητής format long Πραγματικός αριθμός με 14 δεκαδικά format short Πραγματικός αριθμός με 5 δεκαδικά format bank Πραγματικός αριθμός με 2 δεκαδικά format hex Σε δεκαεξαδική μορφή format rat Δίνει με μορφή πηλίκου έναν μη ακέραιοι αριθμό Παράδειγμα: >> pi ans = 3.1416 >> format long >> pi ans = 3.14159265358979 >> c=15 c = 15 >> format hex >> c c = 402e000000000000 32

Πράξεις με πολυώνυμα Έστω ένα πολυώνυμο το οποίο γράφουμε με φθίνουσα σειρά των όρων του: Χ 3 +7Χ 2 +9Χ-10 Καταχώρηση σε μεταβλητή : καταχωρούμε στη μεταβλητή έναν πίνακα-διάνυσμα που περιλαμβάνει τους συντελεστές των όρων με φθίνουσα σειρά. Προσοχή αν λείπουν κάποιοι όροι πρέπει να βάλουμε μηδέν. Η εντολή δίνεται με την εξής μορφή: <όνομα μεταβλητής-καταχωρητή>= [ a b c.] Προσοχή: οι συντελεστές δίνονται μέσα σε αγκύλες και δεν βάζουμε διαχωριστικά σημεία, παρά μόνο κενά. Πρέπει να κατανοήσετε ότι εδώ η μεταβλητή είναι ένας καταχωρητής που κρατάει τη σειρά των συντελεστών και όχι μόνο μία τιμή. Παράδειγμα του παραπάνω πολυωνύμου. >> d=[1 7 9-10] d = 1 7 9-10 Εύρεση ριζών πολυωνύμων : με την παρακάτω εντολή βρίσκουμε τις ρίζες ενός πολυωνύμου, η εντολή συντάσσεται ως εξής: <καταχωρητής ριζών>= roots(όνομα πολυωνύμου) παράδειγμα: >> d=[10 45 5-4 -5 10] d = 10 45 5-4 -5 10 >> r=roots(d) r = -4.3735-0.5415 + 0.5569i -0.5415-0.5569i 0.4782 + 0.3877i 0.4782-0.3877i 33

Ανάκτηση συντελεστών πολυωνύμου από τις ρίζες του : Είναι το αντίθετο από το προηγούμενο, η εντολή συντάσσεται ως εξής: <καταχωρητής συντελεστών πολ. >= poly(καταχωρ. Ριζών) παράδειγμα: >> rizes=[1-4 2+2i 2-2i] rizes = 1.0000-4.0000 2.0000 + 2.0000i 2.0000-2.0000i >> polyonymo=poly(rizes) polyonymo = 1-1 -8 40-32 Πολλαπλασιασμός και διαίρεση πολυωνύμων: Οι εντολές συντάσσονται ως εξής: <αποτέλεσμα> = conv(πολυώνυμο α, πολυώνυμο β) <πηλίκο, υπόλοιπο> = conv(πολυώνυμο α, πολυώνυμο β) Παράδειγμα γινόμενο >> poly1=[1 3-2] poly1 = 1 3-2 >> poly2=[12 31-21] poly2 = 12 31-21 >> ginomeno=conv(poly1,poly2) ginomeno = 12 67 48-125 42 34

παράδειγμα διαίρεσης >> [piliko,ypoloipo]=deconv(poly1,poly2) piliko = 0.0833 ypoloipo = 0 0.4167-0.2500 Μιγαδικοί αριθμοί Στο MATLAB χειριζόμαστε πάρα πολύ εύκολα τους μιγαδικούς αριθμούς. Ένα μιγαδικό αριθμό τον δηλώνουμε, όπως τον γράφουμε και στο χαρτί, χρησιμοποιώντας για το φανταστικό μέρος το i η το j. Οι πράξεις δε επί των μιγαδικών γίνεται ακριβώς όπως και με τους πραγματικούς αριθμούς. Παράδειγμα: z1 = 1.0000 + 2.0000i >> z2=12+7i z2 = 12.0000 + 7.0000i >> synol=z1+z2 synol = 13.0000 + 9.0000i >> diafora=z1-z2 35

diafora = -11.0000-5.0000i >> ginom=z1*z2 ginom = -2.0000 +31.0000i >> poilik=z1/z2 poilik = 0.1347 + 0.0881i Συζυγής, Μέτρο και γωνία μιγαδικού. Οι εντολές διατυπώνονται ως εξής: <συζυγής>=conj(μιγαδικός) <πραγματικό μέρος μιγαδικού>=real(μιγαδικός) <φανταστικό μέρος μιγαδικού>=imag(μιγαδικός) Πίνακες και πράξεις επί των πινάκων Στο MATLAB η εισαγωγή και χρήση των πινάκων είναι επίσης πολύ εύκολη, παρουσιάζουμε στη συνέχεια τις εντολές εισαγωγής και πράξεων επί των πινάκων. Εισαγωγή πίνακα. Ο πίνακας μπορεί να δίνεται με πολλούς τρόπους. Ο καταχωρητής-μεταβλητή αποθηκεύει τη σειρά στοιχείων του πίνακα, όπως ήδη έχουμε δει στα πολυώνυμα. Πρώτος τρόπος εισαγωγής: <καταχωρητής>= [ στοιχεία σειράς με κενά ανάμεσα για άλλη σειρά πατάμε enter] Παράδειγμα: >> pinakas1=[1 3 56 4 33 65-4 54 66] pinakas1 = 36

1 3 56 4 33 65-4 54 66 Δεύτερος τρόπος εισαγωγής : <καταχωρητής>= [ στοιχεία σειράς με κενά Παράδειγμα: ανάμεσα χωρίζουμε τις σειρές με ; ] >> pinakas2=[44 3 66 ; -55 6 3; 5-4 20] pinakas2 = 44 3 66-55 6 3 5-4 20 τρίτος τρόπος : δημιουργούμε πίνακα από άλλους πίνακες Παράδειγμα 1 >> a=[1 4 3 ; 4 5 6] a = 1 4 3 4 5 6 >> b=[7 8 9] b = 7 8 9 >> pinakas3=[a;b] pinakas3 = 1 4 3 4 5 6 7 8 9 37

Παράδειγμα 2 a = 10 11 12 >> b=[13;14;15] b = 13 14 15 >> c=[16 17] c = 16 17 >> pinakas4=[a b;c] pinakas4 = 10 13 11 14 12 15 16 17 Πράξεις επί των πινάκων Οι πράξεις είναι απλές και γίνονται οι περισσότερες με την χρήση των τελεστών, απλά πρέπει να προσέχουμε να έχει νόημα. Αν η πράξη δε γίνεται διότι δεν ταιριάζουν οι διαστάσεις των πινάκων, το MATLAB βγάζει μήνυμα λάθους. 38

Πρόσθεση /Αφαίρεση: πρέπει οι πίνακες να έχουν ίδια διάσταση: Παράδειγμα: >> a=[1 2; 3 4] a = 1 2 3 4 >> b= [1 1; 1 1] b = 1 1 1 1 >> c=a+b c = 2 3 4 5 >> d=a-b d = 0 1 2 3 >> e=3*a e = 3 6 9 12 39

>> z=3*a+5*b z = 8 11 14 17 Πολλαπλασιασμός: Υπενθυμίζουμε ότι για να γίνει ο πολλαπλασιασμός των πινάκων πρέπει ο αριθμός στηλών του πρώτου πίνακα να ισούται με τον αριθμό γραμμών του δευτέρου πίνακα. Δηλαδή να ισχύει: c ik =a ij *b jk Παράδειγμα: a = 1 2 3 4 5 6 >> b=[2 2 4 5; 6 7 8 9] b = 2 2 4 5 6 7 8 9 >> c=a*b c = 14 16 20 23 30 34 44 51 46 52 68 79 ενώ αντίθετα να δώσουμε d=b*a, θα βγάλει λάθος: >> d=b*a??? Error using ==> * Inner matrix dimensions must agree. Η δύναμη του πινάκα, ισχύει αρκεί ο πίνακας να είναι τετραγωνικός 40

Παράδειγμα: >> a=[1 2; 3 4] a = 1 2 3 4 >> c=a^3 c = 37 54 81 118 Διάσταση πίνακα: <καταχωρητής>=size(πίνακας) Στοιχείο πίνακα: <καταχωρητής>= πίνακας(γραμμή, στήλη) Ορίζουσα πίνακα: <καταχωρητής>=det(πίνακας) Ανάστροφος πίνακας : <καταχωρητής>= (πίνακας) Αντίστροφος πίνακας: <καταχωρητής>=inv(πίνακας) Παράδειγμα: >> a=[1 2; 3 4] a = 1 2 3 4 >> oriz=det(a) oriz = -2 >> anastr=a' 41

anastr = 1 3 2 4 >> antristr=inv(a) antristr = -2.0000 1.0000 1.5000-0.5000 Ιδιοτιμές πίνακα: <καταχωρητής> = eig(πίνακας) Παράδειγμα >> a=[1 2; 3 4] a = 1 2 3 4 >> idiotimes=eig(a) idiotimes = -0.3723 5.3723 Δημιουργία μοναδιαίου πίνακα: <καταχωρητής πίνακα> = eye(γραμμές, στήλες) Δημιουργία μηδενικού πίνακα: <καταχωρητής πίνακα> = zeros(γραμμές, στήλες) Δημιουργία πίνακα με όλα τα στοιχεία 1: <καταχωρητής πίνακα> =ones(γραμμές, στήλες) Παράδειγμα: a = 42

1 0 0 0 1 0 0 0 1 >> b=zeros(3,3) b = 0 0 0 0 0 0 0 0 0 >> s=ones(3,3) s = 1 1 1 1 1 1 1 1 1 Πράξεις με ανώτερα μαθηματικά Υπολογισμός παραγώγου συνάρτησης: <παράγωγος>=polyder(συνάρτηση) Παράδειγμα. Να βρούμε την παράγωγο της συνάρτησης: X 4 +33X 3 +5X 2-6X+7 >> a=[1 33 5-6 7] a = 1 33 5-6 7 >> paragogos_a=polyder(a) paragogos_a = 4 99 10-6 Υπολογισμός γινομένου συναρτήσεων: <παράγωγος>=polyder(συνάρτηση1, συνάρτηση2) 43

Παράδειγμα: Να υπολογισθεί η παράγωγος των συναρτήσεων a(x)*b(x)=a (x)*b(x)+a(x)*b (x) >> b=[4 3 5] b = 4 3 5 >> parag_a_epi_b=polyder(a,b) parag_a_epi_b = 24 675 496 468 70-9 Υπολογισμός αόριστου ολοκληρώματος: <ολοκλήρωμα>=int(συνάρτηση) Οι εντολή ολοκληρώματος και Laplace έχουν μια ιδιαιτερότητα δουλεύουν με παράσταση μαθηματική, και πρέπει να δηλώσουμε στην αρχή ποιο είναι το σύμβολο της μεταβλητής. Αν λοιπόν έχουμε με συνάρτηση του χρόνου με μεταβλητή t θα πρέπει προηγουμένως να δηλώσουμε το t σαν σύμβολο. Αυτό γίνεται με την δήλωση syms t Παράδειγμα: Θέλουμε το αόριστο ολοκλήρωμα της συνάρτησης y(t)=3t 3 +2t >> syms t >> y=3*t^3+2*t y = 3*t^3+2*t >> z=int(y) z = 3/4*t^4+t^2 Υπολογισμός ορισμένου ολοκληρώματος: <ολοκλήρωμα>=int(συνάρτηση, κάτω όριο, άνω όριο) 44

Παράδειγμα >> syms x >> y=x^2 y = x^2 >> z=int(y,0,10) z = 1000/3 Υπολογισμός Μετασχηματισμού Laplace: <Μετασχηματισμός >=laplace(συνάρτηση) παράδειγμα. >> syms f s t >> f=exp(2*t)*(t-3)^2 f = exp(2*t)*(t-3)^2 >> fl=laplace(f) fl = 2/(s-2)^3-6/(s-2)^2+9/(s-2) Υπολογισμός Αντίστροφου Μετασχηματισμού Laplace <Συνάρτηση >=ilaplace(μετασχηματισμός) παράδειγμα >> fs=2/(s-2) 45

fs = 2/(s-2) >> z=ilaplace(fs) z = 2*exp(2*t) Συνάρτηση μεταφοράς και χρονική απόκριση Ένα από τα σημαντικότερα Module του MATLAB είναι το κομμάτι για τα συστήματα αυτομάτου ελέγχου, το module αυτό ονομάζεται Control Toobox και εμπεριέχει σχεδόν όλα τα μαθηματικά που χρειαζόμαστε. Προς το παρών θα μελετήσουμε τον τρόπο με τον οποίο εισάγουμε την συνάρτηση μεταφοράς και πως καταγράφουμε τη χρονική απόκριση, Εισαγωγή συνάρτησης μεταφοράς. Η συνάρτηση μεταφοράς δίνεται με διάφορους τρόπους. Ο πρώτος τρόπος είναι να δώσουμε τα πολυώνυμα του αριθμητή και του παρανομαστή: <συνάρτηση μεταφ>=tf( αριθμητής, παρανομαστής) όπου αριθμητής και παρανομαστής δίνονται σαν πολυώνυμα παράδειγμα: θέλουμε να δώσουμε τις συναρτήσεις. 2S+1 10S 2-11S+5 H1(S)= -------------- H2(S)= ------------------------------ S 3 +7S+20 3S 4-10S 2 +10S+11 >> h1=tf([2 1],[1 0 7 20]) Transfer function: 2 s + 1 -------------- s^3 + 7 s + 20 >> a=[10-11 5] 46

a = 10-11 5 >> b=[3 0-10 10 11] b = 3 0-10 10 11 >> h2=tf(a,b) Transfer function: 10 s^2-11 s + 5 -------------------------- 3 s^4-10 s^2 + 10 s + 11 δεύτερος τρόπος να σώσουμε τη συνάρτηση μεταφοράς είναι με τους πόλους, τα μηδενικά και το κέρδος. <συνάρτηση μεταφ>=zpk (μηδενικά, πόλοι, κέρδος) Παράδειγμα. Θέλουμε να δώσουμε τη συνάρτηση μεταφοράς που έχει μηδενικά -1, - 4, -5 και πολους -10, -51, -7, -6+2i, -6-2i και κέρδος 15 >> h3=zpk([-1,-4,-5],[-10-51 -7-6+2i -6-2i],15) Zero/pole/gain: 15 (s+1) (s+4) (s+5) ------------------------------------- (s+10) (s+7) (s+51) (s^2 + 12s + 40) Πράξεις με τις συναρτήσεις μεταφοράς Μπορούμε να κάνουμε πράξει με τις συναρτήσεις μεταφοράς πολύ εύκολα απλά με τους μαθηματικούς τελεστές. Βέβαια υπάρχουν και ειδικές συναρτήσεις για τις 2 βασικές συνδεσμολογίες των συστημάτων δηλαδή: Συστήματα στη σειρά : <αποτέλεσμα>=series(συναρτ, συναρτ, συναρτ, ) 47

Συστήματα παράλληλα: <αποτέλεσμα>=parallel(συναρτ, συναρτ, συναρτ, ) Συστήματα σε ανάδραση :< αποτέλεσμα>=feedback(συναρτ, συναρτ, πρόσημο) Παραδείγματα. >> hol=h1/h2 Transfer function: 6 s^5 + 3 s^4-20 s^3 + 10 s^2 + 32 s + 11 ------------------------------------------------ 10 s^5-11 s^4 + 75 s^3 + 123 s^2-185 s + 100 >> ho11=feedback(h1,h2,-1) Transfer function: 6 s^5 + 3 s^4-20 s^3 + 10 s^2 + 32 s + 11 -------------------------------------------------------- 3 s^7 + 11 s^5 + 70 s^4-39 s^3-142 s^2 + 276 s + 225 Πόλοι και μηδενικά της συνάρτησης μεταφοράς Μπορούμε να βρούμε πολύ εύκολα τους πόλους και τα μηδενικά μιας συνάρτησης μεταφοράς και επομένως να γνωρίζουμε αμέσως αν είναι το σύστημα ευσταθές. Πόλοι της ΣΜ : <πόλοι>=pole(συνάρτ. Μεταφοράς) Μηδενικά της ΣΜ: <μηδενικά >=zero(συνάρτ. Μεταφοράς) Μπορούμε ακόμα να παραστήσουμε γραφικά στο μιγαδικό επίπεδο τους πόλους και τα μηδενικά της συνάρτησης μεταφοράς με την εντολή: pzmap Παράδειγμα. >> h=tf([0.1 1],[1 0.1 1]) Transfer function: 0.1 s + 1 --------------- s^2 + 0.1 s + 1 >> pole(h) ans = 48

-0.0500 + 0.9987i -0.0500-0.9987i >> zero(h) ans = -10 Όταν δώσουμε την εντολή pzmap τότε εμφανίζεται ένα παράθυρο γραφικών όπου βλέπουμε τους πόλους και τα μηδενικά, όπως φαίνεται παρακάτω: Χρονική απόκριση της συνάρτησης μεταφοράς. Με την εντολές step και impulse έχουμε τη βηματική και κρουστική απόκριση της συνάρτησης μεταφοράς και την 49

κρουστική αντίστοιχα. Όπως και με την εντολή pzmap εμφανίζεται το παράθυρο γραφικών όπου βλέπουμε τη χρονική απόκριση. Το παράθυρο των γραφικών έχει αρκετές εντολές. Μπορούμε να αποθηκεύσουμε το γραφικό για να το ανακαλέσουμε πάλι. Μπορούμε να αλλάξουμε πολλά στα γραφικά του διαγράμματος. Αυτό γίνεται με τις εντολές edit-properties: Μπορούμε να ορίσουμε τα όρια των αξόνων, μπορούμε να ορίσουμε τα χρώματα, και επίσης να προσθέσουμε διαγράμμιση (grid) και τίτλους σε πολλά σημεία (labels). Βηματική απόκριση 50

Κρουστική απόκριση 51

Προσομοίωση με το SIMULINK To SIMULINK είναι ένα γραφικό περιβάλλον, στο οποίο μπορούμε να κάνουμε προσομοίωση συστημάτων. Μπορούμε να πούμε ότι είναι φτιαγμένο ειδικά για τα ΣΑΕ και είναι πολύ εύκολο στο χειρισμό. Από το κεντρικό παράθυρο του MATLAB μπορούμε να πάμε στο παράθυρο βιβλιοθήκης του SIMULINK πατώντας το ειδικό σύμβολο SIMULINK Το παράθυρο έναρξης του SIMULINK εμφανίζεται όπως φαίνεται παρακάτω. Στο παράθυρο αυτό εμφανίζεται μια βιβλιοθήκη με συστήματα και ειδικά μοντέλα από ειδικά επιστημονικά πεδία. Οι βασικές βιβλιοθήκες που μας ενδιαφέρουν είναι η βιβλιοθήκη SIMULINK και οι βιβλιοθήκες: Control system Toolbox και Simulink extras. Για να ξεκινήσουμε μια προσομοίωση πατάμε το «file new model» η το ctrl-n. Ανοίγει ένα νέο παράθυρο μέσα στο οποίο αρχίζουμε να «τοποθετούμε» τα συστήματα, τα οποία θα διασυνδέσουμε για να φτιάξουμε μια εφαρμογή. Η τοποθέτηση γίνεται σύροντας με το ποντίκι το μοντέλο που επιλέγουμε από την βιβλιοθήκη στο παράθυρο εργασίας. 52

Για να ρυθμίσουμε τα στοιχεία του μοντέλου που επιλέξαμε το επιλέγουμε και πατάμε διπλό κλίκ, οπότε εμφανίζεται το παράθυρο ιδιοτήτων και εκεί ορίζουμε τα δικά μας στοιχεία. Ο χειρισμός των γραφικών πάνω στο παράθυρο εργασίας είναι ανάλογος με το χειρισμό όλων των γραφικών προγραμμάτων. Ας παρακολουθήσουμε την «κατασκευή» ενός συστήματος, έτσι ώστε να φανεί ο βασικός χειρισμός μέσα από το παράδειγμα. 53

Παράδειγμα προσομοίωσης στο SIMULINK Από το κεντρικό παράθυρο του MATLAB ανοίγουμε το SIMULINK LIBRARY και στη συνέχεια ένα νέο παράθυρο, όπου θα φτιάξουμε ένα μοντέλο προσομοίωσης. Ανοίγουμε την βιβλιοθήκη: Simulink continues και παίρνουμε το κουτάκι transfer function, το οποίο σύρουμε μέσα στο παράθυρό μας. Με διπλό κλίκ πάνω στο κουτάκι εμφανίζεται το παράθυρο ιδιοτήτων όπου δίνουμε με τη μορφή των πινάκων την συνάρτηση μεταφορας. Πάμε στην βιβλιθλήκη: Simulink sources και παίρνουμε την βηματική συνάρτηση. Κάνοντας διπλό κλίκ μπορούμε να ρυθμίσουμε την τελική τιμή της βηματικής από 1 σε 5. Πάμε στη βιβλιοθήκη: Simulink Sinks και παίρνουμε τον παλμογράφο. Πολύ ευκολα «συνδέουμε» τα συστήματα μεταξύ τους. Η σύνδεση γίνεται απλά με το ποντίκι. Για να αρχίσουμε την προσομοίωση πατάμε το «κουμπάκι» start simulation, η την εντολή Simulation Start. Oταν η προσομοίωση ολοκληρωθεί μπορούμε να δούμε την οθόνη του παλμογράφου πατώντας διπλό κλίκ πάνω στο κουτάκι του παλμογράφου. Με αριστερό κλίκ πάνω στο παράθυρο του παλμογράφου μπορούμε να ρυθμίσουμε τις κλίμακες των αξόνων. Σημαντική είναι η εντολή Autoscale η οποία δείνει μια καλή εικόνα κλιμάκωσης του παλμογραφήματος. Πολύ σημαντικό είναι η ρύθμιση των 54

παραμέτρων της προσομοίωσης, ιδιαίτετα ενδιαφέρει ο χρόνος μέχρι τον οποίο θα δούμε το παλμογράφημα. Αυτό ρυθμίζεται στην εντολή : Simulation Simulation parameters. Ας προσπαθήσουμε στην συνέχεια να βάλουμε άλλο ένα σύστημα και να παρακολουθήσουμε μαζί τα παλμογραφήματα στη βηματική είσοδο. 55

Τοποθετούμε το νέο συστημα και ορίζουμε τη νέα συνάρτηση μεταφοράς. Συνδέουμε τη είσοδο του νέου συστήματος με την βηματική πηγή. Η διακλάδωση γίνεται εύκολα. Για να τοποθετήσουμε δύο κανάλια στην είσοδο του παλμογράφου, χρειάζεται ένας multiplexer. Αυτό το βρισκουμε στη βιβλιοθήκη signal routing και έχει το όνομα MUX Μετά την προσομοίωση έχουμε στην οθόνη 2 κυματομορφές με διαφορετικό χρώμα. 56

57