CEE501 1 Matlab Introduction
-
Upload
giannis-lagos -
Category
Documents
-
view
355 -
download
0
Embed Size (px)
Transcript of CEE501 1 Matlab Introduction

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 11©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
1. 1. ΕισαγωγήΕισαγωγή στοστο MatlabMatlab
ΧειμερινόΧειμερινό εξάμηνοεξάμηνο 20201010
ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος[email protected]@ucy.ac.cy
http://http://www.engwww.eng..ucy.ac.cy/petrosucy.ac.cy/petros
ΠΠΜΠΠΜ 501501: : ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 22©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠεριεχόμεναΠεριεχόμενα
•• ΕισαγωγικάΕισαγωγικά στοιχείαστοιχεία ΗΗ//ΥΥ καικαι ΠληροφορικήςΠληροφορικής
•• ΕισαγωγήΕισαγωγή στοστο πρόγραμμαπρόγραμμα MatlabMatlab
ΒασικέςΒασικές λειτουργίεςλειτουργίες
ΔιανύσματαΔιανύσματα καικαι μητρώαμητρώα
•• ΓραφικέςΓραφικές απεικονίσειςαπεικονίσεις καικαι παραστάσειςπαραστάσεις
γραφικέςγραφικές απεικονίσειςαπεικονίσεις σημείωνσημείων καικαι ευθύγραμμωνευθύγραμμων τμημάτωντμημάτων
γραφικέςγραφικές παραστάσειςπαραστάσεις συναρτήσεωνσυναρτήσεων
γραφικέςγραφικές παραστάσειςπαραστάσεις πολλαπλώνπολλαπλών συναρτήσεωνσυναρτήσεων
πολλαπλέςπολλαπλές γραφικέςγραφικές παραστάσειςπαραστάσεις
πολλαπλάπολλαπλά γραφικάγραφικά σχήματασχήματα

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 33©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
•• ΑρχείαΑρχεία ΜΜatlabatlab
ΑρχείαΑρχεία ΕντολώνΕντολών
ΑρχείαΑρχεία ΔεδομένωνΔεδομένων
•• ΠρογραμματισμόςΠρογραμματισμός μεμε τοτο MatlabMatlab
ΑρχείαΑρχεία συναρτήσεωνσυναρτήσεων
ΛογικάΛογικά τεσττεστ
ΒρόγχοιΒρόγχοι
ΑριθμητικέςΑριθμητικές μέθοδοιμέθοδοι
ΕπίλυσηςΕπίλυσης μημη γραμμικώνγραμμικών εξισώσεωνεξισώσεων ((μέθοδοςμέθοδος διχοτόμησηςδιχοτόμησης))
ΑριθμητικήςΑριθμητικής ολοκλήρωσηςολοκλήρωσης ((κανόναςκανόνας τουτου τραπεζίουτραπεζίου))
ΑλγόριθμοιΑλγόριθμοι
ΤαξινόμησηΤαξινόμηση στοιχείωνστοιχείων ((ταξινόμησηταξινόμηση μεμε εισαγωγήεισαγωγή))
ΑναζήτησηΑναζήτηση στοιχείωνστοιχείων ((δυαδικήδυαδική αναζήτησηαναζήτηση))

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 44©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΒασικάΒασικά στοιχείαστοιχεία ΗΗ//ΥΥ
ΙστορικάΙστορικά στοιχείαστοιχεία H/Y H/Y καικαι πληροφορικήςπληροφορικής::
1939, 1939, AtanasoffAtanasoff καικαι Berry:Berry:
‘‘πρώτοςπρώτος’’ ψηφιακόψηφιακόss ΗΗ//ΥΥ
19391939--44, 44, Howard Aiken: Howard Aiken:
πρώτοπρώτοςς μεγάληςμεγάλης κλίμακαςκλίμακας ΗΗ//ΥΥ (Harvard Mark I)(Harvard Mark I)
19194444, , Alan TuringAlan Turing::
πρώτοςπρώτος προγραμματιζόμενοςπρογραμματιζόμενος ψηφιακόψηφιακόss ΗΗ//ΥΥ ((COLOSSUS)COLOSSUS)
19419433--44444: 4: πρώτοςπρώτος γενικήςγενικής χρήσηςχρήσης ψηφιακόψηφιακόss ΗΗ//ΥΥ (ENIAC)(ENIAC)

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 55©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΙστορικάΙστορικά στοιχείαστοιχεία H/Y H/Y καικαι πληροφορικήςπληροφορικής ( ( συνεχσυνεχ.).)
ΔεκαετίαΔεκαετία 19601960: : εφεύρεσηεφεύρεση ολοκληρωμένωνολοκληρωμένων κυκλωμάτωνκυκλωμάτων => => σημαντικήσημαντική μείωσημείωση μεγέθουςμεγέθους ΗΗ//ΥΥ
1969: ARPANET: 1969: ARPANET: ΓέννησηΓέννηση τουτου διαδίκτυουδιαδίκτυου
ΔεκαετίαΔεκαετία 1970: 1970: πρώτοιπρώτοι μικρουπολογιστέςμικρουπολογιστές
1976:1976: ΚατασκευάζεταιΚατασκευάζεται οο πρώτοςπρώτος υπερυπολογιστήςυπερυπολογιστής ((CrayCray--1)1)
19811981: : ΚατασκευάζεταιΚατασκευάζεται οο προσωπικόςπροσωπικός ΗΗ//ΥΥ IBM PCIBM PC
19891989--90, Tim Berners90, Tim Berners--Lee: Lee: WorldWorld--Wide Web (WWW), HTML, & HTTPWide Web (WWW), HTML, & HTTP
1993 & 1994: 1993 & 1994: ΔημιουργούνταιΔημιουργούνται τατα Mosaic & Netscape WWW browsers Mosaic & Netscape WWW browsers

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 66©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠρόοδοςΠρόοδος ΤεχνολογίαςΤεχνολογίας ΗλεκτρονικώνΗλεκτρονικών ΥπολογιστώνΥπολογιστών
5 5 ΜΒΜΒ σκληρόςσκληρός ΔίσκοςΔίσκος (1956)(1956)
4 4 GGΒΒ (4 x 1024 = 4096 MB) (4 x 1024 = 4096 MB) USB Memory key (2006)USB Memory key (2006)

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 77©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠρόοδοςΠρόοδος ΤεχνολογίαςΤεχνολογίας ΗλεκτρονικώνΗλεκτρονικών ΥπολογιστώνΥπολογιστών
ENIAC (1943ENIAC (1943--4)4)~30 ~30 τόνουςτόνους2.4 m2.4 m x x 0.9 m0.9 m x x 30 m30 m
20072007128MB ROM / 64MB RAM 128MB ROM / 64MB RAM 400MHz Samsung CPU 400MHz Samsung CPU >> 1 G1 GΒΒ (1024 MB) storage card(1024 MB) storage card((LME for Pocket PCLME for Pocket PC, .net, Java, .net, Java ))

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 88©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΒασικάΒασικά στοιχείαστοιχεία ψηφιακώνψηφιακών ΗΗ//ΥΥΒασικέςΒασικές λειτουργίεςλειτουργίες::
αποθήκευσηαποθήκευση πληροφοριώνπληροφοριώνανάκλησηανάκληση πληροφοριώνπληροφοριώνταχύτατηταχύτατη εκτέλεσηεκτέλεση μαθηματικώνμαθηματικών πράξεωνπράξεων
ΛογισμικόΛογισμικό(software(software):):ΠρογράμματαΠρογράμματα ΗΗ//ΥΥ::
ΠρογράμματαΠρογράμματα συστημάτωνσυστημάτων: : λλειτουργικάειτουργικά συστήματασυστήματα (Unix, MSDOS, (Unix, MSDOS, Windows, Linux, Windows, Linux, κλπκλπ), ), μεταγλωττιστέςμεταγλωττιστές, , κλπκλπ. .
ΠρογράμματαΠρογράμματα εφαρμογώνεφαρμογών: : ππ..χχ. Notepad, Word, Excel, . Notepad, Word, Excel, PowerpointPowerpoint, , ΟΟutlookutlook, Netscape, Internet Explorer, , Netscape, Internet Explorer, MatlabMatlab, , MathcadMathcad, , AutocadAutocad, , κλπκλπ..
ΔεδομέναΔεδομένα προγραμμάτωνπρογραμμάτων ΗΗ//ΥΥ
ΥλικόΥλικό ((hardware):hardware):ΒασικήΒασικήαρχιτεκτονικήαρχιτεκτονική::
Έξοδος αποτελεσμάτων(Output data)
Eίσοδος δεδομένων(input data)
K.M.E. (CPU)
Επεξεργαστής(processor)
Πρωτεύωνμνήμη (RAM)

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 99©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠρόγραμμαΠρόγραμμα αριθμητικώναριθμητικών υπολογισμώνυπολογισμών: Matlab: Matlab

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 1010©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠεριβάλλονΠεριβάλλον καικαι παράθυραπαράθυρα MatlabMatlab

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 1111©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΦάκελοςΦάκελος εργασίαςεργασίας MatlabMatlab

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 1212©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠληροφορίεςΠληροφορίες//βοήθειαβοήθεια γιαγια τοτο MatlabMatlab
ΕκκίνησηΕκκίνηση προγράμματοςπρογράμματος
>> help>> help ( ( >> more on>> more on))
>> help >> help matlabmatlab\\general >> help beepgeneral >> help beep
>> demos >> demos
ΙστοσελίδαΙστοσελίδα κατασκευαστώνκατασκευαστών:: http://http://www.mathworks.comwww.mathworks.com
>> doc>> doc
>> >> lookforlookfor <XYZ> <XYZ>
ΧρήσηΧρήση σανσαν απλήαπλή υπολογιστικήυπολογιστική

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 1313©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
( )^* , /+ , -< , <= , == , => , >& , |
ΒασικέςΒασικές λειτουργίεςλειτουργίες MatlabMatlab
(17+3)/2+6/3
>> whoYour variables are:
a ans r >> clear>> whos
>> pians = 3.1416
>> r = 5r =5
>> pi * r ^ 2ans = 78.5398
>> a = ans;>> a
a = 78.5398>> a = pi * r ^ 2
a = 78.5398
ΤελεστέςΤελεστές::
ΠροτεραιότηταΠροτεραιότητα τελεστώντελεστών
ΑριθμητικέςΑριθμητικές εκφράσειςεκφράσεις
ΜεταβλητέςΜεταβλητές::
>> help ops
>> help colon
17+3/2+6/3

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 1414©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΑριθμητικοίΑριθμητικοί τελεστέςτελεστές
Plus Plus + + Unary plus Unary plus + + Minus Minus --Unary minus Unary minus --Matrix multiply Matrix multiply * * Array multiply Array multiply .* .* Matrix power Matrix power ^ ^ Array power Array power .^ .^ Backslash or left matrix divide Backslash or left matrix divide \\ ((INV(A)*B INV(A)*B ))Slash or right matrix divide Slash or right matrix divide / / ((A*INV(B)A*INV(B)))Left array divide Left array divide ..\\ ((elementelement--byby--element divisionelement division))Right array divide Right array divide ./ ./ ((elementelement--byby--element divisionelement division))

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 1515©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠροτεραιότηταΠροτεραιότητα τελεστώντελεστώνtranspose (.'), power (.^), complex conjugatetranspose (.'), power (.^), complex conjugate transpose ('), matrix power (^)transpose ('), matrix power (^)
unary plus (+), unary minus (unary plus (+), unary minus (--), logical negation (~)), logical negation (~)
multiplication (.*), right division (./), leftmultiplication (.*), right division (./), left division (.division (.\\), ), matrix multiplication (*), matrix right division (/), matrix lefmatrix multiplication (*), matrix right division (/), matrix left division (t division (\\))
addition (+), subtraction (addition (+), subtraction (--))
colon operator (:)colon operator (:)
less than (<), less than or equal to (<=), greater thanless than (<), less than or equal to (<=), greater than (>), (>), greater than or equal to (>=), equal to (==), notgreater than or equal to (>=), equal to (==), not equal to (~=)equal to (~=)
shortshort--circuit logical AND (&&)circuit logical AND (&&)
shortshort--circuit logical OR (||)circuit logical OR (||)

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 1616©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΤριγονομετρικέςΤριγονομετρικές συναρτήσειςσυναρτήσεις
sin - Sine.
sind - Sine of argument in degrees.
sinh - Hyperbolic sine.
asin - Inverse sine.
asind - Inverse sine, result in degrees.
asinh - Inverse hyperbolic sine.
cos - Cosine.
cosd - Cosine of argument in degrees.
cosh - Hyperbolic cosine.
acos - Inverse cosine.
acosd - Inverse cosine, result in degrees.
acosh - Inverse hyperbolic cosine.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 1717©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
tan - Tangent.
tand - Tangent of argument in degrees.
tanh - Hyperbolic tangent.
atan - Inverse tangent.
atand - Inverse tangent, result in degrees.
atan2 - Four quadrant inverse tangent.
atanh - Inverse hyperbolic tangent.
sec - Secant.
secd - Secant of argument in degrees.
sech - Hyperbolic secant.
asec - Inverse secant.
asecd - Inverse secant, result in degrees.
asech - Inverse hyperbolic secant.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 1818©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
csc - Cosecant.
cscd - Cosecant of argument in degrees.
csch - Hyperbolic cosecant.
acsc - Inverse cosecant.
acscd - Inverse cosecant, result in degrees.
acsch - Inverse hyperbolic cosecant.
cot - Cotangent.
cotd - Cotangent of argument in degrees.
coth - Hyperbolic cotangent.
acot - Inverse cotangent.
acotd - Inverse cotangent, result in degrees.
acoth - Inverse hyperbolic cotangent.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 1919©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΕκθετικέςΕκθετικές//ΛογαριθμικέςΛογαριθμικές συναρτήσειςσυναρτήσεις
exp - Exponential.
log - Natural logarithm.
log10 - Common (base 10) logarithm.
log2 - Base 2 logarithm and dissect floating point number.
pow2 - Base 2 power and scale floating point number.
realsqrt - Square root of number greater than or equal to zero.
sqrt - Square root.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 2020©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΣυναρτήσειςΣυναρτήσεις στρογγυλοποιήσεωνστρογγυλοποιήσεων
fix - Round towards zero.
floor - Round towards minus infinity.
ceil - Round towards plus infinity.
round - Round towards nearest integer.
mod - Modulus (signed remainder after division).
rem - Remainder after division.
sign - Signum.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 2121©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
>> x = 1.333>> x = 1.333x =x =
1.33301.3330
>> >> floorfloor(x)(x)ans =ans =
11
>> >> ceilceil(x)(x)ans =ans =
22
>> >> round(x)round(x)ans =ans =
11
x =x =--0.66670.6667
>> >> floorfloor(x)(x)ans =ans =
--11
>> >> ceilceil(x)(x)ans =ans =
00
>> round(x)>> round(x)ans =ans =
--11>> >>

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 2222©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΔιανύσματαΔιανύσματα καικαι μητρώαμητρώα
>> a(2)
>> a(1) = 6;>> a
>> c(2,3)
>> c(1,1:2)
>> c(2,2) = -5;>> c
2
11
6 7
623
6 7 89 -5 11

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 2323©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
6
4 58 10
12 15
4462
1 2 36 97 108 11
>> d = a * b
>> e = c * a
>> a’
>> c’
>> sum(a)

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 2424©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
x = [ 1 2 34 1 1 ]
y = [ 4 2 13 1 2 ] v = x .* y
>> w = x * y’
u = x * y
= [ 4 4 312 1 2 ]
= [ 11 1119 15 ]
>> inv(w) = [ -0.3409 0.25000.4318 -0.2500 ]
>> w * inv(w) = [ 1.0 0.00.0 1.0 ]
>> det(w) = -44
>> eye(3)
= [ 1.0 0.0 0.00.0 1.0 0.00.0 0.0 1.0 ]
>> zeros(2,3)
= [ 0.0 0.0 0.00.0 0.0 0.0 ]

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 2525©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
>> a = [ 1 2 3>> a = [ 1 2 34 5 6]4 5 6]
a =a =1 2 31 2 34 5 64 5 6
>> b = [ 0 1 ; 2 0 ; 3 4]>> b = [ 0 1 ; 2 0 ; 3 4]
b =b =0 10 12 02 03 43 4
>> >> a*ba*bans =ans =
13 13 131328 28 2828
>> c = a * b>> c = a * bc =c =
13 13 131328 28 2828
>> z = a .* b'>> z = a .* b'z =z =
0 4 90 4 94 0 244 0 24

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 2626©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
>> format >> format compactcompact>> a=rand(3,3)>> a=rand(3,3)a =a =
0.1897 0.3028 0.69790.1897 0.3028 0.69790.1934 0.5417 0.37840.1934 0.5417 0.37840.6822 0.1509 0.86000.6822 0.1509 0.8600
>> b=eye(3)*4>> b=eye(3)*4b =b =
4 0 04 0 00 4 00 4 00 0 40 0 4
>> >> inv(binv(b)*a)*aansans ==
0.0474 0.0757 0.17450.0474 0.0757 0.17450.0484 0.1354 0.09460.0484 0.1354 0.09460.1706 0.0377 0.21500.1706 0.0377 0.2150
>> a/b>> a/bansans ==
0.0474 0.0757 0.17450.0474 0.0757 0.17450.0484 0.1354 0.09460.0484 0.1354 0.09460.1706 0.0377 0.21500.1706 0.0377 0.2150
>> b>> b\\aaansans ==
0.0474 0.0757 0.17450.0474 0.0757 0.17450.0484 0.1354 0.09460.0484 0.1354 0.09460.1706 0.0377 0.21500.1706 0.0377 0.2150

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 2727©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠληροφορίεςΠληροφορίες πινάκωνπινάκωνsize - Size of array.
length - Length of vector.
numel - Number of elements.
disp - Display matrix or text.
ΒασικοίΒασικοί πίνακεςπίνακεςzeros - Zeros array.
ones - Ones array.
eye - Identity matrix.
rand - Uniformly distributed random numbers.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 2828©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΣυναρτήσειςΣυναρτήσεις πινάκωνπινάκων
rank - Matrix rank.
det - Determinant.
trace - Sum of diagonal elements.
\ and / - Linear equation solution.
inv - Matrix inverse.
eig - Eigenvalues and eigenvectors.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 2929©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΑνάλυσηΑνάλυση δεδομένωνδεδομένων
max - Largest component.
min - Smallest component.
mean - Average or mean value.
median - Median value.
std - Standard deviation.
var - Variance.
sort - Sort in ascending order.
sortrows - Sort rows in ascending order.
sum - Sum of elements.
prod - Product of elements.
hist - Histogram.
cumsum - Cumulative sum of elements.
cumprod - Cumulative product of elements.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 3030©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΓραφικέςΓραφικές απεικονίσειςαπεικονίσεις σημείωνσημείων
>> x1 = 5;>> y1 = 7;
>> plot(x1,y1,'*')% Σχεδιασμός σημείων (x1,y1)
>> grid on% Προσθήκη κύριων γραμμών στο διάγραμμα
>> title('Sxediash Shmeioy')% Προσθήκη τίτλου
>> xlabel('X')>> ylabel('Y') % Προσθήκη τίτλων στους άξονες σχεδίασης

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 3131©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΓραφικέςΓραφικές απεικονίσειςαπεικονίσεις σημείωνσημείων
>> clf>> x1 = 5;>> y1 = 7;>> plot(x1,y1,'*')>> grid on>> title('Sxediash Shmeioy')>> xlabel('X')>> ylabel('Y')
>> hold on>> axis equal>> myAxes = [ 1 10 4 9 ]; >> axis(myAxes) >> plot(7,6,'o')

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 3232©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΓραφικέςΓραφικές απεικονίσειςαπεικονίσεις σημείωνσημείων καικαι ευθειώνευθειών>> clf ; clear;>> x1 = 5; y1 = 7;>> x2 = 7; y2 = 6;>> x3 = 4.2; y3 = 5.5;>> x = [x1 x2 x3];>> y = [y1 y2 y3];>> axis equal>> axis([ 1 10 4 9 ]);>> hold on>> plot(x,y,’*')>> x(4)=x1; y(4)=y1;>> plot(x,y) >> grid on>> title(’Sxediasmos shmeiwn kai trigwnoy')>> xlabel('X')>> ylabel('Y')

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 3333©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΓραφικέςΓραφικές παραστάσειςπαραστάσεις>> x = 0:0.25:15; (αρχή:βήμα:τέλος)% Αυτόματος καθορισμός διανύσματος με τιμές γωνιών
>> y = sin(x);% Αυτόματος υπολογισμός διανύσματος με τιμές ημιτόνων
>> plot(x,y)% Σχεδιασμός σημείων (x,y)
>> grid on% Προσθήκη κύριων γραμμών στο διάγραμμα
>> title('Sxediash Hmitonoy')% Προσθήκη τίτλου
>> xlabel('X')>> ylabel('Y') % Προσθήκη τίτλων στους άξονες σχεδίασης

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 3434©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠαράδειγμαΠαράδειγμαΣχεδιάστε την γραφική παράσταση της εξίσωσης:
όπου: 0 <= theta <= 100
>> clf>> clear>> theta = 0:0.5:100>> z = 15*cos(theta/2) >> z = z + 7.5 * sin(theta/5);>> plot(theta,z)>> grid on>> title('Askhsh 2h')>> xlabel('Theta')>> ylabel('Z')

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 3535©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠαράδειγμαΠαράδειγμα
dx=10x1=0:0.1:dx;y1=cos(x1);plot(x1,y1);grid onhold onaxis([-2 30 -2 30])
x2=x1;y2=7.5+cos(x2/dx*2*pi);plot(x2,y2, ’g--');
x4=x1+5;y4=22.5+5*cos((x3-5)/dx*2*pi);plot(x4,y4, 'r');
x3=x1+5;y3=15+cos((x3-5)/dx*2*pi);plot(x3,y3, ’k');

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 3636©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠολλαπλέςΠολλαπλές γραφικέςγραφικές παραστάσειςπαραστάσεις>> figure(1)
>> clf
>> x = 0:0.25:15;
>> y = sin(x);
>> plot(x,y,’r’)
>> grid on
>> title('Sxediash Hmitonoy')
>> xlabel('X')
>> ylabel(’Hmitono,Synhmitono‘)
>> z = cos(x);
>> hold on
>> plot(x,z)
>> plot(x,z,’or’) Eναλλακτικά: plot(x,y,'r',x,z, x,z,'or')

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 3737©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠολλαπλάΠολλαπλά γραφικάγραφικά σχήματασχήματαfigure(2)subplot(3,2,1)plot(x,y,'-')title('X-Y Plot ')subplot(3,2,3)plot(x,y,'--')grid ontitle('X-Y Plot with grid')
subplot(3,2,4)plot(x,z)grid ontitle('X-Z Plot with grid')
subplot(3,2,6)plot(x,z, 'o')title('X-Z Plot: o ')
subplot(3,2,5)plot(x,z, '*')title('X-Z Plot: *')

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 3838©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΓραφικέςΓραφικές παραστάσειςπαραστάσεις καικαι απεικονίσειςαπεικονίσεις: :
Σχεδιάστε τα σημεία (-3,-2), (0,1), (2,2), (4,5) και (7,9) χρησιμοποιώντας το σύμβολα ‘ο’ και διακεκομμένη γραμμήστο 3ον τομέα ενός σχήματος αποτελούμενου από 2 γραμμέςκαι 2 στήλες, όπως πιο κάτω:
>> x = [ -3 0 2 4 7 ];>> y = [ -2 1 2 5 9 ]>> subplot(2,2,3)>> plot(x,y,'o')>> grid on>> hold on>> plot(x,y,'--')

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 3939©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΒασικέςΒασικές συναρτήσειςσυναρτήσεις δισδιάστατωνδισδιάστατων γραφικώνγραφικών
plot - Linear plot.
loglog - Log-log scale plot.
semilogx - Semi-log scale plot.
semilogy - Semi-log scale plot.
plotyy - Graphs with y tick labels on the left and right.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 4040©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
axis - Control axis scaling and appearance.
zoom - Zoom in and out on a 2-D plot.
grid - Grid lines.
box - Axis box.
hold - Hold current graph.
subplot - Create axes in tiled positions.
plotedit - Tools for editing and annotating plots.
title - Graph title.
xlabel - X-axis label.
ylabel - Y-axis label.
text - Text annotation.
gtext - Place text with mouse.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 4141©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΤρισδιάσταταΤρισδιάστατα γραφικάγραφικά
>> >> x=0:0.02:10x=0:0.02:10;;
>> y=>> y=sin(xsin(x))
>> z=>> z=cos(xcos(x))
>> plot3(x,y,z)>> plot3(x,y,z)
>> grid on>> grid on
>> >> xlabel('Xxlabel('X')')
>> >> ylabel('Yylabel('Y')')
>> >> zlabel('Zzlabel('Z')')
>> >> title('Usingtitle('Using plot3')plot3')

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 4242©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
plot3 - Plot lines and points in 3-D space.
mesh - 3-D mesh surface.
surf - 3-D colored surface.
fill3 - Filled 3-D polygons.
ΒασικέςΒασικές συναρτήσειςσυναρτήσεις τρισδιάστατωντρισδιάστατων γραφικώνγραφικών

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 4343©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
axis - Control axis scaling and appearance.
grid - Grid lines.
box - Axis box.
hold - Hold current graph.
axes - Create axes in arbitrary positions.
subplot - Create axes in tiled positions.
daspect - Data aspect ratio.
pbaspect - Plot box aspect ratio.
xlim - X limits.
ylim - Y limits.
zlim - Z limits.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 4444©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
area - Filled area plot.
bar - Bar graph.
barh - Horizontal bar graph.
comet - Comet-like trajectory.
compass - Compass plot.
feather - Feather plot.
fill - Filled 2-D polygons.
hist - Histogram.
pie - Pie chart.
ΕξειδικευμένεςΕξειδικευμένες συναρτήσειςσυναρτήσεις δισδιάστατωνδισδιάστατων γραφικώνγραφικών

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 4545©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
figure - Create figure window.
clf - Clear current figure.
close - Close figure.
refresh - Refresh figure.
subplot - Create axes in tiled positions.
axis - Control axis scaling and appearance.
box - Axis box.
hold - Hold current graph.
ishold - Return hold state.
ΓενικέςΓενικές συναρτήσειςσυναρτήσεις γραφικώνγραφικών

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 4646©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΑρχείαΑρχεία MatlabMatlab: : αρχείααρχεία ΜΜ (M(M--files)files)
>> >> myMFilemyMFile
myMFile.mmyMFile.m
FileSet Path

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 4747©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΑρχείαΑρχεία δεδομένωνδεδομένων MatlabMatlab
>> load >> load w.datw.dat
>> w>> w
>> w(2,1)>> w(2,1)
4 5 6 7 8 9
7

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 4848©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΑρχείαΑρχεία Matlab: Matlab: loadload//savesave
>> x = 1:2:11; >> x = 1:2:11;
>> y = [4 7 >> y = [4 7 --3 2];3 2];
>> >> savesave C:C:\\mySaved1 xmySaved1 x % % Save workspace variables to diskSave workspace variables to disk
>> >> savesave C:C:\\mySaved2mySaved2
>> clear all>> clear all
>> >> loadload C:C:\\mySaved1mySaved1 % % Load workspace variables from diskLoad workspace variables from disk
>> x>> x
>> y>> y
>> >> loadload C:C:\\mySaved2mySaved2
>> y>> y
1 3 5 7 9 11
??? Undefined function or variable ’y'.
4 7 -3 2

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 4949©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΣχεδίασηΣχεδίαση μεμε βάσηβάση αρχείααρχεία MatlabMatlab
>> temperatures
temps.dat
temperatures.m

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 5050©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΑρχείαΑρχεία συναρτήσεωνσυναρτήσεων MatlabMatlab
myMFile1.m myMFile1.m
a = 2.5;a = 2.5;
e = pi * a ^ 2;e = pi * a ^ 2;
>> myMFile1>> ee = 19.634954
• Απλές εντολές σε M-file:
myFunction1.m myFunction1.m functionfunction embadoembado=myFunction1(x)=myFunction1(x)
embadoembado = pi * x ^2;= pi * x ^2;
returnreturn
>> e = myFunction1(10)e = 314.1593
>> myFunction1(0.5)ans = 0.7854
>> x=myFunction1(17.5)x = 962.1128
• Συναρτήσεις:

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 5151©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΣυναρτήσειςΣυναρτήσεις
myFun1.m myFun1.m function y=myFun1(x)function y=myFun1(x)y = x*x*x;y = x*x*x;
returnreturn
• Ορισμός συναρτήσεως: function apotelesma = synarthsh1(parametroi)
myFun2.m myFun2.m function myFun2(x,y)function myFun2(x,y)x + yx + y
returnreturn
>> clear all>> z=myFun1(8)>> y
??? Undefined function or variable 'y'.>> z
z = 512
>> myFun2(8,7)ans = 15
Ορισμόςσυνάρτησης
Σώμασυνάρτησης

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 5252©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΕπιστροφήΕπιστροφή πολλαπλώνπολλαπλών τιμώντιμών καικαι τοπικέςτοπικές μεταβλητέςμεταβλητές
functionfunction [a2,b3] = MyFun1(x,y)[a2,b3] = MyFun1(x,y)a2 = x^2;a2 = x^2;b3 = y^3;b3 = y^3;returnreturn
a2 = 75;a2 = 75;b3 = b3 = --45;45;x = 3;x = 3;y = y = --12;12;
[[k,mk,m] = ] = MyFun1MyFun1(2,5);(2,5);
kkmma2a2b3b3xxyy
>> >> testMyFun1testMyFun1k =k =
44
m =m =125125
a2 =a2 =7575
b3 =b3 =--4545
x =x =33
y =y =--1212

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 5353©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΣχετικοίΣχετικοί ττελεστέςελεστές ((Relational operatorsRelational operators))
> > < < > = > = < = < = = = = = ~ = ~ =
Equal Equal == ==
Not equal Not equal ~= ~=
Less than Less than < <
Greater than Greater than > >
Less than or equal <= Less than or equal <=
Greater than or equal >=Greater than or equal >=

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 5454©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΛογικοίΛογικοί ττελεστέςελεστές ((LogicalLogical operatorsoperators))
&&& & ||| | ~~
ShortShort--circuit logical AND && circuit logical AND &&
ShortShort--circuit logical OR || circuit logical OR ||
Logical NOT ~ Logical NOT ~

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 5555©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΛογικάΛογικά τεστςτεστς
>> x = 5;>> x = 5;
>> y = 7;>> y = 7;
>> x < y>> x < y
>> x >= y >> x >= y -- 3 3
>> x == y >> x == y -- 33
>> 0 < x >> 0 < x &&& x+2 > y& x+2 > y
>> 0 < x >> 0 < x |||| y > xy > x
>> ~ (x < 5) >> ~ (x < 5)
11
11
00
00
11
11

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 5656©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΔιακλαδώσειςΔιακλαδώσεις
if if έκφρασηέκφραση11
εκτελείταιεκτελείται μόνομόνο
αναν ηη έκφρασηέκφραση1 1
είναιείναι αληθήςαληθής
endend
if if έκφρασηέκφραση11εκτελείταιεκτελείται μόνομόνοαναν ηη έκφρασηέκφραση1 1 είναιείναι αληθήςαληθής
elseifelseif έκφρασηέκφραση22
εκτελείταιεκτελείται μόνομόνοαναν ηη έκφρασηέκφραση1 1 δενδεν είναιείναιαληθήςαληθής καικαι ηηέκφρασηέκφραση2 2 είναιείναιαληθήςαληθής
elseelseεκτελείταιεκτελείται ανανκαμίακαμία έκφρασηέκφρασηδενδεν είναιείναιαληθήςαληθής
endend
if if έκφρασηέκφραση11
εκτελείταιεκτελείται μόνομόνο
αναν ηη έκφρασηέκφραση1 1
είναιείναι αληθήςαληθής
elseelse
εκτελείταιεκτελείται μόνομόνο
αναν ηη έκφρασηέκφραση1 1
δενδεν είναιείναι
αληθήςαληθής
endend

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 5757©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠαράδειγμαΠαράδειγμα διακλαδώσεωνδιακλαδώσεων
rand1.m

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 5858©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΔομήΔομή ελέγχουελέγχου switchswitch
x=3x=3
switch xswitch xcase 1case 1
y1 = xy1 = xcase 3case 3
y3 = x+3 y3 = x+3 case 7case 7
y7 = x+777 y7 = x+777 otherwise otherwise
zzzz = x^2= x^2endend
>>>>
x =x =
33
y3 =y3 =
66

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 5959©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΔομήΔομή ελέγχουελέγχου switchswitch
xx == --44
switch xswitch xcase 1case 1
y1 = xy1 = xcase 3case 3
y3 = x+3 y3 = x+3 case 7case 7
y7 = x+777 y7 = x+777 otherwise otherwise
zzzz = x^2= x^2endend
>>>>
x =x =
--44
zzzz ==
1616

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 6060©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΒρόγχοιΒρόγχοι
forfor μεταβλητήμεταβλητή = = αρχικήαρχική τιμήτιμή : (: (προαιρετικόπροαιρετικό) ) βήμαβήμα : : τελικήτελική τιμήτιμήεντολέςεντολές
endend
for for ii==1:51:5disp(i^2)disp(i^2)
endend
149
1625
for for ii==5:5:--1:11:1if i == 3 if i == 3 continuecontinue
endenddisp(i^2)disp(i^2)
endend
25 16 41

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 6161©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΒρόγχοιΒρόγχοι ((συνεχσυνεχ.).)
i = 0;i = 0;while i<10while i<10i = i + 2i = i + 2
endenddisp(idisp(i))
whilewhile λογικήλογική έκφρασηέκφρασηεντολέςεντολές
endend
(μέσα στις οποίες πρέπει κάτι σχετικό με τηνλογική έκφραση να αλλάζει, ή να υπάρχει κάποιοbreak, ώστε να αποφεύγεται βρόγχος επ’άπειρον)
i = 2i = 2i = 4i = 4i = 6i = 6i = 8i = 8i = 10i = 101010
continue: continue: συνέχειασυνέχεια μεμε επόμενηεπόμενη εκτέλεσηεκτέλεση βρόγχουβρόγχου forfor ήή whilewhile
break: break: τερματισμόςτερματισμός εκτέλεσηςεκτέλεσης βρόγχωνβρόγχων forfor καικαι whilewhile
i = 0;i = 0;while 1while 1if i>=10if i>=10
breakbreakendendi = i + 2i = i + 2
endenddisp(idisp(i))

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 6262©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΔομέςΔομές ελέγχουελέγχου
if if -- Conditionally execute statements.Conditionally execute statements.
else else -- Execute statement if previous IF condition failed.Execute statement if previous IF condition failed.
elseifelseif -- Execute if previous IF failed and condition is true.Execute if previous IF failed and condition is true.
end end -- Terminate scope of control statements.Terminate scope of control statements.
for for -- Repeat statements a specific number of times.Repeat statements a specific number of times.
while while -- Repeat statements an indefinite number of times.Repeat statements an indefinite number of times.
break break -- Terminate execution of WHILE or FOR loop.Terminate execution of WHILE or FOR loop.
continue continue -- Pass control to the next iteration of a loop.Pass control to the next iteration of a loop.
switch switch -- Switch among several cases based on expression.Switch among several cases based on expression.
case case -- SWITCH statement case.SWITCH statement case.
otherwise otherwise -- Default SWITCH statement case.Default SWITCH statement case.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 6363©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΣύγκρισηΣύγκριση Matlab Matlab καικαι άλλωνάλλων γλωσσώνγλωσσώνπρογραμματισμούπρογραμματισμού
MatlabMatlab
σεσε σύγκρισησύγκριση μεμε::
FortranFortran
C/C++C/C++
Java Java
Visual Basic/VB Visual Basic/VB
.net.net
C#C#

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 6464©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΕίσοδοςΕίσοδος δεδομένωνδεδομένων//ΈξοδοςΈξοδος αποτελεσμάτωναποτελεσμάτων
io1.mio1.ma = a = inputinput('Aktina('Aktina kykloykykloy: ');: ');
p = 2 * pi * a;p = 2 * pi * a;
e = pi * a ^ 2;e = pi * a ^ 2;
fprintffprintf(' (' DokimhDokimh: %s ', 'Matlab'): %s ', 'Matlab')
fprintf('fprintf('\\nn AktinaAktina = %f ', a)= %f ', a)
fprintf('fprintf('\\nn PerimetrosPerimetros = %.3f ', p)= %.3f ', p)
fprintffprintf(' (' \\n n EpifaneiaEpifaneia = %f ', e)= %f ', e)
fprintffprintf(' p = %f (' p = %f \\t e = %f ', p, e)t e = %f ', p, e)
fprintffprintf(' %s = %f ', 'a', a)(' %s = %f ', 'a', a)
fprintffprintf(' %s = %f ', 97, a)(' %s = %f ', 97, a)
>> io1
Aktina kykloy: 5Dokimh: MatlabAktina = 5.0000Perimetros = 31.416Epifaneia = 78.539816p= 31.415927 e = 78.539816a = 5a = 5

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 6565©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΜορφοποίησηΜορφοποίηση αποτελεσμάτωναποτελεσμάτων
>> format long >> format long >> >> pipi
ansans = = 3.141592653589793.14159265358979
>> format short >> format short >> >> pi pi ansans = =
3.14163.1416
>> format compact>> format compact >> format loose>> format loose
>> format >> format short eshort e >> format >> format long elong e
>> format >> format long glong g >> format >> format long glong g
>> format >> format ++

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 6666©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
>> disp(pi) >> t= 'Testing’
>> disp(t)
Testing
3.1416
disp(x): παρουσιάζει τον πίνακα x
>> x = 4.5
>> disp x
x
>> disp(x)
4.5

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 6767©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΕκτέλεσηΕκτέλεση εντολώνεντολών υπόυπό μορφήμορφή χαρακτήρωνχαρακτήρων
>> s='2*3-5+3/2’
>> eval(s)
ans =2.5000
>> s2 = 'x = 45/9 >> s2 = 'x = 45/9 --2'2'
s2 =s2 =
x = 45/9 x = 45/9 --22
>> eval(s2)>> eval(s2)
x =x =
3.003.00

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 6868©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΜέγιστεςΜέγιστες καικαι ελάχιστεςελάχιστες τιμέςτιμές
>> realMax
ans =1.7977e+308
>> realMin
ans =2.2251e-308
INF : Infinity
NaN : Not-a-Number

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 6969©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΕντολέςΕντολές ΛειτουργικούΛειτουργικού ΣυστήματοςΣυστήματος
cdcd -- Change current working directory.Change current working directory.
copyfilecopyfile -- Copy file or directory.Copy file or directory.
movefilemovefile -- Move file or directory.Move file or directory.
delete delete -- Delete file or graphics object.Delete file or graphics object.
pwdpwd -- Show (print) current working directory.Show (print) current working directory.
dir dir -- List directory.List directory.
lsls -- List directory.List directory.
mkdirmkdir -- Make new directory.Make new directory.
rmdirrmdir -- Remove directory.Remove directory.
! ! -- Execute operating system command.Execute operating system command.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 7070©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΕντολέςΕντολές ΧώρουΧώρου ΕργασίαςΕργασίας ((workspaceworkspace))
who who -- List current variables.List current variables.
whoswhos -- List current variables, long form. List current variables, long form.
clear clear -- Clear variables and functions from memory.Clear variables and functions from memory.
load load -- Load workspace variables from disk.Load workspace variables from disk.
save save -- Save workspace variables to disk. Save workspace variables to disk.
quit quit -- Quit MATLAB session.Quit MATLAB session.
exit exit -- Exit from MATLAB.Exit from MATLAB.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 7171©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΕντολέςΕντολές ελέγχουελέγχου
what what -- List MATLABList MATLAB--specific files in directory.specific files in directory.
type type -- List MList M--file.file.
open open -- Open files by extension.Open files by extension.
which which -- Locate functions and files.Locate functions and files.

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 7272©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
now - Current date and time as date number.
date - Current date as date string.
clock - Current date and time as date vector.
datestr - String representation of date.
calendar - Calendar.
cputime - CPU time in seconds.
tic - Start stopwatch timer.
toc - Stop stopwatch timer.
pause - Wait in seconds.
ΧρονικέςΧρονικές συναρτήσειςσυναρτήσεις

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 7373©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΑριθμητικέςΑριθμητικές μέθοδοιμέθοδοι
•• ΕπίλυσηΕπίλυση προβλημάτωνπροβλημάτων τωντων οποίωνοποίων δενδεν υπάρχουνυπάρχουν ήή δενδεν έχουνέχουνβρεθείβρεθεί ακόμηακόμη αναλυτικέςαναλυτικές λύσειςλύσεις..
•• ΣειράΣειρά συγκεκριμένωνσυγκεκριμένων βημάτωνβημάτων υπολογισμώνυπολογισμών μεμε στόχοστόχο τηντην εύρεσηεύρεση
μιαςμιας έστωέστω προσεγγιστικήςπροσεγγιστικής λύσηςλύσης μεμε ικανοποιητικήικανοποιητική ακρίβειαακρίβεια..
•• ΧαρακτηριστικάΧαρακτηριστικά μιαςμιας καλήςκαλής αριθμητικήςαριθμητικής μεθόδουμεθόδου::•• ΑΑκρίβειακρίβεια λύσηςλύσης ((μικρήμικρή διαφοράδιαφορά απόαπό πραγματικήπραγματική λύσηλύση))•• ΚόστοςΚόστος λύσηςλύσης ((απαιτούμενοςαπαιτούμενος χρόνοςχρόνος επίλυσηςεπίλυσης))•• ΣύγκλισηΣύγκλιση καικαι ευστάθειαευστάθεια μεθόδουμεθόδου
•• ΣφάλματαΣφάλματα::
•• απόλυτοαπόλυτο σφάλμασφάλμα ((ππ.x..x. | | ΥΥπροσεγπροσεγ. . -- ΥΥακριβέςακριβές |)|)
•• σχετικόσχετικό σφάλμασφάλμα ((ππ..χχ. | . | ΥΥπροσεγπροσεγ. . -- ΥΥακριβέςακριβές | / | | / | ΥΥακριβέςακριβές |)|)

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 7474©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΑριθμητικήΑριθμητική επίλυσηεπίλυση μημη--γραμμικώνγραμμικών εξισώσεωνεξισώσεων
•• ΈχονταςΈχοντας μιαμια συνάρτησησυνάρτηση νανα βρεθείβρεθεί ((ήή νανα βρεθούνβρεθούν) ) ηη ρίζαρίζα ((ρίζεςρίζες) ) γιαγιατιςτις οποίεςοποίες ηη συνάρτησησυνάρτηση ισούταιισούται μεμε μηδένμηδέν: : Y = f(x) = 0.0Y = f(x) = 0.0
ΔηλαδήΔηλαδή τατασημείασημεία όπουόπουτέμνεταιτέμνεται οοάξοναςάξονας τωντων ΧΧ

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 7575©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΜέθοδοςΜέθοδος διχοτόμησηςδιχοτόμησης
1. 1. ΕντοπίστεΕντοπίστε έναέναδιάστημαδιάστημα πουπουσυμπεριλαμβάνεισυμπεριλαμβάνει τηντηναναζητούμενηαναζητούμενη ρίζαρίζα..
2. 2. ΜοιράστεΜοιράστε τοτο διάστημαδιάστημααυτόαυτό στοστο μισόμισό καικαικρατήστεκρατήστε τοτο μισόμισό πουπουσυμπεριλαμβάνεισυμπεριλαμβάνει τηντηνρίζαρίζα
3. 3. ΕπαναλάβετεΕπαναλάβετε τοτο βήμαβήμα 2 2 μέχριμέχρι νανα προσεγγιστείπροσεγγιστεί ικανοποιητικάικανοποιητικά ηηαναζητούμενηαναζητούμενη ρίζαρίζα ((δηλαδήδηλαδή νανα επιτευχθείεπιτευχθεί ικανοποιητικήικανοποιητική σύγκλισησύγκλιση))

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 7676©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΑριθμητικήΑριθμητική ολοκλήρωσηολοκλήρωση
•• ΈχονταςΈχοντας μιαμια συνάρτησησυνάρτηση Y=f(X)Y=f(X) νανα υπολογιστείυπολογιστεί τοτο ολοκλήρωμαολοκλήρωμα τηςτηςσυνάρτησηςσυνάρτησης απόαπό κάποιακάποια τεταγμένητεταγμένη x1 x1 ωςως κάποιακάποια άλληάλλη τεταγμένητεταγμένηx2.x2.
ΔηλαδήΔηλαδή τοτοεμβαδόεμβαδό μεταξύμεταξύτηςτης καμπύληςκαμπύληςκαικαι τουτου άξοναάξονατωντων x x απόαπό x1 x1 ωςως x2:x2:
x1 x2

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 7777©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010 x1 x2
xα xβ
f(xα) f(xβ)
OOλοκλήρωσηλοκλήρωση μεμε τηντην μέθοδομέθοδο τραπεζίουτραπεζίου•• ΠροσέγγισηΠροσέγγιση εμβαδούεμβαδού μεμε τοτο άθροισμαάθροισμα αριθμούαριθμού τραπεζίωντραπεζίων
•• ΕμβαδόΕμβαδό λωρίδαςλωρίδαςπλάτουςπλάτους ΔΧΔΧ βάσηβάσητύπουτύπου τραπεζίουτραπεζίου

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 7878©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΑλγόριθμοιΑλγόριθμοι
ΟρισμόςΟρισμός καικαι πλήρηςπλήρης κατανόησηκατανόηση τουτου προβλήματοςπροβλήματος προςπρος επίλυσηεπίλυση
ΚαθορισμόςΚαθορισμός ενόςενός αλγόριθμουαλγόριθμου, , δηλαδήδηλαδή μιαςμιας συγκεκριμένηςσυγκεκριμένηςδιαδικασίαςδιαδικασίας βημάτωνβημάτων τατα οποίαοποία οδηγούνοδηγούν σεσε συγκεκριμένασυγκεκριμένααποτελέσματααποτελέσματα μεμε ικανοποιητικάικανοποιητικά ελάχιστοελάχιστο δυνατόδυνατό κόστοςκόστος ((μνήμηςμνήμηςκαικαι χρόνουχρόνου))
ΥλοποίησηΥλοποίηση τουτου αλγορίθμουαλγορίθμου σεσε υπορουτίναυπορουτίνα//προγράμμαπρογράμμα μεμε χρήσηχρήσηκάποιαςκάποιας κατάλληληςκατάλληλης γλώσσαςγλώσσας προγραμματισμούπρογραμματισμού
ΈλεγχοςΈλεγχος τηςτης υπορουτίναςυπορουτίνας//προγράμματοςπρογράμματος γιαγια διάφορεςδιάφορεςπεριπτώσειςπεριπτώσεις δεδομένωνδεδομένων, , ειδικάειδικά όλωνόλων τωντων ακραίωνακραίων περιπτώσεωνπεριπτώσεων. .
ΧρήσηΧρήση υπορουτίναςυπορουτίνας//προγράμματοςπρογράμματος γιαγια επίλυσηεπίλυση σχετικώνσχετικώνπροβλημάτωνπροβλημάτων. .

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 7979©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
AAλγόριθμοιλγόριθμοι ταξινόμησηςταξινόμησης ((Sorting methodsSorting methods))
•• ΜεθόδοιΜεθόδοι ταξινόμησηςταξινόμησης ((ΝΝ) ) στοιχείωνστοιχείων::
•• απλέςαπλές μέθοδοιμέθοδοι: : συνήθωςσυνήθως απαιτούναπαιτούν βήματαβήματα τάξηςτάξης ΟΟ((ΝΝ^2)^2)))•• μέθοδοςμέθοδος ταξινόμησηςταξινόμησης μεμε εισαγωγήεισαγωγή ((insertion sortinsertion sort))
•• μέθοδοςμέθοδος ταξινόμησηςταξινόμησης μεμε επιλογήεπιλογή ((selection sortselection sort))
•• μέθοδοςμέθοδος ταξινόμησηςταξινόμησης τύπουτύπου κελύφουςκελύφους ((shellsortshellsort), ), κλπκλπ..
•• προχωρημένεςπροχωρημένες μέθοδοιμέθοδοι: : συνήθωςσυνήθως απαιτούναπαιτούν βήματαβήματα τάξηςτάξης ΟΟ((ΝΝ.logN.logN))))•• γρήγορηγρήγορη μέθοδοςμέθοδος ταξινόμησηςταξινόμησης ((quicksortquicksort))
•• μέθοδοςμέθοδος ταξινόμησηςταξινόμησης μεμε συγχώνευσησυγχώνευση ((mergesortmergesort))
•• ΗΗ ταξινταξινόόμησημηση είναιείναι χρήσιμηχρήσιμη σεσε πολλάπολλά προβλήματαπροβλήματα, , ππ..χχ. . γιαγια τηντηνδιευκόλυνσηδιευκόλυνση τηςτης αναζήτησηςαναζήτησης ενόςενός στοιχείουστοιχείου απόαπό πλήθοςπλήθος στοιχείωνστοιχείων
5 5 --2 6 4 23 7 45 3 9 0 2 6 4 23 7 45 3 9 0 --3 4 7 3 4 7 --3 5 6 3 5 6 --4 11 4 11
--4 4 --3 3 --3 3 --2 0 3 4 4 5 5 6 6 7 7 9 2 0 3 4 4 5 5 6 6 7 7 9 11 23 4511 23 45

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 8080©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠαράδειγμαΠαράδειγμα:: αλγόριθμοςαλγόριθμος ταξινόμησηςταξινόμησης τύπουτύπου εισαγωγήςεισαγωγής
•• ΘεωρώνταςΘεωρώντας ότιότι τατα στοιχείαστοιχεία είναιείναι αποθηκευμένααποθηκευμένα σεσε έναένα διάνυσμαδιάνυσμα ΑΑ
•• ΣεΣε κάθεκάθε βήμαβήμα τοτο στοιχείοστοιχείο A(i)A(i) πρέπειπρέπει νανα εισαχθείεισαχθεί στηνστην σωστήσωστή θέσηθέση αναμέσααναμέσα στασταήδηήδη ταξινομημέναταξινομημένα απόαπό τατα προηγούμεναπροηγούμενα βήματαβήματα στοιχείαστοιχεία A(0),A(0), A(1),A(1), …….,.,A(iA(i--1)1)
ΥλοποίησηΥλοποίηση αλγορίθμουαλγορίθμου χρησιμοποιώνταςχρησιμοποιώντας τοτο MatlabMatlab::
function aSorted = insertionSort(a)aSorted=a;for stoixeio = 2 : length(a)
value = aSorted(stoixeio);thesh = stoixeio;while thesh>1 && aSorted(thesh-1) > value
aSorted(thesh) = aSorted(thesh-1); thesh = thesh-1;
endaSorted(thesh)=value;disp(aSorted);
endreturn
ΕσωτερικόςβρόγχοςΕξωτερικός
βρόγχος

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 8181©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠαράδειγμαΠαράδειγμα εφαρμογήςεφαρμογής αλγόριθμουαλγόριθμου ταξινόμησηςταξινόμησης τύπουτύπουεισαγωγήςεισαγωγής
3 3 --44 2 2 --6 7 0 3 6 7 0 3 --1 2 1 2
--44 33 22 --6 7 0 3 6 7 0 3 --1 21 2
--4 4 22 33 --66 7 0 3 7 0 3 --1 21 2
--66 --4 2 34 2 3 77 0 3 0 3 --1 21 2
--6 6 --4 2 3 4 2 3 77 00 3 3 --1 21 2
--6 6 --4 4 0 0 2 32 3 7 7 3 3 --1 21 2
--6 6 --4 0 2 3 4 0 2 3 33 77 --11 22
--6 6 --4 4 --11 0 2 3 3 70 2 3 3 7 22
--6 6 --4 4 --1 0 1 0 2 2 2 3 32 3 3 77

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 8282©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
AAλγόριθμοιλγόριθμοι αναζήτησηςαναζήτησης στοιχείωνστοιχείων ((Searching methodsSearching methods))
•• ΜεθόδοιΜεθόδοι αναζήτησηςαναζήτησης ((ΝΝ) ) στοιχείωνστοιχείων::•• γραμμικήγραμμική αναζήτησηαναζήτηση ((Linear searchLinear search): ): απαιτούνταιαπαιτούνται βήματαβήματα τάξεωςτάξεως O(N)O(N)
•• δυαδικήδυαδική αναζήτησηαναζήτηση ((Binary searchBinary search): ): απαιτούνταιαπαιτούνται βήματαβήματα τάξεωςτάξεως O(logNO(logN))
ΗΗ αναζήτησηαναζήτηση στοιχείωνστοιχείων διευκολύνεταιδιευκολύνεται απόαπό τηντην ταξινταξινόόμησημηση τωντων στοιχείωνστοιχείων
ΑςΑς υποθέσομευποθέσομε νανα βρούμεβρούμε έναένα στοιχείοστοιχείο μεμε κλειδίκλειδί τοντον αριθμόαριθμό 99
5 5 --2 6 4 23 7 45 3 2 6 4 23 7 45 3 99 0 0 --3 4 7 3 4 7 --3 5 6 3 5 6 --4 11 4 11
--4 4 --3 3 --3 3 --2 0 3 4 4 5 5 6 6 7 7 9 2 0 3 4 4 5 5 6 6 7 7 9 11 23 4511 23 45
ΓραμμικήΓραμμική αναζήτησηαναζήτηση (Linear search)(Linear search)
ΔυαδικήΔυαδική αναζήτησηαναζήτηση ((ΒΒinaryinary search)search)

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 8383©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠαράδειγμαΠαράδειγμα:: αλγόριθμοςαλγόριθμος δυαδικήςδυαδικής αναζήτησηςαναζήτησης στοιχείωνστοιχείων•• ΘεωρώνταςΘεωρώντας ότιότι τατα στοιχείαστοιχεία είναιείναι ταξινομημέναταξινομημένα σεσε έναένα διάνυσμαδιάνυσμα ΑΑ
διαστάσεωςδιαστάσεως ΝΝ χρησιμοποιούμεχρησιμοποιούμε τοτο ““διαίρειδιαίρει καικαι βασίλευεβασίλευε””
•• ΜοιράζονταςΜοιράζοντας τοτο διάνυσμαδιάνυσμα στηνστην μέσημέση, , κρατάμεκρατάμε τοτο μισόμισό όπουόπου μπορείμπορεί ναναβρίσκεταιβρίσκεται τοτο αναζητούμενοαναζητούμενο στοιχείοστοιχείο καικαι επαναλαμβάνομεεπαναλαμβάνομε αυτόαυτό τοτο βήμαβήμα, , μοιράζονταςμοιράζοντας διαδοχικάδιαδοχικά τοτο διάνυσμαδιάνυσμα σταστα δύοδύο, , μέχριμέχρι νανα βρούμεβρούμε, , αναν υπάρχειυπάρχει, , τοτο στοιχείοστοιχείο πουπου ψάχνοψάχνουυμεμε..
ΥλοποίησηΥλοποίησηαλγορίθμουαλγορίθμου
δυαδικήςδυαδικής αναζήτησηςαναζήτησηςμεμε χρήσηχρήση MatlabMatlab::
function binarySearch(a,x)arxh = 1; telos = length(a);while arxh <= telos
meso = floor((arxh+telos)/2);if x < a(meso)
telos = meso-1;elseif x > a(meso)
arxh = meso+1;else
fprintf('To stoixeio %d bre8hke sthn 8esh: %d.', x, meso) return
endendfprintf('To stoixeio %d den bre8hke.', x)
return

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 8484©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠαράδειγμαΠαράδειγμα εφαρμογήςεφαρμογής αλγόριθμουαλγόριθμου δυαδικήςδυαδικής αναζήτησηςαναζήτησης
--6 6 --4 4 --1 0 2 2 3 1 0 2 2 3 3 73 7>> binarySearch(b,0)>> binarySearch(b,0)
To To stoixeiostoixeio 0 bre8hke 0 bre8hke sthnsthn 8esh: 4.8esh: 4.
>> binarySearch(b,5)>> binarySearch(b,5)
To To stoixeiostoixeio 5 den bre8hke.5 den bre8hke.
>> binarySearch(b,7)>> binarySearch(b,7)
To To stoixeiostoixeio 7 bre8hke 7 bre8hke sthnsthn 8esh: 9.8esh: 9.
>> binarySearch(b,17)>> binarySearch(b,17)
To To stoixeiostoixeio 17 den bre8hke.17 den bre8hke.
>> binarySearch(b,>> binarySearch(b,--6)6)
To To stoixeiostoixeio --6 bre8hke 6 bre8hke sthnsthn 8esh: 1.8esh: 1.
>> binarySearch(b,>> binarySearch(b,--1)1)
To To stoixeiostoixeio --1 bre8hke 1 bre8hke sthnsthn 8esh: 38esh: 3..

ΠΠΜΠΠΜ 501: 501: ΠροχωρημένηΠροχωρημένη ΑνάλυσηΑνάλυση ΚατασκευώνΚατασκευών μεμε ΗΗ//ΥΥ 8585©© ΠέτροςΠέτρος ΚωμοδρόμοςΚωμοδρόμος, 20, 201010
ΠερισσότερεςΠερισσότερες πληροφορίεςπληροφορίες γιαγια τοτο MatlabMatlab
ΕισαγωγήΕισαγωγή στηστη MatlabMatlab, , ΓΓ. . ΓεωργίουΓεωργίου & & ΧΧ. . ΞενοφώντοςΞενοφώντος, , ΒιβλΒιβλ. . ΚαντζηλάρηςΚαντζηλάρης..
http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shthttp://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtmlml
http://http://www.math.ufl.edu/help/matlabwww.math.ufl.edu/help/matlab--tutorial/tutorial/
http://http://www.cs.ubc.ca/spider/cavers/MatlabGuide/guide.htmlwww.cs.ubc.ca/spider/cavers/MatlabGuide/guide.html
http://www.owlnet.rice.edu/~elec241/matlab.htmlhttp://www.owlnet.rice.edu/~elec241/matlab.html
http://http://www.cyclismo.org/tutorial/matlabwww.cyclismo.org/tutorial/matlab//
http://www.glue.umd.edu/~nsw/ench250/matlab.htmhttp://www.glue.umd.edu/~nsw/ench250/matlab.htm
http://http://www.math.utah.edu/lab/ms/matlab/matlab.htmlwww.math.utah.edu/lab/ms/matlab/matlab.html
http://http://www.math.mtu.edu/~msgocken/intro/intro.htmlwww.math.mtu.edu/~msgocken/intro/intro.html
http://http://users.ece.gatech.edu/~bonnie/book/TUTORIAL/tutorial.htmlusers.ece.gatech.edu/~bonnie/book/TUTORIAL/tutorial.html
http://http://amath.colorado.edu/computing/Matlab/Tutorialamath.colorado.edu/computing/Matlab/Tutorial//