ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB"

Transcript

1 ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB 1. Εισαγωγή Το λογισμικό MATLAB είναι ένα προγραμματιστικό περιβάλλον υψηλού επιπέδου το οποίο περιλαμβάνει μια πληθώρα εργαλείων που βρίσκουν εφαρμογή σε πολλές περιοχές του μηχανικού. Το χαρακτηριστικό του MATLAB είναι η ύπαρξη πολλών συναρτήσεων, οργανωμένων σε μεγάλες βιβλιοθήκες (toolboxes) που απλοποιούν σημαντικά την επίλυση τεχνικών προβλημάτων. Το MATLAB μπορεί να χρησιμοποιηθεί σε πολλές εφαρμογές, όπως στην επίλυση μαθηματικών προβλημάτων, στην επεξεργασία σημάτων, εικόνας, στην προσομοίωση κυκλωμάτων ισχύος ή τηλεπικοινωνιακών συστημάτων καθώς και στην ανάλυση και στον σχεδιασμό συστημάτων ελέγχου. Για μια πλήρη πληροφόρηση αναφορικά με τις δυνατότητες του MATLAB μπορείτε να ανατρέξετε στο URL: ενώ στο URL παρέχεται ένα πλήθος από παραδείγματα. Προτείνεται επίσης η ανάγνωση του Στο παρόν εγχειρίδιο θα καλυφθούν μόνο οι βασικές εντολές του MATLAB που θα πρέπει να γνωρίζουν οι φοιτητές για την εκτέλεση των εργαστηριακών ασκήσεων. Μετά την εκτέλεση του MATLAB, εμφανίζεται το παρακάτω βασικό παράθυρο χρήσης του MATLAB. Το παράθυρο αυτό, μπορεί να διαμορφωθεί ανάλογα με τις εκάστοτε απαιτήσεις του χρήστη και στη βασική του μορφή περιέχει τα βασικά μενού, το παράθυρο εισαγωγής εντολών (Command Window), τον τρέχοντα φάκελο με τα προγράμματα του χρήστη (Current Folder), τις τιμές των μεταβλητών που βρίσκονται στη μνήμη του MATLAB (Workspace) και τέλος τις εντολές που έχουν εκτελεστεί (Command History). 1

2 Στα πλαίσια του εργαστηρίου Συστημάτων Αυτομάτου Ελέγχου, θα χρησιμοποιήσουμε το βασικό πακέτο εντολών που εμπεριέχονται στο Control System Toolbox. Όλα τα πακέτα των εγκατεστημένων προγραμμάτων του MATLAB, μπορεί να τα δει ο χρήστης με την εντολή HELP, στο βασικό παράθυρο εισαγωγής εντολών. Για επιπλέον πληροφορίες για τις εντολές που περιέχει ένα toolbox, ο χρήστης θα πρέπει να επιλέξει help <toolboxname>.για παράδειγμα, η χρήση της εντολής >>help matfun θα δώσει το παρακάτω αποτέλεσμα: >> help matfun Matrix functions - numerical linear algebra. Matrix analysis. norm - Matrix or vector norm. normest - Estimate the matrix 2-norm. rank - Matrix rank. det - Determinant. trace - Sum of diagonal elements. null - Null space. orth - Orthogonalization. rref - Reduced row echelon form. subspace - Angle between two subspaces. Linear equations. / and / - Linear equation solution; use "help slash". linsolve - Linear equation solution with extra control. inv - Matrix inverse. rcond - LAPACK reciprocal condition estimator cond - Condition number with respect to inversion. condest - 1-norm condition number estimate. normest1-1-norm estimate. chol - Cholesky factorization. cholinc - Incomplete Cholesky factorization. ldl - Block LDL' factorization. lu - LU factorization. luinc - Incomplete LU factorization. qr - Orthogonal-triangular decomposition. lsqnonneg - Linear least squares with nonnegativity constraints. pinv - Pseudoinverse. lscov - Least squares with known covariance. Eigenvalues and singular values. eig - Eigenvalues and eigenvectors. svd - Singular value decomposition. gsvd - Generalized singular value decomposition. eigs - A few eigenvalues. svds - A few singular values. poly - Characteristic polynomial. polyeig - Polynomial eigenvalue problem. condeig - Condition number with respect to eigenvalues. hess - Hessenberg form. schur - Schur decomposition. qz - QZ factorization for generalized eigenvalues. ordschur - Reordering of eigenvalues in Schur decomposition. ordqz - Reordering of eigenvalues in QZ factorization. ordeig - Eigenvalues of quasitriangular matrices. Matrix functions. expm - Matrix exponential. logm - Matrix logarithm. sqrtm - Matrix square root. funm - Evaluate general matrix function. 2

3 Factorization utilities qrdelete - Delete a column or row from QR factorization. qrinsert - Insert a column or row into QR factorization. rsf2csf - Real block diagonal form to complex diagonal form. cdf2rdf - Complex diagonal form to real block diagonal form. balance - Diagonal scaling to improve eigenvalue accuracy. planerot - Givens plane rotation. cholupdate - rank 1 update to Cholesky factorization. qrupdate - rank 1 update to QR factorization. που είναι οι βασικές εντολές που περιέχονται στο πακέτο matfun. Η εντολή >>help <command name>, μας δίνει πληροφορίες για την λειτουργία της εντολής, καθώς επίσης και τον τρόπο σύνταξης αυτής. Για παράδειγμα η εντολή >>help rank (υπολογισμός τάξης πίνακα) θα δείξει: >> help rank RANK Matrix rank. RANK(A) provides an estimate of the number of linearly indepent rows or columns of a matrix A. RANK(A,tol) is the number of singular values of A that are larger than tol. RANK(A) uses the default tol = max(size(a)) * eps(norm(a)). Class support for input A: float: double, single Overloaded methods: gf/rank rptcp/rank Reference page in Help browser doc rank Για επιπλέον τεκμηρίωση των διαθέσιμων toolbox και συναρτήσεων, ο χρήστης μπορεί να επιλέξει από το βασικό μενού του MATLAB το μενού Help και στη συνέχεια Product Help. Στο παράθυρο που εμφανίζεται υπάρχει πεδίο αναζήτησης ενώ στην καρτέλα Contents βρίσκονται σε μορφή δένδρου όλα τα toolbox του MATLAB. Για κάθε toolbox υπάρχει η αντίστοιχη τεκμηρίωση, παραδείγματα, Demos, καθώς και η πλήρης λίστα των συναρτήσεων που αυτό περιέχει. Παρακάτω φαίνεται ένα τμήμα της λίστας των συναρτήσεων του Control System Toolbox. 3

4 2. Μεταβλητές στο MALAB Το MATLAB, όπως και όλες οι γλώσσες προγραμματισμού, περιλαμβάνει μεταβλητές που μπορούν να χρησιμοποιούνται σε αριθμητικές ή λογικές εκφράσεις. Οι κυριότεροι τύποι των μεταβλητών είναι οι αριθμοί διπλής ακρίβειας (double), τα αλφαριθμητικά (char) και λογικές μεταβλητές (logical). Οι μεταβλητές δεν χρειάζεται να οριστούν προτού χρησιμοποιηθούν. Τα ονόματα τους πρέπει να ξεκινούν από γράμμα και να συνεχίζουν με αριθμούς, γράμματα ή κάτω παύλες (underscores). Θα πρέπει να σημειωθεί ότι τα ονόματα των μεταβλητών είναι case sensitive δηλαδή το κεφαλαίο Α αναπαριστά άλλον μεταβλητή από το μικρό α. Για την ανάθεση τιμής σε μια μεταβλητή χρησιμοποιείται ο τελεστής =. Για παράδειγμα, η εντολή >>a=1 ορίζει την μεταβλητή a ως αριθμό διπλής ακρίβειας (double) και της δίνει την τιμή 1. Η εντολή >>b=3+5j ορίζει το b ως τον μιγαδικό αριθμό 3+5j. Αντίθετα η εντολή >>str='abc123' ορίζει την μεταβλητή str ως αλφαριθμητική (char) και της δίνει την τιμή abc123. Όλα τα αλφαριθμητικά στο MATLAB πρέπει να περικλείονται με μονά εισαγωγικά. Οι λογικές μεταβλητές μπορούν να λάβουν μόνο τις τιμές true (αληθές) ή false (ψευδές). Η εντολή >>flag=true ορίζει τη λογική μεταβλητή flag και της δίνει την τιμή true. Όλες οι μεταβλητές που βρίσκονται στη μνήμη του MATLAB περιλαμβάνονται στο Workspace. Εκεί ο χρήστης μπορεί να λάβει πληροφορίες για κάθε μεταβλητή ή και να επεξεργαστεί την τιμή της. Κάποιες πληροφορίες που περιέχονται στο Workspace είναι ο τύπος της κάθε μεταβλητής, η διάστασή της (στην περίπτωση που η μεταβλητή είναι πίνακας ή διάνυσμα), το μέγιστο και το ελάχιστο στοιχείο της κτλ. Για τον καθαρισμό του Workspace και τη διαγραφή όλων των μεταβλητών που υπάρχουν στη μνήμη του MATLAB μπορεί να χρησιμοποιηθεί η εντολή clear. Για τη διαγραφή μιας συγκεκριμένης μεταβλητής ο χρήστης μπορεί να πληκτρολογήσει clear <ονομα_μεταβλητης>. Προφανώς με την επανεκκίνηση του MATLAB όλες οι μεταβλητές του Workspace σβήνονται. 3. Τρόποι λειτουργίας του MALAB Το MATLAB μπορεί να χρησιμοποιηθεί σε 'interactive' ή σε 'batch' τρόπο λειτουργίας. Στον πρώτο τρόπο λειτουργίας, ο χρήστης γράφει εντολές στο παράθυρο εντολών του MATLAB, δηλαδή στο Command Window και εκτελούνται άμεσα μόλις πατηθεί το πλήκτρο Enter. Στον δεύτερο τρόπο ο χρήστης γράφει ένα πρόγραμμα (m file) και οι εντολές εκτελούνται πολλές μαζί. Για παράδειγμα η εντολή >>a=2.25 εκτελούμενη στο παράθυρο εντολών, θα έχει το εξής αποτέλεσμα: >> a=2.25 a =

5 Να σημειωθεί ότι η χρήση του σημείου ζεύξης ' ; ' στο τέλος κάθε εντολής αποκρύπτει τα αποτελέσματα εκτέλεσης της από την εμφάνιση τους στην οθόνη (παρότι η εντολή εκτελείται). Έτσι η εντολή >>a=2.25; θα έδινε ως αποτέλεσμα: >> a=2.25; >> Παρατηρούμε ότι σε αυτή την περίπτωση η τιμή που καταχωρήθηκε στην μεταλβητή a δεν εμφανίζεται εκ νέου στην οθόνη. Ένας εύκολος λοιπόν τρόπος για την εκτύπωση της τιμής μιας μεταβλητής στο Command Window είναι η εκτέλεση του ονόματος της μεταβλητής. Για παράδειγμα πληκτρολογώντας a και πατώντας Enter παίρνουμε την τιμή του a: >> a a = Η χρήση παρενθέσεων σε σύνθετους τύπους ακολουθεί την ίδια τακτική με τις γλώσσες προγραμματισμού. Για παράδειγμα η εντολή (2*(3+a)+8)/a πολλαπλασιάζει την ποσότητα 3+a επί 2, προσθέτει 8 και τέλος διαιρεί δια a. Το αποτέλεσμα καταχωρείται σε μια νέα μεταβλητή b: >> b=(2*(3+a)+8)/a b = Στον batch τρόπο λειτουργίας του, ο χρήστης γράφει ουσιαστικά ένα πρόγραμμα σε ένα m-αρχείο. Για τη δημιουργία ενός τέτοιου αρχείου ο χρήστης πρέπει να επιλέξει από το κεντρικό μενού File και στη συνέχεια New και Script, όπως φαίνεται και στο παρακάτω σχήμα: 5

6 Στη συνέχεια, θα εμφανιστεί το παρακάτω παράθυρο, που στην ουσία αποτελεί τον editor του MATLAB, στον οποίο μπορούμε να γράφουμε ολοκληρωμένα προγράμματα. Για την εκτέλεση των προγραμμάτων δεν χρειάζεται κάποια λειτουργία compile όπως σε άλλες γλώσσες προγραμματισμού. Το μόνο που χρειάζεται είναι το απλό πάτημα του κουμπιού Run ή η την επιλογή των εντολών που ο χρήστης επιθυμεί να εκτελέσει και το πάτημα του πλήκτρου F9 (Αντιστοιχεί στην επιλογή του μενού Text > Evaluate Selection). Προσοχή θα πρέπει να δοθεί στο γεγονός ότι όταν ο χρήστης εκτελεί ένα αρχείο με το κουμπί Run, το MATLAB θα πρέπει να γνωρίζει από πριν την τοποθεσία του αρχείου που δημιουργεί ο χρήστης. Επομένως σε αυτή την περίπτωση ο χρήστης θα πρέπει να σώσει το αρχείο μέσα στο Current Folder του MATLAB. Ένας εναλλακτικός τρόπος για την εκτέλεση ενός αρχείου είναι ο χρήστης να γράψει στο Command Window το όνομα του αρχείου και να πατήσει Enter. 4. Διανύσματα στο MALAB Για τον ορισμό ενός διανύσματος v = ( ) στο MATLAB χρησιμοποιούμε την παρακάτω εντολή, με το διάνυσμα δοσμένο μέσα σε αγκύλες: >> v=[1,2,3,4,5] v =

7 ή εναλλακτικά >> v=[ ] v = Για να έχουμε το διάνυσμα γραμμένο κατά στήλες, μπορούμε να χρησιμοποιήσουμε το ανάστροφο τελεστή ( )' και έτσι έχουμε: >> v' ans = Για να πάρουμε ένα στοιχείο του διανύσματος γράφουμε v(index) όπου index ο δείκτης του στοιχείου. Το πρώτο στοιχείο κάθε διανύσματος έχει δείκτη 1. Επομένως η εντολή v(1) επιστρέφει 1, όπως φαίνεται παρακάτω: >> v(1) ans = 1 Για να διαλέξουμε, συγκεκριμένα μέρη από το διάνυσμα, χρησιμοποιούμε την άνω κάτω τελεία, με την παρακάτω σύνταξη. Για παράδειγμα, ας θεωρήσουμε ότι θέλουμε να πάρουμε από το διάνυσμα v, μόνο τα στοιχεία από την 3 μέχρι και την 5 στήλη και να τα αποδώσουμε σε ένα άλλο διάνυσμα m. Για τον σκοπό αυτό η εντολή που θα χρησιμοποιηθεί θα είναι η: >> m=v(3:5) m = Στην περίπτωση που θέλαμε τα στοιχεία του διανύσματος v ανά 2, θα χρησιμοποιούσαμε την παρακάτω εντολή >>v(1:2:5) ans =

8 Για να λάβουμε το τελευταίο στοιχείο του διανύσματος, χρησιμοποιούμε τη δεσμευμένη λέξη : >>v() ans = 5 5. Πίνακες στο MALAB Για να ορίσουμε έναν πίνακα, θα πρέπει απλώς στον προηγούμενο ορισμό διανυσμάτων, να προσθέσουμε παραπάνω διαστάσεις. Οι επιπλέον διαστάσεις προστίθενται με το ερωτηματικό ';'. Για παράδειγμα η παρακάτω εντολή ορίζει έναν πίνακα A διαστάσεων τρία επί τρία: >> A=[1 2 3; 2 4 5;6 7 8] A = Επίσης, μπορούμε να ορίσουμε έναν πίνακα στήλη με στήλη ( ο προηγούμενος ορισμός ήταν σειρά σειρά), όπως για παράδειγμα: >> B=[[1 2 3]' [2 4 5]' [6 7 8]'] B = Ο ανάστροφος ενός πίνακα Α δίνεται από την εντολή Α'. Για τον προηγούμενο πίνακα Α η εντολή αυτή θα δώσει: >> A' ans = Για να επιλέξουμε έναν υπό πίνακα συμβολισμό ':' ως εξής: από έναν πίνακα, χρησιμοποιούμε και πάλι τον 8

9 >> A(1:3,2:3) ans = Που αντιστοιχεί στις σειρές με δείκτη ένα έως τρία και στις στήλες με δείκτη δύο έως τρία του πίνακα Α. Επιπλέον για να πάρουμε ένα μεμονωμένο στοιχείο από έναν πίνακα χρησιμοποιούμε την παρακάτω εντολή: >> A(2,3) ans = 5 Με την ίδια λογική, για να πάρουμε την πρώτη στήλη του πίνακα Α χρησιμοποιούμε την εντολή >> A(:,1) ans = ενώ για την πρώτη σειρά την εντολή >> A(1,:) ans = Εκτός από τους ορισμούς πινάκων, που μπορεί να προβεί ο χρήστης, το MATLAB, έχει έτοιμες εντολές για την δημιουργία συνηθισμένων πινάκων όπως είναι οι παρακάτω: eye(p) δημιουργεί έναν p x p μοναδιαίο πίνακα zeros(p) δημιουργεί έναν p x p μηδενικό πίνακα ones(p) δημιουργεί έναν p x p πίνακα με άσσους rand(p) δημιουργεί έναν p x p πίνακα με τυχαία στοιχεία στο διάστημα (0,1). Τα στοιχεία αυτά ακολουθούν ομοιόμορφη κατανομή. Όλες οι παραπάνω εντολές μπορούν να δημιουργήσουν μη τετραγωνικούς πίνακες, αν ο χρήστης δώσει δύο ορίσματα αντί για ένα. Για παράδειγμα η εντολή zeros(5,1) δημιουργεί ένα διάνυσμα 1 επί 5, με μηδενικά στοιχεία. Κάποιες επιπλέον χρήσιμες εντολές που μπορούν να εφαρμοστούν σε πίνακες ή διανύσματα είναι 9

10 οι εξής: min(a) Το ελάχιστο στοιχείο του Α max(a) Το μέγιστο στοιχείο του Α size(a) Οι διαστάσεις του Α (επιστρέφει ένα διάνυσμα δύο στοιχείων με τον αριθμό των γραμμων και τον αριθμό των στηλών του Α) length(a) Το μήκος του διανύσματος Α. Ισοδυναμεί με την εντολή max(size(a)) 6. Οι τελεστές του MATLAB Σε αυτή την ενότητα παρουσιάζονται συνοπτικά οι βασικοί τελεστές του MATLAB. Οι τελεστές χωρίζονται σε αριθμητικούς, συσχετιστικούς και λογικούς. Οι πρώτοι υλοποιούν τις απλές αριθμητικές πράξεις, όπως η πρόσθεση και η αφαίρεση, οι δεύτεροι συγκρίσεις και οι τρίτοι λογικές πράξεις. Αριθμητικοί + Πρόσθεση - Αφαίρεση * Πολλαπλασιασμός / Διαίρεση \ Αριστερή Διαίρεση (χρησιμοποιείται σε πίνακες) ^ Δύναμη ' Ανάστροφος Πίνακας. Τελεστής στοιχείο επί στοιχείο Συσχετιστικοί < Μικρότερο > Μεγαλύτερο <= Μικρότερο ή Ίσο >= Μεγαλύτερο ή Ίσο == Ίσο ~= Διάφορο 10

11 Λογικοί & AND OR ~ Συμπλήρωμα xor( ) && XOR Βαθμωτό AND Βαθμωτό OR Οι τελεστές του MATLAB μπορούν να εφαρμοστούν σε βαθμωτά, διανυσματικά μεγέθη ή πίνακες. Στις περιπτώσεις των διανυσμάτων και των πινάκων τα αντίστοιχα μεγέθη πρέπει να συμφωνούν. Εξαιρείται η περίπτωση πράξης διανύσματος ή πίνακα με ένα βαθμωτό στοιχείο. Τότε το MATLAB εκτελεί την πράξη σε κάθε ένα στοιχείο του πίνακα. Για παράδειγμα η εντολή [1 2 3] + 1 επιστρέφει >> [1 2 3] + 1 ans = οπότε παρατηρούμε ότι ισοδυναμεί με την εντολή [1 2 3] + ones(1,3). Παρόμοια ισχύουν και για τους συσχετιστικούς και τους λογικούς τελεστές. Αντίθετα, αν προσπαθήσουμε να προσθέσουμε δύο πίνακες ή διανύσματα διαφορετικών διαστάσεων παίρνουμε το αντίστοιχο σφάλμα. >> [1 2 3] + [1 2]??? Error using ==> plus Matrix dimensions must agree. Κάποιες πράξεις όπως ο πολλαπλασιασμός και η διαίρεση δεν ορίζονται στους πίνακες ως στοιχείο επί στοιχείο. Σε περίπτωση που επιθυμούμε η αντίστοιχη πράξη να γίνει στοιχείο επί στοιχείο, τοποθετούμε μπροστά τον τελεστή στοιχείο επι στοιχείο '.' Τα παρακάτω παραδείγματα κάνουν εμφανή τη χρήση του: >> A=[1 3 5; ; ] A = >> B=A^2 B = >> C=A.^2 11

12 C = Ο πίνακας Β ισούται με το τετράγωνο του Α, δηλαδή με Α*Α. Αντιθέτως ο πίνακας C περιλαμβάνει το τετράγωνο του κάθε στοιχείου του πίνακα Α επειδή η πράξη γίνεται στοιχείο επί στοιχείο. Παρόμοιο αποτέλεσμα θα είχαμε πάρει αν ορίζαμε C=A.* A. Στο δεύτερο παράδειγμα ορίζονται δύο διανύσματα τα a και b. Ο πολλαπλασιασμός a*b δεν μπορεί να επιτευχθεί επειδή οι διαστάσεις τους δεν είναι κατάλληλες. Αντίθετα, ο πολλαπλασιασμός στοιχείου επί στοιχείου a.*b δίνει ένα έγκυρο αποτέλεσμα. >> a=[ ] a = >> b=[1 2 4] b = >> a*b??? Error using ==> mtimes Inner matrix dimensions must agree. >> a.*b ans = Οι συσχετιστικοί τελεστές μπορούν να εφαρμοστούν σε βαθμωτά μεγέθη, διανύσματα ή πίνακες και επιστρέφουν πάντα μία λογική μεταβλητή αντίστοιχου μεγέθους. Στο παρακάτω παράδειγμα το κάθε στοιχείο του c είναι 1 (true) αν το αντίστοιχο στοιχείο του a είναι μικρότερο του b. >> a=[ ] a = >> b=[10 5 1] b = >> c=a<b c =

13 7. Χρήσιμες Συναρτήσεις για Αριθμητικούς Υπολογισμούς Το MATLAB έχει σχεδιαστεί για να εκτελεί με πολύ μεγάλη άνεση αριθμητικούς υπολογισμούς, ιδιαίτερα με πίνακες και διανύσματα. Κάποιες χρήσιμες συναρτήσεις είναι οι εξής: Συνάρτηση inv(a) det(a) diag(a) [v,d]=eig(a) sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) atan2(y,x) sqrt(x) Περιγραφή Αντίστροφος Πίνακα Ορίζουσα Πίνακα Διαγώνιος Πίνακα Ιδιοτιμές και Ιδιοδιανύσματα Ημίτονο Συνημίτονο Εφαπτομένη Αντίστροφο Ημίτονο Αντίστροφο Συνημίτονο Αντίστροφη Εφαπτομένη Αντίστροφη Εφαπτομένη που επιστρέφει τη γωνία και στα τέσσερα τεταρτημόρια Τετραγωνική Ρίζα log10(x) Λογάριθμος με βάση το 10 log(x) exp(x) abs(x) angle(x) Λογάριθμος με βάση το e Εκθετική συνάρτηση Απόλυτη Τιμή Μέτρο μιγαδικού αριθμού Γωνία μιγαδικού αριθμού floor(x) Στρογγυλοποίηση του x προς τα κάτω ( floor(3.9)= 3 ) ceil(x) Στρογγυλοποίηση του x προς τα πάνω ( ceil(3.1)= 4 ) round(x) mod(a,b) [Tout,Yout] = ode45(odefun,tspan,y0) x = fsolve(fun,x0) Στρογγυλοποίηση του x (round(3.1)=3, round(3.9)=4, round(3.5)=4 ) Το υπόλοιπο της ακέραιας διαίρεσης του α δια του b (modulus). Επίλυση συστήματος (μη γραμμικών) διαφορικών εξισώσεων με τη μέθοδο Runge-Kutta. Το σύστημα πρέπει να είναι γραμμένο στη μορφή ẏ=f ( y,u,t), και δίνεται στον handler odefun. Yout πίνακας του οποίου κάθε στήλη του - Yout(:,i) - αντιστοιχεί στο διάνυσμα y τη χρονική στιγμή Tout(i), tspan διάνυσμα που περιέχει την αρχική και την τελική τιμή του χρόνου t στον οποίον λύνουμε το σύστημα και y0 το διάνυσμα των αρχικών συνθηκών του y. Επίλυση συστήματος μη γραμμικών εξισώσεων της μορφής f(x)=0 (όπου το x είναι γενικά διάνυσμα). Η λύση που 13

14 επιστρέφεται είναι πάντα εκείνη που βρίσκεται πιο κοντά στο x0. Θα πρέπει να σημειωθεί ότι οι περισσότερες από τις παραπάνω συναρτήσεις μπορούν να πάρουν ως όρισμα τόσο βαθμωτούς αριθμούς όσο και διανύσματα ή πίνακες. Στις δύο τελευταίες περιπτώσεις οι συναρτήσεις δρουν σε κάθε στοιχείο ξεχωριστά και επιστρέφουν διάνυσμα ή πίνακα ίδιας μορφής με τον εισαγόμενο. Για παράδειγμα, ο παρακάτω κώδικας υπολογίζει το συνημίτονο ενός διανύσματος δέκα τυχαίων γωνιών από 0 έως 2π. Στη συνέχεια υπολογίζεται η απόλυτη τιμή τους. >> theta=2*pi*rand(1,10) theta = Columns 1 through Columns 6 through >> s=sin(theta) s = Columns 1 through Columns 6 through >> a=abs(s) a = Columns 1 through Columns 6 through >> 8. Εντολές Ελέγχου Ροής Οι εντολές ελέγχου ροής στο MATLAB είναι η if και η switch οι οποίες λειτουργούν όπως και στις περισσότερες γλώσσες προγραμματισμού. Χάριν συντομίας, θα αναφερθούμε μόνο στην if. Η γενική σύνταξη της εντολής if είναι η εξής if <συνθήκη1> <εντολές1> elseif <συνθήκη2> <εντολές2> 14

15 else <εντολές3> Η εντολή if λειτουργεί ως εξής: Αν η λογική συνθήκη 1 ισχύει, δηλαδή δίνει αποτέλεσμα true, εκτελούνται οι εντολές 1. Αλλιώς, αν ισχύει η λογική συνθήκη 2 εκτελούνται οι εντολές 2. Διαφορετικά, αν δεν ισχύει ούτε η συνθήκη 1 ούτε η συνθήκη 2 εκτελούνται οι εντολές 3. Τα πεδία elseif και else δεν είναι απαραίτητα για τη λειτουργία της if. Αντίθετα, απαραίτητη είναι η τοποθέτηση της λέξης στο τέλος των εντολών. 9. Βρόχοι Επανάληψης Οι επαναληπτικές εργασίες υλοποιούνται στο MATLAB με τις εντολές for και while. Η σύνταξη της εντολής for φαίνεται παρακάτω: for <δείκτης> = <διάνυσμα> <εκφράσεις> Στον βρόχο for οι εκφράσεις επαναλαμβάνονται n φορές όπου n η διάσταση του διανύσματος. Σε κάθε επανάληψη ο δείκτης παίρνει την επόμενη τιμή του διανύσματος μέχρι να φτάσει και στην τελευταία. Για παράδειγμα ο κώδικας for i=1:5 i δίνει σε κάθε επανάληψη στο i την επόμενη τιμή του διανύσματος 1:5 το οποίο είναι η συντομογραφία του διανύσματος [ ]. Επομένως ο βρόχος εκτελείται για i από 1 έως 5 με βήμα 1. Ουσιαστικά αυτό που κάνει ο κώδικας είναι να τυπώνει την τιμή του i σε κάθε επανάληψη, οπότε θα τυπώσει τους αριθμούς i=1,i=2,i=3,i=4 και i=5. Ομοίως η εκτέλεση της παρακάτω εντολής εκτελεί έναν βρόχο για i από 10 έως 0 με βήμα -2 και δίνει ως αποτέλεσμα: >> for i=10:-2:0 i i = 10 i = 8 15

16 i = 6 i = 4 i = 2 i = 0 Στο παρακάτω παράδειγμα υπολογίζονται και τυπώνονται οι δέκα πρώτες τιμές της εξόδου του διακριτού συστήματος y(k)= y(k 1)+4 u(k 1) 2 με εισόδους u=(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8) και αρχική τιμή y(1)=1. u=[0:0.1:0.8]; y(1)=1; for k=2:10 y(k)=y(k-1)+4*u(k-1)^2; y Η εντολή while συντάσσεται ως εξής: while <συνθήκη> <εντολές> Οι εντολές εκτελούνται όσο η συνθήκη είναι αληθής. Το παραπάνω παράδειγμα μπορεί να γραφεί με τον βρόχο while ως εξής: u=[0:0.1:0.8]; y(1)=1; k=2 while k<=10 y(k)=y(k-1)+4*u(k-1)^2; k=k+1; y 16

17 10. Σχεδιασμός Γραφικών Το MATLAB μπορεί πολύ εύκολα να σχεδιάσει γραφικές παραστάσεις με την εντολή plot. Η εντολή αυτή συντάσσεται στη συνηθισμένη μορφή της ως εξής: plot(x,y,s) Όπου x το διάνυσμα με τις τιμές του άξονα x και y το διάνυσμα με τις τιμές του άξονα y. Στην περίπτωση που τα x,y είναι πίνακες, τότε η εντολή απεικονίζει την κάθε στήλη του πίνακα y ως προς την κάθε στήλη του πίνακα x. Η μεταβλητή s είναι ένα αλφαριθμητικό στο οποίο ορίζονται κάποιες ιδιότητες της γραφικής παράστασης. Η χρήση της είναι προαιρετική. Αποτελείται από ένα αλφαριθμητικό ενός έως τριών στοιχείων, το οποίο συντίθεται με βάση τον παρακάτω πίνακα: Χρώμα Εμφάνιση Σημείων Είδος Γραμμης b blue. point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star (none) no line y yellow s square k black d diamond w white v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p h pentagram hexagram Για παράδειγμα η εντολή plot(x,y,'g*--') σχεδιάζει την καμπύλη που ορίζεται από τα διανύσματα x,y. Το κάθε σημείο αναπαρίσταται με αστερίσκο, ενώ τα σημεία ενώνονται μεταξύ τους με πράσινη διακεκομμένη γραμμή. Επίσης η εντολή plot(x,y,'r') σχεδιάζει την καμπύλη που ορίζεται από τα διανύσματα x,y με κόκκινο χρώμα. Στην περίπτωση που το όρισμα s παραληφθεί, η εντολή plot σχεδιάζει την καμπύλη με το προεπιλεγμένο μπλε χρώμα. Στο παρακάτω παράδειγμα σχεδιάζεται το ημίτονο μίας γωνίας από μηδέν έως 2π. Τα σημεία των διανυσμάτων αναπαρίστανται με τρίγωνα ενώ μεταξύ τους ενώνονται με ευθεία γραμμή. 17

18 th=0:pi/8:2*pi; y=sin(th); plot(th,y,'r^-') Περισσότερες πληροφορίες για τη σύνταξη της συνάρτησης μπορείτε να λάβετε πληκτρολογώντας τις εντολές help plot ή και doc plot. Για να ορίσουμε σε ποιο παράθυρο θα σχεδιάσει η εντολή plot, χρησιμοποιούμε, πριν από την εντολή plot, την εντολή figure(n) όπου n ένας ακέραιος αριθμός. Ο αριθμός αυτός υποδηλώνει την ονομασία του παραθύρου. Για παράδειγμα η εντολή figure(3) θα ανοίξει ένα καινούριο παράθυρο με τίτλο Figure 3. Αν η εντολή αυτή παραληφθεί, το MATLAB θα γράψει στο προηγούμενο παράθυρο(figure) που άνοιξε. Εάν κανένα παράθυρο δεν είναι ανοικτό, θα δημιουργήσει αυτόματα το παράθυρο Figure 1 (όπως στο προηγούμενο παράδειγμα). Η εντολή αυτή είναι ιδιαίτερα χρήσιμη στην περίπτωση που θέλουμε να σχεδιάσουμε πολλές γραφικές παραστάσεις σε πολλά παράθυρα. Για κάθε ένα παράθυρο ο χρήστης μπορεί να ορίσει ιδιότητες, χρησιμοποιώντας τις εντολές που φαίνονται στον παρακάτω πίνακα: hold on / hold off grid on/ grid off axis title(str) xlabel(str) ylabel(str) subplot(m,n,p) Με την εντολή hold on οι επόμενες εντολές απεικόνισης (πχ. plot) που θα εκτελεστούν θα γράψουν πάνω στις προηγούμενες γραφικές παραστάσεις. Ενεργοποιεί/Απενεργοποιεί την εμφάνιση πλέγματος Ορίζει τις ιδιότητες των αξόνων Ορίζει τον τίτλο του παραθύρου. Ορίζει την λεζάντα του άξονα x Ορίζει την λεζάντα του άξονα y Χωρίζει το παράθυρο σε m επί n μικρότερα παράθυρα και ορίζει το p (αριθμημένο από αριστερά προς τα δεξιά) ως 18

19 leg clf ενεργό Δημιουργεί υπόμνημα Σβήνει τα περιεχόμενα αλλά και τις ιδιότητες του figure. Το παρακάτω παράδειγμα κάνει χρήση πολλών από των παραπάνω εντολών. Παρατηρήστε ότι οι σειρές που αρχίζουν με το σύμβολο % αποτελούν σχόλια. th=0:pi/180:4*pi; y1=220*sqrt(2)*sin(th); y2=220*sqrt(2)*sin(th+2*pi/3); y3=220*sqrt(2)*sin(th+4*pi/3); figure(10) hold on grid on %Ορίζω τον x άξονα από 0 έως 12 και τον y από -320 έως 320 %Στην περίπτωση που παραληφθεί η εντολή αυτή οι άξονες ορίζονται αυτόματα. axis([ ]) title('three Phase Power Supply') xlabel('phase [rad]') ylabel('voltage [V]') plot(th,y1) %Επειδή έχω ορίσει hold on οι καινούριες γραφικές παραστάσεις %θα σχεδιαστούν πάνω στις προηγούμενες. plot(th,y2,'g') plot(th,y3,'r') %Η εντολή leg πρέπει να χρησιμοποιείται μετά τις εντολές plot leg('phase 1','Phase 2','Phase 3') Η εκτέλεση του παραπάνω κώδικα δίνει την εξής γραφική παράσταση: 19

20 Στην περίπτωση που επιθυμούμε την διαίρεση του κυρίου παραθύρου σε τρία μικρότερα παράθυρα όπου το καθένα να αναπαριστά την κυματομορφή κάθε φάσης ξεχωριστά, ο κώδικας που θα χρησιμοποιήσουμε είναι: th=0:pi/180:4*pi; y1=220*sqrt(2)*sin(th); y2=220*sqrt(2)*sin(th+2*pi/3); y3=220*sqrt(2)*sin(th+4*pi/3); figure(1) subplot(1,3,1) plot(th,y1) axis([ ]) xlabel('phase [rad]') ylabel('voltage [V]') grid on subplot(1,3,2) plot(th,y2,'g') axis([ ]) xlabel('phase [rad]') ylabel('voltage [V]') grid on subplot(1,3,3) plot(th,y3,'r') axis([ ]) xlabel('phase [rad]') ylabel('voltage [V]') grid on Παρατηρήστε ότι οι ιδιότητες πρέπει να οριστούν για κάθε υπογράφημα ξεχωριστά, ενώ τοποθετούνται αμέσως μετά την εντολή plot. Το γράφημα που εμφανίζεται με την εκτέλεση των παραπάνω εντολών είναι το εξής: Στο MATLAB υπάρχει η δυνατότητα δημιουργίας μιας κινούμενης εικόνας με τον συνδυασμό των εντολών clf και pause. Η εντολή pause σταματάει την εκτέλεση του προγράμματος έως ότου ο 20

21 χρήστης πατήσει ένα πλήκτρο. Αν γραφεί στη μορφή pause(t) σταματάει την εκτέλεση για t δευτερόλεπτα. Στο παρακάτω παράδειγμα φαίνεται μία τελεία να κινείται ωρολογιακά. Το πρόγραμμα διακόπτεται αν ο χρήστης, έχοντας επιλέξει το Command Window, πατήσει Ctrl και C. theta=0:pi/180:2*pi; i=1; r=1; while true %Το k παίρνει συνεχώς τιμές από 1 έως length(theta) k=mod(i,length(theta)); if k==0 k=length(theta); x=r*cos(theta(k)); y=r*sin(theta(k)); plot(x,y,'g.') axis([ ]) %Για να αυξηθεί η ταχύτητα, μειώστε το χρόνο του pause. pause (0.01) clf i=i+1; %Μεταβάλλοντας την ακτίνα του κύκλου σε κάθε επανάληψη, ουσιαστικά εκτελώ spiral. r=(r+1000)/(r+1000+i) Τέλος παρουσιάζονται κάποιες χρήσιμες εντολές που λειτουργούν παρόμοια με την plot: semilogx(x,y,s) Παρόμοια με την plot μόνο που ο άξονας x σχεδιάζεται με λογαριθμική κλίμακα semilogy(x,y,s) Παρόμοια με την plot μόνο που ο άξονας y σχεδιάζεται με λογαριθμική κλίμακα loglog(x,y,s) Σχεδιάζει τα δεδομένα των ορισμάτων x,y σε πλήρως λογαριθμικούς άξονες. plot3 (x,y,z,s) Η εντολή plot στον τρισδιάστατο χώρο. Τα σημεία των αξόνων x,y,z ορίζονται στα διανύσματα x,y,z. 11. Συναρτήσεις Κάθε εντολή του MATLAB αποτελεί ουσιαστικά και μια συνάρτηση που βρίσκεται στον σκληρό δίσκο. Οι συναρτήσεις του MATLAB είναι γενικά αρχεία προέκτασης.m τα οποία έχουν την παρακάτω μορφή: function [όρισμα_εξόδου_1, όρισμα_εξόδου2,..., όρισμα_εξόδου_n] = όνομα_συνάρτησης (όρισμα_εισόδου_1, όρισμα_εισόδου_2,... όρισμα_εισόδου_m) Τα ορίσματα εισόδου και εξόδου μπορεί να είναι βαθμωτά ή πίνακες, οποιασδήποτε μορφής. Η 21

22 λέξη κλειδί είναι απαραίτητη στην περίπτωση που θέλουμε να ορίσουμε σε ένα αρχείο.m περισσότερες από μία συναρτήσεις. Οι συναρτήσεις καλούνται στο πρόγραμμα ακριβώς με τον τρόπο που εκτελούνται οι διάφορες εντολές: [όρισμα_εξόδου_1, όρισμα_εξόδου2,..., όρισμα_εξόδου_n] = όνομα_συνάρτησης (όρισμα_εισόδου_1, όρισμα_εισόδου_2,... όρισμα_εισόδου_m) Για να εκτελεστούν οι συναρτήσεις πρέπει να βρίσκονται είτε στον Current Folder, είτε στο Path του MATLAB. Το Path είναι η λίστα με τις διαδρομές όλων των φακέλων στους οποίους βρίσκονται τα αρχεία του MATLAB. Η πρόσθεση ενός καινούριου φακέλου μπορεί να γίνει από το μενού File>Set Path. 12. Κυψέλες, Δομές και Συνένωση Πινάκων Στην ενότητα αυτή παρουσιάζονται τρία στοιχεία του MATLAB, οι κυψέλες, οι δομές και η λειτουργία συνένωσης πινάκων που ο στόχος τους είναι να απλοποιούν, πολλές φορές σημαντικά, το έργο του προγραμματιστή. Κυψέλες (Cells) Οι κυψέλες είναι μία μορφή δεδομένων που επιτρέπει την συνένωση ετερόκλιτων στοιχείων σε έναν πίνακα. Ένα στοιχείο μπορεί να οριστεί ως κυψέλη αν τοποθετηθεί μέσα σε αγκύλες {}. Για παράδειγμα η έκφραση a={1} ορίζει την μεταβλητή a ως μια κυψέλη που περιέχει τον πραγματικό αριθμό 1. Ομοίως οι εκφράσεις a={ones(2)} και a={'abc'} ορίζουν με κυψέλη με περιεχόμενα έναν μοναδιαίο πίνακα δύο επί δύο και ένα αλφαριθμητικό abc. Έχοντας οριστεί ως κυψέλη, η μεταβλητή a δεν μπορεί να χρησιμοποιηθεί σε πράξεις. Για τη μετατροπή της σε μορφή αριθμού/πίνακα χρησιμοποιείται η συνάρτηση cell2mat(). Να σημειωθεί ότι η συνάρτηση αυτή λειτουργεί και για αλφαριθμητικά. Οι πίνακες που περιλαμβάνουν κυψέλες μπορούν να διευθυνσιοδοτηθούν με δύο τρόπους: Ο πρώτος είναι με χρήση παρενθέσεων ως εξής: b=a(1). Το αποτέλεσμα που θα προκύψει θα είναι κυψέλη. Ο δεύτερος τρόπος είναι με χρήση αγκίστρων ως εξής: b=a{1}. Σε αυτή την περίπτωση το αποτέλεσμα που προκύπτει είναι πίνακας, επομένως εξαλείφεται η ανάγκη χρήσης της εντολής cell2mat. Η χρησιμότητα των κυψελών μπορεί να φανεί στην εφαρμογή όπου θέλουμε να ομαδοποιήσουμε διανύσματα ή πίνακες διαφορετικού μήκους σε έναν μεγαλύτερο πίνακα. Έστω για παράδειγμα ότι έχουμε πίνακες 2 επί n i στοιχείων που περιλαμβάνουν τα σημεία x (στην πρώτη σειρά) και τα σημεία y (στη δεύτερη σειρά) κάποιων πολυγώνων. Το κάθε πολύγωνο περιλαμβάνει έναν διαφορετικό (n i ) αριθμό σημείων x,y. Αν θέλουμε να ομαδοποιήσουμε τα πολύγωνα σε έναν πίνακα, πρέπει να χρησιμοποιήσουμε αναγκαστικά κυψέλες (ή δομές). Το παρακάτω παράδειγμα δημιουργεί πολύγωνα τριών έως επτά κορυφών και τα αποθηκεύει σε ένα διάνυσμα κυψελών. Στη συνέχεια τα τυπώνει με τυχαίο χρώμα, το κάθε ένα σε ένα διαφορετικό figure. Η εντολή axis equal ορίζει ίδια κλίμακα και στους δύο άξονες. 22

23 r=2; for i=1:5 th=0:2*pi/(i+2):2*pi; x=r*cos(th); y=r*sin(th); polygon_i=[x;y]; POLYGONS(i)={polygon_i}; for i=1:length(polygons) figure(i) axis equal pol=cell2mat(polygons(i)); plot(pol(1,:),pol(2,:),'color',[rand rand rand]) Δομές (Structures) Στο MATLAB υπάρχει η δυνατότητα χρήσης δομών (structures) όπως και στις περισσότερες γλώσσες προγραμματισμού. Για να οριστεί ένα πεδίο δομής χρησιμοποιείται ο τελεστής της τελείας. Ο παρακάτω κώδικας, παρμένος από την βοήθεια του MATLAB, παρουσιάζει τον τρόπο δημιουργίας μιας δομής patients με στοιχεία name, billing, test. patient.name = 'John Doe'; patient.billing = ; patient.test = [ ; ; ]; patient Η εκτέλεση του παραπάνω κώδικα δίνει την εξής έξοδο: patient = name: 'John Doe' billing: 127 test: [3x3 double] Υπάρχει επίσης η δυνατότητα δημιουργίας πίνακα δομών. Στο προηγούμενο παράδειγμα, θα ορίζαμε στοιχεία για έναν δεύτερο ασθενή, ως εξής: patient(2).name = 'Ann Lane'; patient(2).billing = 28.50; patient(2).test = [ ; ; ]; Μετά την εκτέλεση των παραπάνω εντολών ο patient είναι ένας πίνακας δύο στοιχείων, με περιεχόμενα δομές. 23

24 Συνένωση Πινάκων (Concatenation) Μία επίσης πολύ χρήσιμη δυνατότητα του MATLAB είναι η συνένωση πινάκων και η δημιουργία μεγαλύτερων. Αυτό επιτυγχάνεται πολύ εύκολα, χρησιμοποιώντας τους γνωστούς τελεστές με τους οποίους δημιουργούνται οι πίνακες. Για παράδειγμα, δύο διανύσματα σειράς a,b μπορούν να συνενωθούν σε ένα μεγαλύτερο με την εντολή c=[a b]. Το διάνυσμα c θα είναι κι αυτό διάνυσμα σειράς και θα έχει μήκος ίσο το άθροισμα των μηκών των a,b. Εναλλακτικά, αν τα διανύσματα a,b έχουν ίσο μήκος, θα μπορούσαμε χρησιμοποιώντας την εντολή c=[a;b] να ορίσουμε το c ως έναν πίνακα που στην πρώτη σειρά του να έχει το διάνυσμα a και στη δεύτερη το διάνυσμα b. Με τον ίδιο ακριβώς τρόπο μπορούν να ενωθούν πολλοί πίνακες. Για παράδειγμα η εντολή A=[eye(2) 2*eye(2);3*eye(2) -eye(2)] δίνει έναν καινούριο πίνακα τέσσερα επί τέσσερα, όπως φαίνεται παρακάτω. A = Η λειτουργία της συνένωσης πινάκων λειτουργεί με πίνακες όλων των ειδών, όπως πίνακες δομών, κυψελών, ενώ επίσης μπορεί να επιτελέσει και συνένωση (merging) αλφαριθμητικών. Το MATLAB δίνει επίσης τη δυνατότητα στον προγραμματιστή να ορίσει μία μεταβλητή να ισούται με τον κενό πίνακα ([]). Ο κενός πίνακας έχει διαστάσεις μηδέν επί μηδέν. Ο συνδυασμός του κενού πίνακα με την λειτουργία συνένωσης πινάκων δίνει στον προγραμματιστή τη δυνατότητα να χειρίζεται πίνακες των οποίων δεν γνωρίζει εξ αρχής το μέγεθος. Παράδειγμα αποτελεί ο παρακάτω κώδικας, που δημιουργεί ένα διάνυσμα a 50 τυχαίων στοιχείων και στη συνέχεια αποθηκεύει σε ένα καινούριο διάνυσμα το b όσα στοιχεία είναι μικρότερα από 0.5. Παρατηρήστε ότι το μήκος του b συνεχώς αλλάζει, επομένως έχει δημιουργηθεί μία δυναμική δομή δεδομένων.. a=rand(50,1); b=[]; for i=1:length(a) if a(i)<0.5 b=[b a(i)]; Παρόμοιο αποτέλεσμα θα είχαμε πετύχει χρησιμοποιώντας τη δυνατότητα του MATLAB να κάνει indexing με λογικές μεταβλητές. Σε αυτή την περίπτωση, αν ένα διάνυσμα λογικών μεταβλητών και ίσων στοιχείων με το a μπει ως δείκτης του, τότε επιστρέφονται τα στοιχεία που βρίσκονται στις θέσεις όπου το λογικό διάνυσμα είναι true. Ο παρακάτω κώδικας είναι ισοδύναμος με τον προηγούμενο. a=rand(50,1); b=a(a<0.5); 24

25 Το διάνυσμα λογικών μεταβλητών είναι η παράσταση a<0.5. Κάθε στοιχείο του διανύσματος αυτού είναι true αν το αντίστοιχο στοιχείο του a είναι μικρότερο από 0.5. Επομένως το b ισούται με τα στοιχεία του a που είναι μικρότερα του 0.5. Τέλος, αναφέρεται η δυνατότητα του MATLAB να σβήσει ένα ή περισσότερα στοιχεία ενός πίνακα ή ενός διανύσματος με χρήση της εντολής <μεταβλητή>=[]. Για παράδειγμα, στον παραπάνω κώδικα η εντολή b(1:3)=[] θα σβήσει τα πρώτα τρία στοιχεία του διανύσματος b. Ως τελευταίο παράδειγμα δίνεται μία συνάρτηση που σβήνει τις όμοιες σειρές από έναν πίνακα. function mat_in=deletesamerows(mat_in) s=size(mat_in); i=1; while i<=s(1) j=1; while j<=s(1) if i~=j if all(mat_in(i,:)==mat_in(j,:)) mat_in(j,:)=[]; j=j-1; s(1)=s(1)-1; j=j+1; i=i+1; Η εντολή all() δίνει ως αποτέλεσμα true αν όλα τα στοιχεία του λογικού διανύσματος mat_in(i,:) ==mat_in(j,:) είναι αληθή. Αντίστοιχη είναι και η εντολή any. 25

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

Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB ΔΙΔΑΣΚΩΝ: ΓΕΩΡΓΙΟΣ ΑΚΡΙΒΗΣ ΒΟΗΘΟΙ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΩΚΡΑΤΗΣ, ΣΚΟΡΔΑ ΕΛΕΝΗ E-MAIL: SDIMITRIADIS@CS.UOI.GR, ESKORDA@CS.UOI.GR Τι είναι Matlab Είναι ένα περιβάλλον

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σύντομες εισαγωγικές σημειώσεις για την. Matlab Σύντομες εισαγωγικές σημειώσεις για την Matlab Δήλωση Μεταβλητών Για να εισάγει κανείς δεδομένα στη Matlab υπάρχουν πολλοί τρόποι. Ο πιο απλός είναι στη γραμμή εντολών να εισάγουμε αυτό που θέλουμε και

Διαβάστε περισσότερα

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

Συστήματα Αναμονής (Queuing Systems) ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ - ΕΜΠ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής & Συστημάτων Πληροφορικής Εργαστήριο Διαχείρισης & Βέλτιστου Σχεδιασμού Δικτύων Τηλεματικής

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

Εισαγωγή στη Matlab Βασικές Συναρτήσεις Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής με Εφαρμογές στη Βιοϊατρική Εργαστήριο Γραμμικής Άλγεβρας Εισαγωγή στη Matlab Βασικές Συναρτήσεις 2016-2017 Εισαγωγή στη Matlab Matlab

Διαβάστε περισσότερα

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

Εισαγωγή στη Matlab Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής Εισαγωγή στη Matlab Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής email: dzavanti@cs.uoi.gr Περιεχόμενα Τι είναι η Matlab; Ιστορικά Χρήσεις και στοιχεία της Matlab

Διαβάστε περισσότερα

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

Εισαγωγή στους. Υπολογιστές Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή γή στον επιστημονικό προγραμματισμό 2 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ E mail: leo@mail.ntua.gr URL: http://users.ntua.gr/leo Μελάς Ιωάννης Υποψήφιος

Διαβάστε περισσότερα

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

Για τη δημιουργία ενός διανύσματος με στοιχεία από το 0 μέχρι το 20 με βήμα το 2 (χρησιμοποιείται συνήθως για διανύσματα χρόνου) δίνουμε Εργαστήριο Συστημάτων Αυτομάτου Ελέγχου Άσκηση 1 η Εισαγωγή στο Matlab 1 Άσκηση 1 η : Εισαγωγή στο Matlab Αντικείμενο Εξοικείωση με τις βασικές λειτουργίες του Matlab (πρόγραμμα αριθμητικής ανάλυσης και

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo Μελάς Ιωάννης Υποψήφιος

Διαβάστε περισσότερα

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

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ Λογικός τύπος ( ) Ο τύπος είναι κατάλληλoς για την αναπαράσταση ποσοτήτων που μπορούν να πάρουν δύο μόνο τιμές (π.χ. ναι/όχι, αληθές/ψευδές, ). Τιμές ή Δήλωση Εκχώρηση Ισοδυναμία με ακέραιους

Διαβάστε περισσότερα

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

Εισαγωγή στην Tcl. Τί είναι η Tcl; 1 Εισαγωγή στην Tcl Τί είναι η Tcl; Το αρκτικόλεξο Tcl προέρχεται από τις λέξεις «Tool Control Language». Η Tcl είναι μια γλώσσα προγραμματισμού για scripts γενικής χρήσεως, τα οποία επίσης μπορούν να

Διαβάστε περισσότερα

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

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό Τμήμα, Πανεπιστήμιο

Διαβάστε περισσότερα

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

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Εργαστήριο Επεξεργασία Εικόνας & Βίντεο 1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή Νικόλαος Γιαννακέας Άρτα 2018 1 Εισαγωγή Το Matlab

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Δρ. Π. Νικολαΐδου Προγραμματίζοντας στη γλώσσα R Εισαγωγή ( 1 ο Μάθημα ) Βασικές εντολές - λειτουργίες Μπορούμε να διαγράψουμε το περιεχόμενο της R κονσόλας επιλέγοντας Edit>Clear

Διαβάστε περισσότερα

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων Octave - Διαδικασία ανάπτυξης προγραμμάτων MATLAB - Απλά

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Έναρξη Τερματισμός του MatLab Σύντομος Οδηγός MATLAB Β. Χ. Μούσας 1/6 Έναρξη Τερματισμός του MatLab Η έναρξη της λειτουργίας του MatLab εξαρτάται από το λειτουργικό σύστημα. Στα συστήματα UNIX πληκτρολογούμε στη προτροπή του συστήματος

Διαβάστε περισσότερα

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

Γνωρίστε το Excel 2007 Εισαγωγή τύπων Γνωρίστε το Excel 2007 Πληκτρολογήστε το σύμβολο της ισότητας (=), χρησιμοποιήστε ένα μαθηματικό τελεστή (+,-,*,/) και πατήστε το πλήκτρο ENTER. Πρόσθεση, διαίρεση, πολλαπλασιασμός και αφαίρεση

Διαβάστε περισσότερα

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

Εισαγωγικές σημειώσεις στο Matlab Εισαγωγικές σημειώσεις στο Matlab 2011 Athens by Cheilakos Nick Τι είναι το Matlab; Το Matlab είναι ένα διαδραστικό πακέτο για αριθμητικούς υπολογισμούς που δημιουργήθηκε από τον Cleve Moler την δεκαετία

Διαβάστε περισσότερα

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

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 1 ο Εργαστήριο. Εισαγωγή στο Matlab Εργαστήρια Αριθμητικής Ανάλυσης Ι 1 ο Εργαστήριο Εισαγωγή στο Matlab 2017 Εισαγωγή Στα εργαστήρια θα ασχοληθούμε με την υλοποίηση των αριθμητικών μεθόδων που βλέπουμε στο θεωρητικό μέρος του μαθήματος,

Διαβάστε περισσότερα

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

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος Εργαστήρια Αριθμητικής Ανάλυσης Ι 4 ο Εργαστήριο Διανύσματα-Πίνακες 1 ο Μέρος 2017 Εισαγωγή Όπως έχουμε προαναφέρει σε προηγούμενα εργαστήρια. Ο βασικός τύπος δεδομένων στο Matlab είναι οι πίνακες. Ένα

Διαβάστε περισσότερα

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

Εργαστήριο Γραμμικής Άλγεβρας. H Matlab ως γλώσσα προγραμματισμού Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής με Εφαρμογές στη Βιοϊατρική Εργαστήριο Γραμμικής Άλγεβρας H Matlab ως γλώσσα προγραμματισμού Προγραμματιστικές δομές Έλεγχος ροής if if

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά

Διαβάστε περισσότερα

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών ΥΠΟΛΟΓΙΣΤΕΣ Ι ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ Τύποι δεδομένων Οι παρακάτω τύποι δεδομένων υποστηρίζονται από τη γλώσσα προγραμματισμού Fortran: 1) Ακέραιοι αριθμοί (INTEGER). 2) Πραγματικοί αριθμοί απλής ακρίβειας

Διαβάστε περισσότερα

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Μεταβλητές Μεταβλητή ονομάζεται ένα μέγεθος

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό 5 ο Εργαστήριο Λογικοί Τελεστές, Δομές Ελέγχου Λογικοί Τελεστές > μεγαλύτερο = μεγαλύτερο ή ίσο!= διαφορετικό Οι λογικοί τελεστές χρησιμοποιούνται για να ελέγξουμε

Διαβάστε περισσότερα

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ. ΤΡΙΤΗ ΔΙΑΛΕΞΗ Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.): Σύνταξη τύπος όνομαα; τύπος όνομαβ{όνομαα}; όνομαβ

Διαβάστε περισσότερα

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές 3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB. Κολοβού Αθανασία Ε.Τ.Ε.Π. ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB Κολοβού Αθανασία Ε.Τ.Ε.Π. http://users.uoa.gr/~akolovou/ MATRIX LABORATORY Μαθηματικό λογισμικό πακέτο Everything is a matrix Εύκολο να ορίσουμε τους πίνακες >> A = [6 3; 5 0] A = 6

Διαβάστε περισσότερα

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

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

Ηβασική δοµή δεδοµένων είναι ο πίνακας που δεν χρειάζεται να οριστεί η διάσταση του. MATrix LABoratory Ηβασική δοµή δεδοµένων είναι ο πίνακας που δεν χρειάζεται να οριστεί η διάσταση του. Τι είναι το MATLAB ; Μια γλώσσα υψηλού επιπέδου η οποία είναι χρήσιµη για τεχνικούς υπολογισµούς.

Διαβάστε περισσότερα

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

7 ο Γυμνάσιο Καβάλας Καλλιόπη Παρσέλια Σχολ. έτος: Το περιβάλλον προγραμματισμού MicroWorlds Pro Το περιβάλλον προγραμματισμού MicroWorlds Pro 1 Εντολές στο Microworlds Pro Η εντολή εξόδου δείξε χρησιμοποιείται: 1. Για να εκτελέσουμε αριθμητικές πράξεις Παραδείγματα Εντολές στο κέντρο εντολών Αποτέλεσμα

Διαβάστε περισσότερα

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

Διαβάστε περισσότερα

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

3) το παράθυρο Πίνακας τιμών όπου εμφανίζονται οι τιμές που παίρνουν οι παράμετροι Ο Δ Η Γ Ι Ε Σ Γ Ι Α Τ Ο M O D E L L U S 0.0 4. 0 5 Για να κατεβάσουμε το πρόγραμμα Επιλέγουμε Download στη διεύθυνση: http://modellus.co/index.php/en/download. Στη συνέχεια εκτελούμε το ModellusX_windows_0_4_05.exe

Διαβάστε περισσότερα

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.

Διαβάστε περισσότερα

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ 1 Τύποι δεδομένων Η γλώσσα προγραμματισμού C++ υποστηρίζει τους παρακάτω τύπους δεδομένων: 1) Ακέραιοι αριθμοί (int). 2) Πραγματικοί αριθμοί διπλής ακρίβειας

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και Τεχνολογία Μια Εισαγωγή Πίνακες (Arrays) [1/2] Δομές δεδομένων για την αποθήκευση δεδομένων υπό

Διαβάστε περισσότερα

Νέο υλικό. www.cs.uoi.gr/~develeg. Matlab2.pdf - Παρουσίαση μαθήματος 2. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (13 σελίδες).

Νέο υλικό. www.cs.uoi.gr/~develeg. Matlab2.pdf - Παρουσίαση μαθήματος 2. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (13 σελίδες). Matlab Μάθημα Νέο υλικό www.cs.uoi.gr/~develeg Matlab.pdf - Παρουσίαση μαθήματος. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (3 σελίδες). Επαναληπτικές δομές Όταν εκτελείται μια πράξη σε ένα διάνυσμα,

Διαβάστε περισσότερα

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

Εισαγωγή στους Υπολογιστές Εισαγωγή στους Υπολογιστές Ενότητα #4: Πίνακες στο MATLAB Καθ. Δημήτρης Ματαράς Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών Πίνακες στο MATLAB MATLAB Fundamentals Α. Καλαμπούνιας Επισκόπιση: Scalars και

Διαβάστε περισσότερα

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

Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΤΟΥ MATLAB Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΤΟΥ MATLAB (το παρόν αποτελεί τροποποιηµένη έκδοση του οµόνυµου εγχειριδίου του κ. Ν. Μαργαρη) 1 ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ 1.1 ΠΡΑΞΕΙΣ ΜΕ ΠΡΑΓΜΑΤΙΚΟΥΣ ΑΡΙΘΜΟΥΣ 1.1.1 ΠΡΟΣΘΕΣΗ» 3+5 8 % Το σύµβολο

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

Διαβάστε περισσότερα

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

Πρώτη επαφή με το μαθηματικό πακέτο Mathematica Πρώτη επαφή με το μαθηματικό πακέτο Mathematica Με δύο λόγια, μπορούμε να πούμε ότι η Mathematica είναι ένα πρόγραμμα που το χρησιμοποιούμε για να κάνουμε αναλυτικούς και αριθμητικούς υπολογισμούς αλλά

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

Διαβάστε περισσότερα

Πίνακες >>A = [ 1,6; 7, 11]; Ή τον πίνακα >> B = [2,0,1; 1,7,4; 3,0,1]; Πράξεις πινάκων

Πίνακες >>A = [ 1,6; 7, 11]; Ή τον πίνακα >> B = [2,0,1; 1,7,4; 3,0,1]; Πράξεις πινάκων Πίνακες Ένας πίνακας είναι μια δισδιάστατη λίστα από αριθμούς. Για να δημιουργήσουμε ένα πίνακα στο Matlab εισάγουμε κάθε γραμμή σαν μια ακολουθία αριθμών που ξεχωρίζουν με κόμμα (,) ή κενό (space) και

Διαβάστε περισσότερα

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

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ, Εισαγωγή στο MATLAB Κολοβού Αθανασία, ΕΔΙΠ, akolovou@di.uoa.gr Εγκατάσταση του Matlab Διανέμεται ελεύθερα στα μέλη του ΕΚΠΑ το λογισμικό MATLAB με 75 ταυτόχρονες (concurrent) άδειες χρήσης. Μπορείτε να

Διαβάστε περισσότερα

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

Συναρτήσεις στη Visual Basic 6.0 Προγραμματισμός & Εφαρμογές Υπολογιστών Μάθημα 4ο Συναρτήσεις στη Visual Basic 6.0 Κ. Κωστοπούλου Σειρά εκτέλεσης των πράξεων Όταν ορίζετε μια ακολουθία αριθμητικών πράξεων είναι δυνατόν να προκύψει αμφισημία.

Διαβάστε περισσότερα

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

Επιστηµονικός Υπολογισµός Ι - Πρώτη εργαστηριακή άσκηση Επιστηµονικός Υπολογισµός Ι - Πρώτη εργαστηριακή άσκηση Ηµεροµηνία επιστροφής : Τετάρτη 4/11/2010 18 Οκτωβρίου 2010 1 Γραµµική άλγεβρα (20 µονάδες) Η παράγωγος ενός µητρώου H ορίζεται ως η παράγωγος κάθε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α Σπυρόπουλος Α Μπουντουβής Αθήνα, 2015 v13_061015 Στον οδηγό αυτό θα χρησιμοποιηθούν

Διαβάστε περισσότερα

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

Μαθηµατικοί Υπολογισµοί στην R Κεφάλαιο 3 Μαθηµατικοί Υπολογισµοί στην R Ενα µεγάλο µέρος της ανάλυσης δεδοµένων απαιτεί διάφορους µαθηµατικούς υπολογισµούς. Αυτό το κεφάλαιο εισαγάγει τον αναγνώστη στις διάφορες δυνατότητες που έχει

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟ MATHLAB Α ΜΕΡΟΣ ΕΙΣΑΓΩΓΗ ΣΤΟ MATHLAB Α ΜΕΡΟΣ ΕΙΣΑΓΩΓΗ ΠΙΝΑΚΩΝ ΣΤΟ MATHLAB Αν θέλουμε να εισάγουμε έναν πίνακα στο mathlab και να προβληθεί στην οθόνη βάζουμε τις τιμές του σε άγκιστρα χωρίζοντάς τις με κόμματα ή κενό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

Διαβάστε περισσότερα

1 Πίνακες 1.1 Συνοπτική θεωρία

1 Πίνακες 1.1 Συνοπτική θεωρία 1 Πίνακες Σε αυτήν την ενότητα θα εξοικειωθείτε με την έννοια των πινάκων στον προγραμματισμό (χωρίς τον ιδιαίτερο τρόπο χειρισμού των πινάκων στο MATLAB), και συγκεκριμένα θα δείτε: πώς ορίζεται ένας

Διαβάστε περισσότερα

Βασικές Αρχές Προγραμματισμού

Βασικές Αρχές Προγραμματισμού Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον

Διαβάστε περισσότερα

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

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

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Πληροφορική Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες. Κωνσταντίνος Καρατζάς

Διαβάστε περισσότερα

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

MATLAB Desktop (Επιφάνεια Εργασίας MATLAB) [1.] Εισαγωγή στο MATLAB Το MATLAB αποτελεί ένα εμπορικό εργαλείο το οποίο προσφέρει ένα διαδραστικό προγραμματιστικό περιβάλλον στον χρήστη και χρησιμοποιείται σε ένα μεγάλο εύρος εφαρμογών. Ενσωματώνει μια

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 8: Θεματική Ενότητα: Συναρτήσεις ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική Ενότητα 8 Συναρτήσεις Πληροφορική

Διαβάστε περισσότερα

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής email: dzavanti@cs.uoi.gr Περιεχόμενα Ορισμοί Λογικοί τελεστές f0r loops while loops if else

Διαβάστε περισσότερα

Αριθμητική Επίλυση Συνήθων Διαφορίκών Εξισώσεων 3ο Εργαστήριο 27/03/2015 1

Αριθμητική Επίλυση Συνήθων Διαφορίκών Εξισώσεων 3ο Εργαστήριο 27/03/2015 1 Αριθμητική Επίλυση Συνήθων Διαφορίκών Εξισώσεων 3ο Εργαστήριο 7/3/5 Σκοπός αυτού του εργαστηρίου είναι να δούμε πως μπορούμε να επιλύσουμε συστήματα διαφορικών εξισώσεων, με την χρήση του Matlab. Συστήματα

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Προγραμματισμός I (Θ)

Προγραμματισμός I (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός I (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2017 Δρ. Δημήτρης Βαρσάμης Οκτώβριος

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK ρ. Γεώργιος Φ. Φραγκούλης Καθηγητής Ver. 0.2 9/2012 ιανύσµατα & ισδιάστατοι πίνακες Ένα διάνυσµα u = (u1, u2,, u ) εισάγεται στη MATLAB ως εξής : u=[ u1, u2,, un ] ή u=[ u1

Διαβάστε περισσότερα

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

Βασικά στοιχεία στο Matlab Αριθμητική : + - * / ^ 3ˆ2 - (5 + 4)/2 + 6*3 >> 3^2 - (5 + 4)/2 + 6*3 22.5000 Βασικά στοιχεία στο Matlab Το Matlab τυπώνει την απάντηση και την καταχωρεί σε μια μεταβλητή που την ονομάζει ans. Αν θέλουμε

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης Προγραμματισμός Υπολογιστών & Κ.Π. Γιαλούρης Στόχοι του σημερινού μαθήματος Εξοικείωση με τα περιβάλλοντα της Python Κατανόηση βασικών εννοιών & τεχνικών Τύπος δεδομένων Μεταβλητή Εντολή ανάθεση τιμής

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και Τεχνολογία Μια Εισαγωγή Έλεγχος συνθηκών - if Ας μελετήσουμε το πρόβλημα του υπολογισμού του ελάχιστου

Διαβάστε περισσότερα

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

ημιουργία και διαχείριση πινάκων ημιουργία και διαχείριση πινάκων Για να δημιουργήσουμε έναν πίνακα στο MATLAB μπορούμε να γράψουμε A = [ 2 3 ; 7 9 0 ; - 0 5; -2-3 9 -] βλέπουμε ότι αμέσως μας επιστρέφει τον πίνακα που ορίσαμε A = 2 3

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75 1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75 2. Έστω x = [2 5 1 6] α. Προσθέστε το 16 σε κάθε στοιχείο β. Προσθέστε το 3 σε κάθε στοιχείο που βρίσκεται σε μονή θέση.

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

Διαβάστε περισσότερα

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

Γ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro Για να μπορέσουμε να εισάγουμε δεδομένα από το πληκτρολόγιο αλλά και για να εξάγουμε εμφανίσουμε αποτελέσματα στην οθόνη του υπολογιστή χρησιμοποιούμε τις εντολές Εισόδου και Εξόδου αντίστοιχα. Σύνταξη

Διαβάστε περισσότερα

ΣΚΗΝΙΚΟ ΥΠΟΒΑΘΡΑ ΑΡΧΙΚΗ

ΣΚΗΝΙΚΟ ΥΠΟΒΑΘΡΑ ΑΡΧΙΚΗ Scratch 1. Σκηνικό (Αρχική Έχασες Κέρδισες). Η πρώτη μου δουλειά όταν φτιάχνω ένα παιχνίδι είναι πάω στο ΣΚΗΝΙΚΟ - ΥΠΟΒΑΘΡΑ και να σχεδιάσω (ή να αντιγράψω μια εικόνα από το διαδίκτυο ή από οπουδήποτε

Διαβάστε περισσότερα

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

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 7 ο Εργαστήριο. Διανύσματα-Πίνακες 2 ο Μέρος Εργαστήρια Αριθμητικής Ανάλυσης Ι 7 ο Εργαστήριο Διανύσματα-Πίνακες 2 ο Μέρος 2017 Εντολή size Σε προηγούμενο εργαστήριο είχαμε κάνει αναφορά στην συνάρτηση length, και την χρησιμότητα της όταν δουλεύουμε

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

Διαβάστε περισσότερα

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

4. Εισαγωγή στο Matlab ΠΠΜ 500: Εφαρμογές Μηχανικής με Ανάπτυξη Λογισμικού 4. Εισαγωγή στο Matlab Εαρινό εξάμηνο 2006 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www. www.eng. eng.ucy.ac.cy/petros 1 Θέματα Εισαγωγή στο Matlab

Διαβάστε περισσότερα

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αλληλεπίδραση με το Matlab Αλληλεπίδραση με το Matlab Περιγραφή της διαδικασίας πως εργαζόμαστε με το Matlab, και της προετοιμασίας και παρουσίασης των αποτελεσμάτων μιας εργασίας με το Matlab. Ειδικότερα θα συζητήσουμε μερικά στοιχεία

Διαβάστε περισσότερα

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

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Δυνατότητα ανάπτυξης, μεταγλώττισης και εκτέλεσης προγραμμάτων στη PASCAL. Κατανόηση της σύνταξης των προτάσεων της PASCAL. Κατανόηση της εντολής εξόδου για

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στο Πρόγραμμα Maxima Εισαγωγή στο Πρόγραμμα Maxima Το Maxima είναι ένα πρόγραμμα για την εκτέλεση μαθηματικών υπολογισμών, συμβολικών μαθηματικών χειρισμών, αριθμητικών υπολογισμών και γραφικών παραστάσεων. Το Maxima λειτουργεί

Διαβάστε περισσότερα