Μπορούμε, επίσης, να ανοίξουμε τον editor της MATLAB και με την εντολή

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

Download "Μπορούμε, επίσης, να ανοίξουμε τον editor της MATLAB και με την εντολή"

Transcript

1 3 M-FILES Για να εκμεταλλευτούμε πλήρως τις δυνατότητες της MATLAB, πρέπει να μάθουμε πώς να δημιουργούμε μεγάλες και συχνά πολύπλοκες ακολουθίες εντολών. Ο καλύτερος τρόπος για να επιτύχουμε αυτό το στόχο είναι με τη χρήση αρχείων που καλούνται m-files αφού έχουν ως επίθεμα (extension) το.m, π.χ. script.m, gausse.m και function2.m Τα m-files της MATLAB είναι τα αντίστοιχα των συναρτήσεων (functions) και των υπορουτινών (subroutines) που συναντούμε σε άλλες γλώσσες προγραμματισμού όπως η C και η FORTRAN. Τα m-files που δημιουργεί ο χρήστης συμπληρώνουν τις συναρτήσεις βιβλιοθήκης της MATLAB που είναι επίσης m-files. Τα m-files διακρίνονται σε Αρχεία script ή αρχεία εντολών (script m-files or command files) τα οποία δεν έχουν ορίσματα εισόδου και εξόδου αλλά εκτελούν μια ακολουθία εντολών σε μεταβλητές του χώρου εργασίας, και σε Αρχεία συναρτήσεων (function m-files) τα οποία περιλαμβάνουν μια γραμμή ορισμού συνάρτησης, δέχονται ορίσματα εισόδου και επιστρέφουν μεταβλητές εξόδου, και των οποίων οι εσωτερικές μεταβλητές είναι τοπικές (εκτός αν δηλωθούν ως καθολικές με την εντολή global). Τόσο τα αρχεία script όσο και τα αρχεία συναρτήσεων Δημιουργούνται ξεχωριστά με κάποιο συντάκτη (editor) όπως ο notepad ή ο wordpad ή ακόμα με το συντάκτη της MATLAB: Για νέο αρχείο: Για υπάρχον αρχείο: File New M-file File Open Μπορούμε, επίσης, να ανοίξουμε τον editor της MATLAB και με την εντολή >> edit Πρέπει να βρίσκονται στον φάκελο εργασίας (working directory) ή στον φάκελο (directory) της MATLAB ή στον δρόμο αναζήτησης (research path) της MATLAB. Μπορούν να καλούν άλλα m-files ή ακόμα τον ίδιο τον εαυτό τους (αναδρομικά m-files).

2 Γ. Γεωργίου & Χρ. Ξενοφώντος 3. Αρχεία script Τα αρχεία τύπου script περιέχουν μια ακολουθία εντολών της MATLAB η οποία εκτελείται αν γράψουμε το όνομα του αρχείου (χωρίς το επίθεμα.m), π.χ. >> script Τα script files είναι χρήσιμα για την εισαγωγή δεδομένων (π.χ. μεγάλων πινάκων) και για την επανάληψη μεγάλων ακολουθιών εντολών για διαφορετικά δεδομένα. Σε αντίθεση με τα function m-files, όλες οι μεταβλητές που δημιουργούνται σε ένα script είναι ενεργές μεταβλητές του χώρου εργασίας. Παράδειγμα 3.. Έστω ότι καταχωρήσαμε τις εξής εντολές σε ένα αρχείο (χρησιμοποιώντας τον editor της MATLAB) το οποίο ονομάσαμε ex3_.m A = [2 ; 2 ; 2]; b = [;;]; disp('o pivakas A divetai apo') A disp('h orizousa tou pivaka A eivai') deta=det(a) disp('to diavusma b divetai apo') b disp('h lush tou susthmatos Ax=b eivai') x = A\b Το αρχείο φαίνεται πιο κάτω: Τότε, αν γράψουμε το όνομα του αρχείου (χωρίς το επίθεμα.m) θα εκτελεστούν όλες οι εντολές και θα πάρουμε τα εξής: 88

3 3. M-files >> ex3_ O pivakas A divetai apo A = H orizousa tou pivaka A eivai deta = 4 To diavusma b divetai apo b = H lush tou susthmatos Ax=b eivai x =.5..5 Παράδειγμα 3..2 Μετατροπή θερμοκρασίας από Κελσίου σε Φαρέναϊτ. Το εξής script το έχουμε καταχωρήσει στο αρχείο C2F.m. Ζητά από τον χρήστη να δώσει την θερμοκρασία σε βαθμούς Κελσίου και την μετατρέπει σε βαθμούς Φάρεναϊτ. %Metatroph ermokrasias apo Kelsiou se Farenheit format compact C = input('dwste th ermokrasia se bamous Kelsiou: '); disp('h ermokrasia se bamous Farenheit eivai ') F = 9*C/ %Telos tou C2F.m Ας το τρέξουμε για διάφορες τιμές: >> C2F Dwste th ermokrasia se bamous Kelsiou: 4 H ermokrasia se bamous Farenheit eivai F = 4 >> C2F Dwste th ermokrasia se bamous Kelsiou: H ermokrasia se bamous Farenheit eivai F = 32 >> C2F Dwste th ermokrasia se bamous Kelsiou: 8 H ermokrasia se bamous Farenheit eivai F =

4 Γ. Γεωργίου & Χρ. Ξενοφώντος 3.2 Αρχεία συναρτήσεων Τα αρχεία συναρτήσεων (function m-files) περιέχουν μια ολοκληρωμένη ακολουθία εντολών της MATLAB με μεταβλητές εισόδου, input, input2,. με την οποία υπολογίζονται νέες μεταβλητές εξόδου Η δομή τους είναι η εξής:. Επικεφαλίδα (header) Μια γραμμή της μορφής: output, output2,.. function [output, output2,.] = filename (input, input2,.) To filename είναι το όνομα του function το οποίο αποθηκεύεται (υποχρεωτικά) στο m-file με όνομα filename.m. Προσέξτε ότι οι μεταβλητές εισόδου είναι σε παρενθέσεις ενώ οι μεταβλητές εξόδου βρίσκονται σε αγκύλες. Οι τελευταίες δεν είναι απαραίτητες αν έχουμε μόνο μια μεταβλητή εξόδου. Για παράδειγμα αντί function [out] = parad(x, y) μπορούμε να γράψουμε 2. Σχόλια (comments) function out = parad(x, y) Αυτά ξεκινούν αναγκαστικά με το σύμβολο % και είναι προαιρετικά. Τα σχόλια μετά την επικεφαλίδα αποτελούν και το κείμενο βοήθειας για το function. Με διαφορετικά λόγια, αυτά εμφανίζονται αν γράψουμε: 3. Εντολές (statements) >> help filename Ακολουθία εντολών της MATLAB με την οποία υπολογίζονται οι μεταβλητές εξόδου Προκαταρκτικές εντολές output =. output2 =. κλπ 4. Υποσυναρτήσεις (subfunctions) Αυτές είναι εσωτερικές συναρτήσεις functions που περιέχονται στο αρχείο filename.m. Αναγνωρίζονται μόνο από τα functions που περιέχονται στο αρχείο αυτό. Ορίζονται με τον ίδιο ακριβώς τρόπο, π.χ. function [out, out2,] = subfname (x, y, z) 9

5 3. M-files Οι συναρτήσεις βιβλιοθήκης της MATLAB, όπως οι sin, max, exp και size, είναι function m-files. Το όνομα μιας νέας function δεν πρέπει να συμπίπτει με όνομα συνάρτησης βιβλιοθήκης. Για την ονομασία μιας m-συνάρτησης ακολουθούμε τους κανόνες ονοματολογίας που ισχύουν και για τις μεταβλητές (βλ. Κεφ. ): Έστω για παράδειγμα ένα function με επικεφαλίδα function [sum, prod] = onoma( a, b, c) όπου οι μεταβλητές εισόδου a, b και c είναι αριθμοί. Μπορούμε να καλέσουμε την onoma με διαφορετικούς τρόπους όπως: ή Αν για κάποιο λόγο γράψουμε >> onoma( 3, 2, ) >> [x,y] = onoma( 3, 2, ) >> z = onoma(3,2,) τότε στο z θα εκχωρηθεί η τιμή της πρώτης μεταβλητής εξόδου, δηλ. της sum. Ακολουθεί η βοήθεια που παίρνουμε για το function. Το δεύτερο παράδειγμα παρουσιάζει ενδιαφέρον αφού περιλαμβάνει μια υποσυνάρτηση (subfunction). >> help function FUNCTION Add new function. New functions may be added to MATLAB's vocabulary if they are expressed in terms of other existing functions. The commands and functions that comprise the new function must be put in a file whose name defines the name of the new function, with a filename extension of '.m'. At the top of the file must be a line that contains the syntax definition for the new function. For example, the existence of a file on disk called STAT.M with: function [mean,stdev] = stat(x) %STAT Interesting statistics. n = length(x); mean = sum(x) / n; stdev = sqrt(sum((x - mean).^2)/n); defines a new function called STAT that calculates the mean and standard deviation of a vector. The variables within the body of the function are all local variables. See SCRIPT for procedures that work globally on the workspace. A subfunction that is visible to the other functions in the same file is created by defining a new function with the FUNCTION keyword after the body of the preceding function or subfunction. For example, avg is a subfunction within the file STAT.M: function [mean,stdev] = stat(x) %STAT Interesting statistics. n = length(x); mean = avg(x,n); stdev = sqrt(sum((x-avg(x,n)).^2)/n); % function mean = avg(x,n) %MEAN subfunction mean = sum(x)/n; Subfunctions are not visible outside the file where they are 9

6 Γ. Γεωργίου & Χρ. Ξενοφώντος defined. Normally functions return when the end of the function is reached. A RETURN statement can be used to force an early return. See also SCRIPT, RETURN, VARARGIN, VARARGOUT, NARGIN, NARGOUT, INPUTNAME, MFILENAME. Ας δούμε ορισμένα παραδείγματα. Παράδειγμα 3.2. sumprod.m function [sum, prod] = sumprod (x, x2, x3) % function [sum, prod] = sumprod (x, x2, x3) % % Paradeigma function m-file % Ypologizei to aroisma kai to ginomeno triwn arimwn % % Onoma function : sumprod % Onoma m-file : sumprod.m % Metablhtes eisodou: x, x2, x3 % Metablhtes exodou : sum (aroisma twn x, x2, x3) % prod (ginomeno twn x, x2, x3) % sum = x+x2+x3; prod = x*x2*x3; % Telos tou sumprod.m Παρατηρούμε ότι ο editor της MATLAB χρησιμοποιεί διαφορετικά χρώματα για τις διάφορες δομές του αρχείου μπλε για τη λέξη function, πράσινο για τα σχόλια και μαύρο για τις εντολές. Ας δούμε τώρα τι γίνεται όταν ζητήσουμε βοήθεια για την εντολή (ή αρχείο) που δημιουργήσαμε: >> help sumprod Paradeigma function m-file Ypologizei to aroisma kai to ginomeno triwn arimwn Onoma function : sumprod Onoma m-file : sumprod.m Metablhtes eisodou: x, x2, x3 Metablhtes exodou : sum (aroisma twn x, x2, x3) prod (ginomeno twn x, x2, x3) Τώρα, ας καλέσουμε το αρχείο με δεδομένα εισόδου, π.χ., 3 και 4: >> sumprod(, -3, 4) 2 Μια και δεν καλέσαμε το αρχείο ζητώντας και τις δύο μεταβλητές εξόδου, πήραμε μόνο την πρώτη, δηλ. x+ x2 + x3 = 3+ 4= 2. Για να πάρουμε και τις δύο μεταβλητές εξόδου, πρέπει να γράψουμε >> [s,p] = sumprod(, -3, 4) s = 2 p = 92

7 3. M-files -2 Σημειώνουμε ότι αν και μπορούμε να πάρουμε μόνο τη πρώτη μεταβλητή εξόδου (όπως είδαμε πιο πάνω) δεν μπορούμε να πάρουμε μόνο τη δεύτερη το ίδιο ισχύει ακόμα και αν έχουμε περισσότερες από δύο μεταβλητές εξόδου. Αν καλέσουμε το αρχείο μας με κάποια άλλα δεδομένα εισόδου, π.χ. 2, και 5, τότε θα πάρουμε >> [s,p] = sumprod(-2,, 5) s = -7 p = Τέλος, σχολιάστε το αποτέλεσμα του >> sumprod(s,p,s+p) -4 Παράδειγμα miscop.m function [deta, ranka, Atrans, Ainv, A2] = miscop(a) % function [deta, ranka, Atrans, Ainv, A2] = miscop(a) % % Briskei (a) thn orizousa % (b) ton bamo % (c) ton anastrofo % (d) ton antistrofo kai % (e) to tetragwno enos tetragwnikou pinaka. % % Shmeiwsh: den ginetai elegxos an o pinakac einai tetragwnikos % kai antistreyimos % deta = det(a) ranka = rank(a) Atr A' Ainv = inv(a) A2 = A*A % Telos miscop.m Ας δοκιμάσουμε να τρέξουμε το αρχείο μας με ένα τυχαίο 5 5 πίνακα Α τον οποίο θα κατασκευάσουμε μέσω της εντολής rand, και θα δώσουμε σαν μεταβλητή εισόδου: >> [deta, ranka, Atrans, Ainv, A2] = miscop(rand(5,5)) deta =.292 ranka = 5 Atr Ainv = 93

8 Γ. Γεωργίου & Χρ. Ξενοφώντος A2 = deta =.292 ranka = 5 Atr Ainv = A2 = Παράδειγμα stat.m function [mean,stdev] = stat(x) % function [mean,stdev] = stat(x) % % Ypologizei tov meso oro kai thn tupikh % apoklish evos diavusmatos x. n = length(x); mean = sum(x) / n; stdev = sqrt(sum((x - mean).^2)/n); % Telos tou stat.m Ας χρησιμοποιήσουμε το πιο πάνω m-file για ένα τυχόν διάνυσμα x με συνιστώσες. (Για να μην δούμε τις συνιστώσες του x βάζουμε ; στο τέλος την εντολής που ορίζει το x). >> x=rand(,); >> [mean,stdev] = stat(x) mean = 94

9 3. M-files.5286 stdev =.283 Παράδειγμα stat2.m Ας δούμε τώρα το ίδιο m-file όπως πιο πάνω, αλλά τώρα ας χρησιμοποιήσουμε μια υποσυνάρτηση για τον υπολογισμό του μέσου όρου (η οποία φαίνεται στο τέλος του m-file και καλείται avg). function [mean,stdev] = stat2(x) % function [mean,stdev] = stat2(x) % % Ypologizei tov meso oro kai thn tupikh % apoklish evos diavusmatos x. %% n = length(x); mean = avg(x,n); stdev = sqrt(sum((x-avg(x,n)).^2)/n); % function mean = avg(x,n) % uposuvarthsh pou upologizei tov meso oro mean = sum(x)/n; Χρησιμοποιώντας πάλι ένα (άλλο) τυχόν διάνυσμα με συνιστώσες σαν δεδομένο εισόδου, έχουμε >> y =rand(,); >> [mean,stdev] = stat2(y) mean =.4652 stdev =.2776 Συναρτήσεις χωρίς ορίσματα εισόδου και εξόδου Σε μερικές περιπτώσεις τα ορίσματα εισόδου και εξόδου δεν είναι απαραίτητα. Για παράδειγμα, οι συναρτήσεις βιβλιοθήκης clock και pi δεν έχουν ορίσματα εισόδου. Αυτό ισχύει και για το function m-file που ακολουθεί: function []=star() % STAR % Παράδειγμα function m-file % χωρίς ορίσματα εισόδου και εξόδου % Κατασκευάζει το γράφημα ενός άστρου. theta=pi/2:.8*pi:4.8*pi; r=ones(,6); polar(theta,r) % End of STAR Οι κενές αγκύλες δηλώνουν ότι δεν υπάρχουν μεταβλητές εξόδου. Ομοίως οι κενές παρενθέσεις δηλώνουν ότι δεν υπάρχουν μεταβλητές εισόδου. Είναι επίσης φανερό ότι οι μεταβλητές theta και r είναι τοπικές και έτσι δεν εμφανίζονται στο χώρο εργασίας. Το star δεν επιστρέφει καμιά μεταβλητή εξόδου αλλά δημιουργεί το ακόλουθο γράφημα. 95

10 Γ. Γεωργίου & Χρ. Ξενοφώντος Ερώτηση: σε τι διαφέρει ένα function m-file χωρίς ορίσματα εισόδου και εξόδου από ένα script file; Προσδιορισμός του πλήθους των μεταβλητών εισόδου και εξόδου Οι εντολές nargin και nargout επιστρέφουν αντίστοιχα το πλήθος των μεταβλητών εισόδου και εξόδου μιας συνάρτησης. Όταν η nargin χρησιμοποιείται σε συνάρτηση ορισμένη από τον χρήστη προσδιορίζει πόσες μεταβλητές εισόδου έχουν δοθεί. Έτσι η συνάρτηση μπορεί να έχει μεταβαλλόμενο πλήθος μεταβλητών. Η nargin επιστρέφει την τιμή - όταν χρησιμοποιείται σε συνάρτηση βιβλιοθήκης με μεταβαλλόμενο πλήθος μεταβλητών εισόδου. Τέλος, όταν η nargout χρησιμοποιείται σε συνάρτηση ορισμένη από το χρήστη, τότε αυτή επιστρέφει το πλήθος των μεταβλητών εισόδου που έχουν ζητηθεί από τον χρήστη. Παράδειγμα Οι συναρτήσεις star (που ορίσαμε πιο πάνω), clock, sin, rem και surf έχουν αντίστοιχα,,, 2 και μεταβαλλόμενες σε πλήθος μεταβλητές εισόδου: >> nargin('star') >> nargin('clock') >> nargin('sin') >> nargin('rem') 2 >> nargin('surf') - >> 96

11 3. M-files Οι συναρτήσεις star, inv και eig έχουν αντίστοιχα,, και 2 μεταβλητές εξόδου: >> nargout('star') >> nargout('inv') >> nargout('eig') 2 Παρατήρηση: Ως γνωστό η συνάρτηση size επιστρέφει τις διαστάσεις (δηλ. τους αριθμούς γραμμών και στηλών) ενός πίνακα. Είναι λοιπόν λογικό να μαντέψουμε ότι η nargout( size ) έχει τιμή 2. Αυτό δεν ισχύει: >> nargout('size') Η εξήγηση βρίσκεται στο ότι έχουμε μόνο μια μεταβλητή εξόδου που είναι ένας πίνακας γραμμή με τουλάχιστον 2 στοιχεία: >> x=; u=:5; A=[:4;zeros(,4)]; S=rand(2,3,4); >> size(x), size(u), size(a), size(s) >> Τοπικές και καθολικές μεταβλητές Έχουμε ήδη αναφέρει ότι σ ένα αρχείο συνάρτησης (function m-file) μπορούμε να χρησιμοποιήσουμε τοπικές μεταβλητές (local variables) οι οποίες δεν εμφανίζονται στο χώρο εργασίας αφού η συνάρτηση επικοινωνεί με αυτόν μόνο μέσω των μεταβλητών εισόδου και εξόδου. Έτσι οι τοπικές μεταβλητές έχουν νόημα μόνο μέσα στο αρχείο συνάρτησης. Όπως ο χρήστης που εργάζεται στο παράθυρο εργασίας δεν έχει πρόσβαση στις τοπικές μεταβλητές του function m-file, έτσι και αυτό δεν έχει πρόσβαση στις μεταβλητές του χώρου εργασίας. Σε εξαιρετικές περιπτώσεις μπορούμε να ορίσουμε μια μεταβλητή ως καθολική (global variable) με την εντολή global. Για παράδειγμα, με την εντολή >> global GLOB η μεταβλητή GLOB του χώρου εργασίας γίνεται καθολική και είναι διαθέσιμη σε όλα τα m-files. To m-file αναζητεί την τιμή της GLOB στο χώρο εργασίας. Με την εντολή whos μπορούμε να δούμε τις ενεργές καθολικές μεταβλητές. >> x=; GLOB=2; >> whos Name Size Bytes Class Attributes 97

12 Γ. Γεωργίου & Χρ. Ξενοφώντος >> GLOB x 8 double global x x 8 double Η εντολή keyboard Με την εντολή keyboard διακόπτεται η εκτέλεση ενός m-file και ο έλεγχος επανέρχεται στο πληκτρολόγιο του χρήστη. Στην περίπτωση αυτή, η προτροπή στο παράθυρο εντολών αλλάζει από σε >> K>> όπου το γράμμα K δηλώνει ακριβώς ότι ο έλεγχος είναι στο πληκτρολόγιο του χρήστη ο οποίος αποκτά πρόσβαση στις τοπικές μεταβλητές αφού μπορεί να τις δει, να τις χρησιμοποιήσει σε εντολές ή ακόμα να τις τροποποιήσει. Με την εντολή K>> return ο έλεγχος επανέρχεται στο m-file. Η εντολή keyboard είναι χρήσιμη στον εντοπισμό λαθών στη ΜΑΤLAB. Παράδειγμα Δίνεται το πιο κάτω function m-file: function A2=testkeyb(A) % TESTKEYB.m % % This is an example using the command KEYBOARD. % This function constructs the block matrix % [A O] % [I A] % and calculates its inverse (A2). % The variables n, I, O, A and x are local. % n=size(a); I=eye(n); O=zeros(n); A=[A O; I A]; x=det(a); % Transfer control to the keyboard keyboard A2=inv(A) Ακολουθούν κάποια αποτελέσματα που παίρνουμε με την testkeyb: >> B=testkeyb( [ 2; 2 ] ) K>> x x = 9 K>> format rat K>> return B = -/3 2/3 2/3 -/3-5/9 4/9 -/3 2/3 4/9-5/9 2/3 -/3 >> 98

13 3. M-files 3.3 Μαθηματικές συναρτήσεις Τα m-files είναι ιδιαίτερα χρήσιμα στον ορισμό (μαθηματικών) συναρτήσεων, όπως για παράδειγμα η 2 4x f( x) = 4 x + 2. Γράφουμε ένα m-file που ορίζει αυτή τη συνάρτηση, όπως φαίνεται πιο κάτω, και το αποθηκεύουμε σε ένα αρχείο με το όνομα f.m το οποίο πρέπει να βρίσκεται στον φάκελο εργασίας (working directory) ή στον φάκελο (directory) της MATLAB ή στον δρόμο αναζήτησης (research path) της MATLAB. function [F] = f(x) F = 4*x.^2./(x.^4+2); % Telos tou f.m Για να πάρουμε την τιμή της f για x =, γράφουμε απλά >> f().3333 Πράγματι, >> 4*()^2/(()^4+2).3333 Με τον ίδιο τρόπο παίρνουμε και άλλες τιμές: >> f() >> f(-3).4337 >> f(5).595 Παρατήρηση Η f δουλεύει και στην περίπτωση που το x είναι διάνυσμα αφού στο πιο πάνω m-file ορίσαμε τις πράξεις κατά τα στοιχεία του (δηλ. βάλαμε. πριν από τα ^ και / ). Για παράδειγμα, για το διάνυσμα έχουμε >> x=[-3:.5:3]'; >> f(x) x = ( 3, 2.5, 2,.5,,.5,,.5,,.5,2,2.5,3) T 99

14 Γ. Γεωργίου & Χρ. Ξενοφώντος Αυτή η δυνατότητα θα μας φανεί πολύ χρήσιμη για την κατασκευή γραφημάτων στο Κεφ. 5. Προς το παρόν, σημειώνουμε ότι αν, για παράδειγμα, θέλουμε να κατασκευάσουμε τη γραφική παράσταση της πιο πάνω συνάρτησης για x [,], τότε διαμερίζουμε ομοιόμορφα το διάστημα αυτό με σημεία ( ίσα υποδιαστήματα) με την εντολή >> x=linspace(-,,); και μετά χρησιμοποιούμε την εντολή >> plot(x,f(x)) Παίρνουμε έτσι την γραφική παράσταση της f : Η βοήθεια που δίνει η MATLAB για την εντολή linspace, έχει ως εξής: >> help linspace LINSPACE Linearly spaced vector. LINSPACE(X, X2) generates a row vector of linearly equally spaced points between X and X2. LINSPACE(X, X2, N) generates N points between X and X2. For N < 2, LINSPACE returns X2. Class support for inputs X,X2: float: double, single See also logspace.

15 3. M-files Παράδειγμα Η συνάρτηση f 2 ( x ) = cos(4 π x ) sin(3 π x ) ορίζεται στο m-file f2.m που φαίνεται πιο κάτω: function [G] = f2(x) G = cos(4*pi*x) - sin(3*pi*x); % Telos tou f2.m Σημειώνουμε ότι για αυτή τη συνάρτηση δεν χρειάζεται να χρησιμοποιήσουμε πράξεις κατά στοιχεία μια και οι τριγωνομετρικές συναρτήσεις βιβλιοθήκης δουλεύουν και για διανύσματα. Έχουμε >> f2(-3.2) -.76 >> f2() >> f2(.85).6787 >> f2(). >> f2([:.2:]) Σχολιάστε το τελευταίο αποτέλεσμα. Παράδειγμα Με τον πιο πάνω τρόπο μπορούμε να ορίσουμε συναρτήσεις πολλών μεταβλητών, αν χρησιμοποιήσουμε περισσότερες από μια μεταβλητές εισόδου. Έστω η συνάρτηση (, ) xy ( 2 2 f )cos( ) 3 xy = e + x + y y η οποία ορίζεται στο m-file f3.m που φαίνεται πιο κάτω: function [F] = f3(x,y) F = exp(-x.*y) + (x.^2 + y.^2).*cos(y); %Telos tou f3.m Έτσι, παίρνουμε τιμές της f 3 (x, y) ως εξής: >> f3(,)

16 Γ. Γεωργίου & Χρ. Ξενοφώντος >> f3(-4,) Ο πιο πάνω τρόπος ορισμού μαθηματικών συναρτήσεων, αν και δεν είναι ο μοναδικός, είναι ο πιο λειτουργικός ειδικά όταν γράφουμε προγράμματα τα οποία καλούν αυτές τις συναρτήσεις (όπως και θα δούμε στα επόμενα κεφάλαια) Ανώνυμες συναρτήσεις Η MATLAB περιλαμβάνει ένα απλό τύπο συνάρτησης η οποία καλείται ανώνυμη συνάρτηση (anonymous function) η οποία ορίζεται είτε στο παράθυρο εντολών είτε σ ένα αρχείο script και είναι διαθέσιμη όσο διαρκεί η εργασία μας στο παράθυρο εντολών. Ας πάρουμε σαν παράδειγμα τη συνάρτηση f = sin(2 π x) Η ανώνυμη συνάρτηση ορίζεται με την εντολή όπου f sin(2*pi*x) Το δηλώνει στη MATLAB ότι η f είναι συνάρτηση. Αμέσως μετά το ακολουθεί η μεταβλητή εισόδου της συνάρτησης. Τέλος ορίζεται η συνάρτηση. Το όνομα της συνάρτησης εμφανίζεται στο παράθυρο των μεταβλητών με τον χαρακτηρισμό function_handle. Αν καθαρίσουμε το χώρο εργασίας (με την εντολή clear) η ανώνυμη συνάρτηση θα διαγραφεί. Όπως και κάθε άλλη ενεργή μεταβλητή μια ανώνυμη συνάρτηση μπορεί να αποθηκευτεί σ ένα αρχείο.mat με την εντολή save και να φορτωθεί εκ νέου με την εντολή load. Οι ανώνυμες συναρτήσεις χρησιμοποιούνται όπως κάθε άλλη συνάρτηση. Για παράδειγμα, αφού ορίσουμε την f όπως είδαμε πιο πάνω, τότε μπορούμε να πούμε >> f() >> f(.25) Η εντολή fplot H fplot είναι παράδειγμα συνάρτησης βιβλιοθήκης που έχει σαν όρισμα μια άλλη συνάρτηση. Η fplot έχει δύο ορίσματα εισόδου: μια συνάρτηση και το διάστημα στο οποίο θα κάνει το γράφημά της. Αν τη χρησιμοποιήσουμε με την ανώνυμη συνάρτηση που μόλις ορίσαμε παίρνουμε το ακόλουθο γράφημα: fplot(f, [ 4]) 2

17 3. M-files Παράδειγμα Θα ορίσουμε μια ανώνυμη συνάρτηση για την g x y x y xy (, ) = Παρατηρούμε ότι τώρα έχουμε δύο μεταβλητές εισόδου, τις x και y. Άρα γράφουμε g sqrt(x.^2+y.^2) 2*x.*y Για να μπορεί να χρησιμοποιείται και με διανύσματα σαν μεταβλητές εισόδου ορίζουμε τις πράξεις κατά τα στοιχεία των (διανυσμάτων) x και y. Ένας άλλος τρόπος ορισμού (μαθηματικών) συναρτήσεων είναι μέσω της εντολής inline, της οποίας η βοήθεια που δίνει η MATLAB φαίνεται πιο κάτω. >> help inline INLINE Construct INLINE object. INLINE(EXPR) constructs an inline function object from the MATLAB expression contained in the string EXPR. The input arguments are automatically determined by searching EXPR for variable names (see SYMVAR). If no variable exists, 'x' is used. INLINE(EXPR, ARG, ARG2,...) constructs an inline function whose input arguments are specified by the strings ARG, ARG2,... Multicharacter symbol names may be used. INLINE(EXPR, N), where N is a scalar, constructs an inline function whose input arguments are 'x', 'P', 'P2',..., 'PN'. Examples: g = inline('t^2') g = inline('sin(2*pi*f + theta)') g = inline('sin(2*pi*f + theta)', 'f', 'theta') g = inline('x^p', ) Η inline έχει κάπως πιο σύνθετη σύνταξη από την ανώνυμη συνάρτηση αλλά έχει το πλεονέκτημα ότι υποστηρίζεται από παλαιότερες εκδοχές της MATLAB. 3

18 Γ. Γεωργίου & Χρ. Ξενοφώντος Παράδειγμα Θα ορίσουμε τη συνάρτηση f που είδαμε πιο πάνω: >> f=inline('sin(2*pi*x)','x') f = Inline function: f(x) = sin(2*pi*x) >> f() >> f(.25) Παράδειγμα Θα ορίσουμε τη συνάρτηση g του Παραδείγματος έχουμε >> g=inline('sqrt(x.^2+y.^2)-2*x.*y','x','y') g = Inline function: g(x,y) = sqrt(x.^2+y.^2)-2*x.*y >> g(,) >> g(,) >> g(sqrt(2),sqrt(2)) -2. Παράδειγμα Για την συνάρτηση του Παραδείγματος 3.3. μπορούμε να γράψουμε >> f2 = inline('cos(4*pi*x) - sin(3*pi*x)','x') f2 = Inline function: f2(x) = cos(4*pi*x) - sin(3*pi*x) >> f2() >> f2(-4.).8 Ομοίως για την συνάρτηση του παραδείγματος έχουμε: >> f3 = inline('exp(-x.*y) + (x.^2 + y.^2).*cos(y)','x','y') f3 = Inline function: f3(x,y) = exp(-x.*y) + (x.^2 + y.^2).*cos(y) >> f3(,) >> f3(-4,)

19 3. M-files Η εντολή feval Ένας άλλος τρόπος να καλέσουμε μια συνάρτηση που έχει οριστεί σε ένα m-file, είναι μέσω της εντολής feval. Αν για παράδειγμα έχουμε μια m-συνάρτηση fname με μεταβλητές εισόδου τις x και x2, ένας τρόπος να υπολογίσουμε την τιμή της είναι: z = fname(x, x2) Εναλλακτικά, μπορούμε να χρησιμοποιήσουμε την εντολή feval z = feval(@fname, x, x2) Η feval υπολογίζει λοιπόν την m-συνάρτηση που ακολουθεί μετά το για τις τιμές των μεταβλητών x και x2. Η feval χρησιμοποιείται συνήθως μέσα σε συναρτήσεις οι οποίες έχουν το όνομα μιας άλλης συνάρτησης σαν αλφαριθμητική μεταβλητή εισόδου. H feval δουλεύει και με τις γνωστές συναρτήσεις βιβλιοθήκης της MATLAB. Παράδειγμα Για να υπολογίσουμε το sin(pi/2) μπορούμε να γράψουμε >> sin(pi/2) ή ισοδύναμα >> feval(@sin, pi/2) Επίσης, αντί της >> rem(234,) μπορούμε να γράψουμε >> feval(@rem, 234, ) Παράδειγμα Έστω το m-file με όνομα myfunction.m: function [f] = myfunction(x,y,z) f = x.^3 + exp(y) +./(z.^2 + 2); %Telos tou myfunction.m Για να υπολογίσουμε την πιο πάνω συνάρτηση για x =, y = 2, z = 3, μπορούμε να γράψουμε >> feval(@myfunction,,2,3) 8.48 Ισοδύναμα, θα μπορούσαμε να γράψουμε >> myfunction(,2,3)

20 Γ. Γεωργίου & Χρ. Ξενοφώντος Παράδειγμα Το πρόγραμμα function με όνομα exfun έχει σαν μεταβλητές εισόδου ένα αλφαριθμητικό strfun που είναι το όνομα μιας συνάρτησης f(x) και ένα διάνυσμα x. Η συνάρτηση υπολογίζει την παράσταση: function z=exfun(strfun,x) f 2 ( x) 3 f( x) + 2 %EXFUN Briskei thn % f(x)^2-3 f(x) + % opou f(x) h sunartisi eisodou strfun. % Paradeigma klisis ths EXFUN: exfun(@sin,pi/2) % y=feval(strfun, x); z=y.^2-3*y + 2; %End of exfun Εδώ χρησιμοποιήσαμε τη feval προκειμένου να υπολογίσουμε πρώτα την f(x). Κατά τον υπολογισμό της z υψώσαμε τα στοιχεία του y στο τετράγωνο χρησιμοποιώντας τελεία πριν από το σύμβολο ^. Για να καλέσουμε την exfun πριν από το όνομα της συνάρτησης χρησιμοποιούμε το >> exfun(@sin,pi/2) >> w=exfun(@log,) w = 2 Και μια περίπτωση όπου το x είναι διάνυσμα: >> x=[.:.:5]; >> y=exfun(@log,x); >> plot(x,y) Παίρνουμε έτσι την ακόλουθη γραφική παράσταση: 6

21 3. M-files Σημείωση: Αν στο πιο πάνω παράδειγμα δώσουμε σαν δεδομένο εισόδου μια συνάρτηση που δεν είναι συνάρτηση βιβλιοθήκης (π.χ. ανώνυμη ή inline συνάρτηση), τότε το πριν από το όνομα της συνάρτησης μπορεί να παραλειφθεί. Για παράδειγμα, >> f 2*x - 3 f 2*x - 3 >> exfun(f,) 6 Στην περίπτωση όμως που η συνάρτηση ορίζεται με m-file, η χρήση του είναι υποχρεωτική. 7

22 Γ. Γεωργίου & Χρ. Ξενοφώντος 3.3 Ασκήσεις 3. Γράψτε ένα script file που να ονομάζεται F2C.m το οποίο να ζητά από τον χρήστη τη θερμοκρασία σε βαθμούς Φάρεναϊτ και να την μετατρέπει σε βαθμούς Κελσίου. Βεβαιωθείτε ότι το script file σας δουλεύει σωστά χρησιμοποιώντας το για τουλάχιστον 4 μετατροπές θερμοκρασίας. 3.2 Δημιουργήστε ένα νέο function m-file με το όνομα abssumprod.m το οποίο να υπολογίζει το άθροισμα και το γινόμενο των απόλυτων τιμών 4 αριθμών. Στα σχόλια να γράψετε το ονοματεπώνυμό σας. Βεβαιωθείτε ότι το m-file σας δουλεύει σωστά χρησιμοποιώντας το για τουλάχιστον 2 παραδείγματα. 3.3 Δημιουργήστε ένα νέο function m-file με το όνομα newmiscop.m το οποίο να υπολογίζει το τετράγωνο ενός τετραγωνικού πίνακα (σύμβολο Α2) καθώς επίσης την ορίζουσα και τον βαθμό του Α2. Στα σχόλια να γράψετε το ονοματεπώνυμό σας. Βεβαιωθείτε ότι το m-file σας δουλεύει σωστά χρησιμοποιώντας το για τουλάχιστον 3 παραδείγματα. 3.4 Να γράψετε ένα function m-file με όνομα euclnrm.m το οποίο να υπολογίζει την τετραγωνική ρίζα του αθροίσματος των τετραγώνων των στοιχείων ενός πίνακα. Στα σχόλια να γράψετε το ονοματεπώνυμό σας. Βεβαιωθείτε ότι το m- file σας δουλεύει σωστά χρησιμοποιώντας το για τουλάχιστον 2 παραδείγματα. 3.5 Γράψτε ένα script file που να μετατρέπει τις μοίρες σε ακτίνια και ένα άλλο που να μετατρέπει τα ακτίνια σε μοίρες. Βεβαιωθείτε ότι το script file σας δουλεύει σωστά χρησιμοποιώντας το για τουλάχιστον 4 μετατροπές. 3.6 Γράψτε ένα function file, που να καλείται nthroot.m, το οποίο να παίρνει σαν δεδομένα εισόδου τα x και n και να δίνει σαν δεδομένο εξόδου τη νιοστή ρίζα του x. Βεβαιωθείτε ότι το m-file σας δουλεύει σωστά χρησιμοποιώντας το για τουλάχιστον 3 παραδείγματα. 3.7 (α) Γράψτε ένα function file που βρίσκει το μέγιστο κατ απόλυτη τιμή στοιχείο πίνακα. (β) Γράψτε ένα άλλο function file που βρίσκει το ελάχιστο κατ απόλυτη τιμή στοιχείο πίνακα. (γ) Γράψτε ένα function file που βρίσκει το μέγιστο και το ελάχιστο κατ απόλυτη τιμή στοιχείο πίνακα. Βεβαιωθείτε ότι τα m-file σας δουλεύει σωστά χρησιμοποιώντας τα για τουλάχιστον 2 παραδείγματα (για το καθένα). 3.8 Γράψτε ένα function file που βρίσκει το ίχνος και την ορίζουσα του γινομένου δύο τετραγωνικών πινάκων. Βεβαιωθείτε ότι τα m-file σας δουλεύει σωστά χρησιμοποιώντας τα για τουλάχιστον 2 παραδείγματα. 3.9 Γράψτε ένα function file που να υπολογίζει το πολυώνυμο 3 2 p( x) = 3x + 5x 2x+. Χρησιμοποιώντας το m-file σας, υπολογίστε τα p( 3), p( ), p(), p(), p(4), p(2). 8

23 3. M-files 3. Γράψτε ένα function m-file με όνομα ex3_2.m, το οποίο να παίρνει σαν δεδομένο εισόδου το x και να δίνει σαν δεδομένα εξόδου τα y, z, και w τα οποία ορίζονται από τις y = x/ 5, z = (x + y)/ και w = xyz. 3. Έστω ότι έχετε ένα κυλινδρικό δοχείο ύψους h με διάμετρο βάσης b στο οποίο θέλετε να βάλετε μπάλες του πιγκ πογκ με διάμετρο d. Έστω V = hπ b/2 ο ( ) 2 3 όγκος του δοχείου και VB = d ο όγκος του κύβου που περιφράσσει μια μπάλα. Τότε, ο ελάχιστος αριθμός μπάλων που χωρούν στο δοχείο δίνεται από N = VC / VB. Γράψτε ένα script file με όνομα balls.m το οποίο να λύνει αυτό το πρόβλημα (δηλ. να δίνει τη τιμή του Ν) για d =.54 cm, b= 8 cm, h= 4cm. 3.2 Επαναλάβετε την πιο πάνω άσκηση, αλλά αυτή τη φορά γράψτε ένα function m-file με όνομα balls2.m το οποίο να λύνει το ίδιο πρόβλημα για οποιαδήποτε d, b και h. (Δηλ. τα d, b και h θα είναι δεδομένα εισόδου και το Ν θα είναι το δεδομένο εξόδου.) Βεβαιωθείτε ότι το m-file σας δουλεύει σωστά χρησιμοποιώντας το για τουλάχιστον 2 παραδείγματα της επιλογής σας. 3.3 Αν καταθέσουμε Ρ σε ένα λογαριασμό με ετήσιο επιτόκιο r το οποίο ανατοκίζεται n φορές το χρόνο, τότε μετά από t χρόνια το υπόλοιπο στον λογαριασμό θα είναι B = P( + r/ n) nt. Έστω ότι καταθέτουμε 5 σε ένα λογαριασμό με ετήσιο ανατοκισμό για 7 χρόνια, και έστω ότι καταθέτουμε 5 σε έναν άλλα λογαριασμό με μηνιαίο ανατοκισμό. Αν και για τους δύο λογαριασμούς το επιτόκιο είναι 8.5%, να γράψετε ένα script file με όνομα ex3_5a.m το οποίο να βρίσκει πόσα χρόνια (και πόσους μήνες) θα πρέπει να περάσουν για να έχουμε στον δεύτερο λογαριασμό το ίδιο υπόλοιπο με τον πρώτο. 3.4 Να επαναλάβετε την προηγούμενη άσκηση, αλλά αυτή τη φορά γράψτε ένα function m-file με όνομα ex3_5b.m το οποίο να λύνει το ίδιο πρόβλημα για οποιαδήποτε P, r και t. (Δηλ. τα P, r και t θα είναι δεδομένα εισόδου και το απαιτούμενο χρονικό διάστημα θα είναι το δεδομένο εξόδου.) Βεβαιωθείτε ότι το m-file σας δουλεύει σωστά χρησιμοποιώντας το για τουλάχιστον 2 παραδείγματα της επιλογής σας. 3.5 Η απόσταση d ενός σημείου ( x, y ) από μια ευθεία με εξίσωση 2 Ax + By + C = δίνεται από την d = Ax + By + C / A + B 2. Γράψτε ένα function m-file με όνομα ex3_7.m το οποίο να παίρνει σαν δεδομένα εισόδου τα x, y, A, B, και C, και να δίνει σαν δεδομένου εξόδου το d. Χρησιμοποιείστε το για να βρείτε την απόσταση του σημείου (2, 3) από την ευθεία 3x+ 5y 6=. 3.6 Ορίστε τις πιο κάτω συναρτήσεις χρησιμοποιώντας ένα m-file για την κάθε μια, και βρείτε τις ζητούμενες τιμές, χρησιμοποιώντας την εντολή feval. (α) (β) (γ) f ( x) = cos ( x) sin ( x), f (), f ( π /2), f( π ) f ( x) = 3x 2x, f ( ), f (/ 2), f2(3) f ( x, y) = y x + xy 5, f (, ), f (,2), f (3, 6) C 9

24 Γ. Γεωργίου & Χρ. Ξενοφώντος xyz f ( x, y, z) =, f (,,), f (,2, 7), f4 ( π, e, 2) x + y + z (δ) y x 3.7 (α) Ορίστε τη συνάρτηση gxy (, ) = e με την εντολή inline, και βρείτε τα g(,), g(,), g ( ln 3, ln 2). (β) Επαναλάβετε την άσκηση ορίζοντας μια ανώνυμη συνάρτηση. 3.8 Γράψτε μια m-συνάρτηση με όνομα compfun.m που υπολογίζει τη σύνθεση μιας συνάρτησης f με τον εαυτό της, δηλ. f(f(x)). Το όνομα της f πρέπει να είναι μεταβλητή εισόδου για την compfun. Βεβαιωθείτε ότι το m-file σας δουλεύει σωστά χρησιμοποιώντας το για τουλάχιστον 2 παραδείγματα της επιλογής σας. 3.9 Γράψτε μια m-συνάρτηση με όνομα prodfun που υπολογίζει το γινόμενο δύο συναρτήσεων f(x) και g(x). Τα ονόματα της f και της g πρέπει να είναι μεταβλητές εισόδου για την prodfun. Βεβαιωθείτε ότι το m-file σας δουλεύει σωστά χρησιμοποιώντας το για τουλάχιστον 2 παραδείγματα της επιλογής σας. 3.2 Γράψτε μια m-συνάρτηση με όνομα normvec που θα κανονικοποιεί ένα διάνυσμα u. 3.2 Ορίστε τη συνάρτηση 2 3 x x f( x) = x+ 2 3 όπου το x μπορεί να είναι διάνυσμα, με τους εξής τρόπους: (α) Σαν m-συνάρτηση (β) Με ανώνυμη συνάρτηση. (γ) Με την εντολή inline 3.22 Ορίστε τη συνάρτηση 5cos( xy) hxy (, ) = π x + y όπου τα x και y μπορεί να είναι διανύσματα, με τους εξής τρόπους: (α) Σαν m-συνάρτηση (β) Με ανώνυμη συνάρτηση. (γ) Με την εντολή inline 2 2

Χρονικές σειρές 5 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ (2) Μ-Files

Χρονικές σειρές 5 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ (2) Μ-Files Χρονικές σειρές 5 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ (2) Μ-Files Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό

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

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

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

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

Χρονικές σειρές 6 o μάθημα: M-Files (συνέχεια) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB - Bρόγχοι for

Χρονικές σειρές 6 o μάθημα: M-Files (συνέχεια) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB - Bρόγχοι for Χρονικές σειρές 6 o μάθημα: M-Files (συνέχεια) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB - Bρόγχοι for Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική

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

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 3: Αρχεία script- Αρχεία συναρτήσεων Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

Matlab functions. Κολοβού Αθανασία, ΕΔΙΠ, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ

Matlab functions. Κολοβού Αθανασία, ΕΔΙΠ, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ Matlab functions Κολοβού Αθανασία, ΕΔΙΠ, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ Μ-files Στο Matlab μπορούμε να εκτελούμε μία σειρά από εντολές οι οποίες βρίσκονται αποθηκευμένες σε αρχεία τύπου *.m

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

Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2)

Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2) Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2) Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό Τμήμα,

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

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

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

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

Σημειώσεις Εργαστηρίου Εφαρμοσμένου Προγραμματισμού

Σημειώσεις Εργαστηρίου Εφαρμοσμένου Προγραμματισμού Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ανατολικής Μακεδονίας και Θράκης Σχολή Τεχνολογικών Εφαρμογών Τμήμα Ηλεκτρολόγων Μηχανικών Σημειώσεις Εργαστηρίου Εφαρμοσμένου Προγραμματισμού Τραμαντζάς Α. Κωνσταντίνος

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

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

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

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

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

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

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

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

Εισαγωγή στο GNU Octave/MATLAB Εισαγωγή στο GNU Octave/MATLAB Δρ. Βασίλειος Δαλάκας Καλώς ήρθατε στο εργαστήριο Σημάτων και Συστημάτων με το λογισμικό Octave (Οκτάβα). Οι σημειώσεις αυτές έχουν βασιστεί στις σημειώσεις του εργαστηρίου

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

11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ 11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ 11.1 Γενικά περί συνήθων διαφορικών εξισώσεων Μια συνήθης διαφορική εξίσωση (ΣΔΕ) 1 ης τάξης έχει τη μορφή dy d = f (, y()) όπου f(, y) γνωστή και y() άγνωστη συνάρτηση.

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

10 ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ

10 ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ. Αθροίσματα Riemann Στο κεφάλαιο αυτό θα ασχοληθούμε με αριθμητικές μεθόδους υπολογισμού του ορισμένου ολοκληρώματος b a f ( d ) όπου τα a, b είναι γνωστά και η συνάρτηση f() είναι

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

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

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

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

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

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

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

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

Προγραμματισμός στο Matlab Κλάδοι με την εντολή if Προγραμματισμός στο Matlab Σαν ένα απλό παράδειγμα κλάδου με την εντολή if ας θεωρήσουμε το παρακάτω παράδειγμα που υπολογίζει την απόλυτη τιμή ενός πραγματικού αριθμού. function

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Συνοπτικός οδηγός MATLAB & OCTAVE. (έως και συναρτήσεις) Ιωάννης Καλατζής 2018d Συνοπτικός οδηγός MATLAB & OCTAVE (έως και συναρτήσεις) Ιωάννης Καλατζής 2018d ΕΓΚΑΤΑΣΤΑΣΗ ΓΕΝΙΚΑ 2 MATLAB Το MATLAB είναι ένα περιβάλλον για επιστημονικό και τεχνικό προγραμματισμό, ιδανικό για ανάπτυξη

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ. Δημητρακάκης Συναρτήσεις (Functions) Στον προγραμματισμό,

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό με C++ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 6: Συναρτήσεις Κωνσταντίνος Κουκουλέτσος Τμήμα Αυτοματισμού Άδειες Χρήσης Το παρόν

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

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

Το παράθυρο έναρξης του Μatlab Εισαγωγή στο Matlab Το παράθυρο έναρξης του Μatlab Αν οποιοδήποτε από αυτά τα παράθυρα είναι κρυμμένο μπορείτε να το εμφανίσετε από το menu με όνομα Desktop. Desktop > Desktop Layout > Default Ένα παράθυρο

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

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

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

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

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

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

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

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός Εργαστήριο 9 Συναρτήσεις στη PASCAL Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός 7.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΕΡΓΑΣΙΑΣ Η έννοια της συνάρτησης ως υποπρογράμματος είναι τόσο βασική σε όλες τις γλώσσες προγραμματισμού,

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

Νέο υλικό. 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 σελίδες). Επαναληπτικές δομές Όταν εκτελείται μια πράξη σε ένα διάνυσμα,

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

ΗΜΥ 100 ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΤΕΧΝΟΛΟΓΊΑ

ΗΜΥ 100 ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΤΕΧΝΟΛΟΓΊΑ ΗΜΥ 100 ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΤΕΧΝΟΛΟΓΊΑ Δρ. Στέλιος Τιμοθέου ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ ΜΑΣ ΣΗΜΕΡΑ Εισαγωγή στον Προγραμματισμό Λογικό

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

Παράδειγμα για διαχείριση strings

Παράδειγμα για διαχείριση strings Παράδειγμα για διαχείριση strings Ας υποθέσουμε ότι έχουμε ένα string που αποτελείται από μια γωνία ακολουθούμενη από ένα γράμμα ή d για μοίρες ή r για ακτίνια. Για παράδειγμα μπορεί να είναι ένα string

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

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

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

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή

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

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

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

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 17 ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 17 10 Νοεµβρίου, 2006 Γεώργιος Έλληνας Επίκουρος Καθηγητής ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ

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

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

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

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

Συναρτήσεις. Υποπρόγραμμα

Συναρτήσεις. Υποπρόγραμμα Συναρτήσεις Υποπρόγραμμα Ένα σύνολο από εντολές που κάνουν κάτι συγκεκριμένο, έχουν στενή σχέση/εξάρτηση μεταξύ τους, έχουν «χαλαρή» σύνδεση με τον υπόλοιπο κώδικα, μπορεί να εξαχθεί από το πρόγραμμά μας

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

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

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

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

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

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 9 ο Εργαστήριο. Απαλοιφή Gauss με μερική οδήγηση - Παρεμβολη

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 9 ο Εργαστήριο. Απαλοιφή Gauss με μερική οδήγηση - Παρεμβολη Εργαστήρια Αριθμητικής Ανάλυσης Ι 9 ο Εργαστήριο Απαλοιφή Gauss με μερική οδήγηση - Παρεμβολη 2018 Απαλοιφή Gauss Με Μερική Οδήγηση Για την εύρεση του οδηγού στοιχείου στο k ο βήμα, αναζητούμε το μέγιστο

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 Μ4. Συναρτήσεις, Υπορουτίνες, Ενότητες - Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr

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

Λογικά Διανύσματα. >>x = -3/2*pi : pi/100 : 3/2*pi; >>y = tan(x); >>plot(x, y)

Λογικά Διανύσματα. >>x = -3/2*pi : pi/100 : 3/2*pi; >>y = tan(x); >>plot(x, y) Λογικά Διανύσματα Τα λογικά διανύσματα του Matlab είναι πολύ χρήσιμα εργαλεία. Για παράδειγμα ας υποθέσουμε ότι θέλουμε να κάνουμε την γραφική παράσταση της tan(x) στο διάστημα από -3π/2 μέχρι 3π/2. >>x

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 14 ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 14 20 Οκτωβρίου, 2005 Ηλίας Κυριακίδης Λέκτορας ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ 2005Ηλίας Κυριακίδης,

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις

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

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

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

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

M files RCL Κυκλώματα

M files RCL Κυκλώματα M files RCL Κυκλώματα Στο MATLAB γράφουμε τις δικές μας εντολές και προγράμματα μέσω αρχείων που καλούνται m-files. Έχουν το επίθεμα.m π.χ compute.m Υπάρχουν δύο είδη m-files: τα αρχεία script (script

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

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

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

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

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

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch; ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Τι είναι ; Συναρτήσεις Αυτόνομα τμήματα κώδικα (υποπρογράμματα) που πραγματοποιούν μια καθορισμένη εργασία. Χρήσιμες για περιπτώσεις που ο ίδιος υπολογισμός επαναλαμβάνεται πολλές φορές

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2008 ΔΙΔΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙΔΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Παράδοση: Πέμπτη 10 Απριλίου 2008, 24:00 (μεσάνυχτα)

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

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

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις (Functions) Οι βασικές λειτουργικές ενότητες ενός προγράμματος C Καλούνται με ορίσματα που αντιστοιχούνται σε

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

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

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

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

ΗΥ-100: Εισαγωγή στην Επιστήμη Υπολογιστών 3η σειρά ασκήσεων

ΗΥ-100: Εισαγωγή στην Επιστήμη Υπολογιστών 3η σειρά ασκήσεων ΗΥ-100: Εισαγωγή στην Επιστήμη Υπολογιστών η σειρά ασκήσεων Οδηγίες Για τη μεταγλώττιση των προγραμμάτων που ζητούνται θα πρέπει να χρησιμοποιήσετε το gcc με τις παρακάτω παραμέτρους: gcc -ansi -pedantic

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Συναρτήσεις Μέρος II Θέματα ιάλεξης Μη- ομημένος

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

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 1: Εισαγωγή στο Matlab Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στους Υπολογιστές Εισαγωγή στους Υπολογιστές Ενότητα #5: Διαγράμματα ροής (Flow Charts), Δομές επανάληψης Καθ. Δημήτρης Ματαράς Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών Διαγράμματα ροής (Flow Charts), Δομές επανάληψης

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

ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ. Τσιριγώτης Γεώργιος

ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ. Τσιριγώτης Γεώργιος ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Τσιριγώτης Γεώργιος Σκοπός του μαθήματος είναι να προετοιμάσει τον σπουδαστή, εφοδιάζοντάς τον με γνώση στην χρήση λογισμικού υψηλού επιπέδου, ώστε να μπορεί να το χρησιμοποιήσει

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

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

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

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

Υπο-προγράμματα στη Fortran

Υπο-προγράμματα στη Fortran ΦΥΣ 145 - Διαλ.05 1 Υπο-προγράμματα στη Fortran q Mέχρι τώρα τα προβλήματα και τα προγράμματα που έχουμε δεί ήταν αρκετά απλά και επομένως ένα και μόνο πρόγραμμα ήταν αρκετό για να τα λύσουμε q Όταν τα

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

Υπολογισμός αθροισμάτων

Υπολογισμός αθροισμάτων Υπολογισμός αθροισμάτων Τα αθροίσματα θα τα δημιουργούμε σαν συναρτήσεις και θα τα αποθηκεύουμε σε αρχείο (m-file) με την ίδια ονομασία με τη συνάρτηση. Για να δημιουργήσουμε ένα άθροισμα ξεκινάμε μηδενίζοντας

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12) Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε

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

// MATHIMA 2, // s.boot; s.makewindow.boot; // boot server!

// MATHIMA 2, // s.boot; s.makewindow.boot; // boot server! // ------ MATHIMA 2, 07.03.12 ------ // s.boot; s.makewindow.boot; // boot server! /* Αυτά θα τα δούμε αργότερα, απλώς είπα να τα συμπεριλάβω από τώρα: Server.local.options.blockSize = 16; Server.local.options.sampleRate

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

Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ. Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ. Δημητρακάκης Πίνακες/Λίστες Σε πολλές περιπτώσεις στον προγραμματισμό υπάρχει η

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

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

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

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 5 ο : MATLAB Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ηλεκτρονική Υγεία Εργαστήριο 5 ο : MATLAB Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

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

8 ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΕΞΙΣΩΣΕΩΝ

8 ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΕΞΙΣΩΣΕΩΝ 8 ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΕΞΙΣΩΣΕΩΝ Στο παρόν κεφάλαιο θα ασχοληθούμε με μεθόδους επίλυσης εξισώσεων την μορφής f(x) = 0. Αναζητούμε μια ακολουθία { n} n 0 x προσεγγίσεων της λύσης, έτσι ώστε lim x = n =

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

Συναρτήσεις και διαδικασίες

Συναρτήσεις και διαδικασίες Συναρτήσεις και διαδικασίες Χρήση συναρτήσεων βιβλιοθήκης Εντολή κλήσης της συνάρτησης printf: printf( Hello, world\n ); Μια συνάρτηση είναι ένα σύνολο εντολών που έχουν ομαδοποιηθεί και τους έχει αποδοθεί

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

Χρονικές σειρές 9 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (3) ΓΡΑΦΗΜΑΤΑ

Χρονικές σειρές 9 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (3) ΓΡΑΦΗΜΑΤΑ Χρονικές σειρές 9 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (3) ΓΡΑΦΗΜΑΤΑ Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό

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

ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΣΤΗ MATLAB

ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΣΤΗ MATLAB ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΣΤΗ MATLAB 1. Γενικά περί συνήθων διαφορικών εξισώσεων Μια συνήθης διαφορική εξίσωση (Σ.Δ.Ε.) 1 ης τάξης έχει τη μορφή dy dt f ( t, y( t)) όπου η συνάρτηση f(t, y) είναι γνωστή,

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 12: Συνοπτική Παρουσίαση Ανάπτυξης Κώδικα με το Matlab Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2010 Ι ΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙ ΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Ανάθεση: Πέµπτη 15 Απριλίου 2010, 11:00 (πρωί)

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

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

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

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

Στη MATLAB τα πολυώνυμα αναπαριστώνται από διανύσματα που περιέχουν τους συντελεστές τους σε κατιούσα διάταξη. Για παράδειγμα το πολυώνυμο

Στη MATLAB τα πολυώνυμα αναπαριστώνται από διανύσματα που περιέχουν τους συντελεστές τους σε κατιούσα διάταξη. Για παράδειγμα το πολυώνυμο ΠΟΛΥΩΝΥΜΑ. Γενικά περί πολυωνύμων Στη MATLAB τα πολυώνυμα αναπαριστώνται από διανύσματα που περιέχουν τους συντελεστές τους σε κατιούσα διάταξη. Για παράδειγμα το πολυώνυμο αναπαριστάται από το διάνυσμα

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

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Εφαρμογές Η/Υ στη Χρηματοοικονομική. Εργαστήριο ΙI. Διδάσκων Καθηγητής: Αχιλλέας Ζαπράνης. Επιμέλεια Σημειώσεων: Ευστράτιος Λιβάνης

Εφαρμογές Η/Υ στη Χρηματοοικονομική. Εργαστήριο ΙI. Διδάσκων Καθηγητής: Αχιλλέας Ζαπράνης. Επιμέλεια Σημειώσεων: Ευστράτιος Λιβάνης Εφαρμογές Η/Υ στη Χρηματοοικονομική Εργαστήριο ΙI Διδάσκων Καθηγητής: Αχιλλέας Ζαπράνης Επιμέλεια Σημειώσεων: Ευστράτιος Λιβάνης 1.1 Εισαγωγή Το αντικείμενο αυτού του εργαστηρίου είναι η δημιουργία αρχείων

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

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

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

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

Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/

Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/ Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/ Συνάρτηση round() Περιγραφή Η συνάρτηση ROUND στρογγυλοποιεί έναν αριθμό στον δεδομένο

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

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

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

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

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

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

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

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

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή

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

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους

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

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική

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

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

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

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

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

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

1. ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB... 13 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB... 13 1.1. Τι είναι το Matlab... 13 1.2. Περιβάλλον εργασίας... 14 1.3. Δουλεύοντας με το Matlab... 16 1.3.1. Απλές αριθμητικές πράξεις... 16 1.3.2. Σχόλια...

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

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

Σημειωματάριο Δευτέρας 9 Οκτ. 2017 Σημειωματάριο Δευτέρας 9 Οκτ. 2017 Η δομή ελέγχου if... else... elif Βλέπουμε τώρα πώς μπορούμε να γράψουμε προγράμματα που η εκτέλεσή τους ακολουθεί διαφορετική πορεία ανάλογα με τα δεδομένα. Χωρίς τέτοιες

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

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

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

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

Ο πίνακας συμβόλων (symbol table) είναι μία δομή, όπου αποθηκεύεται πληροφορία σχετικά με τα σύμβολα του προγράμματος

Ο πίνακας συμβόλων (symbol table) είναι μία δομή, όπου αποθηκεύεται πληροφορία σχετικά με τα σύμβολα του προγράμματος HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 3 ο Symbol Table & Scopes Ι ΑΣΚΩΝ Αντώνιος Σαββίδης

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

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

Εισαγωγή στο Matlab Μέρος Α. Κυριακίδης Ιωάννης 2011 Εισαγωγή στο Matlab Μέρος Α Κυριακίδης Ιωάννης 2011 Εισαγωγή στο Matlab Το όνομα του προέρχεται από τα αρχικά γράμματα των λέξεων MATtrix LABoratory (εργαστήριο πινάκων). To MATLAB (MathWorks Inc.) παρέχει

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

4. Ποιος είναι ο τύπος και ποια η τιμή της μεταβλητής που χρησιμοποιείται παρακάτω;

4. Ποιος είναι ο τύπος και ποια η τιμή της μεταβλητής που χρησιμοποιείται παρακάτω; ΑΕσΠΠ-Ακολουθιακή Δομή 1 ΑΚΟΛΟΥΘΙΑΚΗ ΔΟΜΗ 1. Ποια από τα παρακάτω ονόματα μεταβλητών είναι λάθος και γιατί; Α Ύψος Αριθμ.παιδιών ΑΑ ποσοστό Α-Α διάβασε Αξία ΦΠΑ Χ Α4 ΜΗΚΟΣ Αριθμ_παιδιών Β_ ποσοστό% Α/Α

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