MATLAB A MATrix LABoratoty

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Κεφάλαιο Τμηματικός προγραμματισμός
Advertisements

Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
Copyright © 2005 Elsevier Κεφάλαιο 2 :: Σύνταξη των γλωσσών προγραμματισμού Πραγματολογία των Γλωσσών Προγραμματισμού Michael L. Scott.
Ο Προγραμματισμός στην Πράξη 2.1 Το προγραμματιστικό περιβάλλον του Micro Worlds Pro 1 Επιμέλεια: Τίκβα Χριστίνα.
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία 4 Νοεμβρίου 2008 Στυλιανή Πετρούδη ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Εκκίνηση του MATLAB.
Μάθημα 2 Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία
MATrix LABoratory Εισαγωγή στο MatLab
Εισαγωγή στο MATLAB.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Δομημένος Προγραμματισμός και Δομές.
Επισκέπτρια Επίκουρη Καθηγήτρια
ΠΠΜ 221: Στατική Ανάλυση των Κατασκευών ΙI
Προγραμματισμός στο ΜatLab
Νευρωνικά Δίκτυα Εργαστήριο Εικόνας, Βίντεο και Πολυμέσων
Εισαγωγή στο Excel Σχολή Αγρονόμων Τοπογράφων Μηχανικών
Τομέας Γεωδαισίας και Τοπογραφίας 3ο Εξάμηνο
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία 7 Νοεμβρίου 2008 Στυλιανή Πετρούδη ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ.
ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB-SIMULINK
ΤΗΣ ΦΟΙΤΗΤΡΙΑΣ : ΤΣΑΛΤΑ ΑΝΑΣΤΑΣΙΑ Α.Μ. : 30920
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Microsoft Excel 4.7 Προετοιμασία Εκτυπώσεων Κίκα Χρυσοστόμου.
Εισαγωγή στην Επιστήμη των Η/Υ ΙΙ Μάθημα 3 Αρχεία δεδομένων – Διαγράμματα.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
MATrix LABoratory Η βασική δομή δεδομένων είναι ο πίνακας που δεν χρειάζεται να οριστεί η διάσταση του. Τι είναι το MATLAB ; Μια γλώσσα υψηλού επιπέδου.
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Προγραμματισμός και Εφαρμογές Η/Υ (Ε) Ενότητα 1: Matlab Άσκηση 1 Δρ. Β.Χ. Μούσας, Αναπληρωτής Καθηγητής Τμήμα Πολιτικών Μηχανικών Τ.Ε. και Μηχανικών Τοπογραφίας.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Προγραμματισμός & Εφαρμογές Η/Υ (Θ) Ενότητα 10: Εισαγωγή στο Προγραμματισμό με το MatLab 7.x (Μέρος 1 ο ) Δρ. Β.Χ. Μούσας, Αναπληρωτής Καθηγητής Τμήμα.
Γλώσσες προγραμματισμού Ένας αλγόριθμος όταν περιγραφεί με μια μορφή που τη δέχεται ένας υπολογιστής, λέγεται πρόγραμμα (prοgram, prοgramme)
ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧ/ΣΕΩΝ ΕΡΓΑΣΤΗΡΙΟ #1 ΔΔΕ. Έναρξη (Start)  Προγράμματα (Programs)  Minitab 12 for Windows.
Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 ο. Βασικές έννοιες προγραμματισμού Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις.
Προγραμματισμός & Εφαρμογές Η/Υ (Θ) Ενότητα 11: Εισαγωγή στο Προγραμματισμό με το MatLab 7.x (Μέρος 2 ο ) Δρ. Β.Χ. Μούσας, Αναπληρωτής Καθηγητής Τμήμα.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στην Python.
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Προγραμματισμός Η/Υ Τμήμα Πολιτικών Έργων Υποδομής
FREEMAT.
Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB
FREEMAT Γραφήματα.
FREEMAT Επεξεργασία εικόνας.
Λάζαρος Ηλιάδης Καθηγητής ΔΠΘ
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Περιεχόμενα Εισαγωγή στο Matlab, Το περιβάλλον του Matlab, Μεταβλητές,
To MATLAB Το MATLAB πρωτοεμφανίστηκε πριν μια εικοσαετία και από τότε άρχισε να κατακτά τον ακαδημαϊκό και ερευνητικό χώρο. Η συνεχής ανάπτυξή του MATLAB.
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Περιεχόμενα Διανύσματα ή Μονοδιάστατες Σειρές, Πράξεις Διανυσμάτων,
Προγραμματισμός Η/Υ Τμήμα Πολιτικών Έργων Υποδομής
Επισκέπτρια Επίκουρη Καθηγήτρια
FREEMAT Πίνακες και array.
β’ εξάμηνο – εργαστήριο
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Επιμέλεια: Τίκβα Χριστίνα
Εντολές και δομές αλγορίθμου
Εισαγωγή στον Προγραμματισμό με Python, ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Εισαγωγή στον Προγραμματισμό με Python Εβδομάδα 1: Βασικά στοιχεία.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Συστήματα Αναμονής (Queuing Systems)
UNIT 1 Τα Πρώτα Προγράμματα.
Μεταγράφημα παρουσίασης:

MATLAB A MATrix LABoratoty 1η Έκδοση σε Fortran 1984 MATLAB 1 γραμμένο σε C ................................................ 2000 MATLAB 6

Χαρακτηριστικά Επιτρέπει ταχύ και εύκολο προγραμματισμό σε μία υψηλού επιπέδου γλώσσα. Παρέχει υψηλού επιπέδου εύκολα υλοποιήσιμα γραφικά. Το διαδραστικό περιβάλλον επιτρέπει τον πειραματισμό πάνω στα δεδομένα και εύκολη εύρεση σφαλμάτων. Είναι μία σύγχρονη γλώσσα προγραμματισμού που υποστηρίζει τον αντικειμενοστραφή προγραμματισμό, χειρίζεται τα δεδομένα με ιδιαίτερη ευκολία (π.χ. δηλώσεις ή πράξεις) . Τα προγράμματα MATLAB μπορούν να μεταφερθούν από ένα σύστημα σε ένα άλλο χωρίς μετατροπή. Υπάρχουν πολλά Toolboxes (βιβλιοθήκες) που δίνουν τη δυνατότητα να χειριστούμε προβλήματα συγκεκριμένου πεδίου π.χ. Fuzzy Logic, Image Processing, Databases, Symbolic Maths κ.λ.π. Υπάρχει διαθέσιμος κώδικας στο διαδίκτυο.

Το περιβάλλον

Ο Editor των .m αρχείων

Βασικοί Κανόνες Μετά την πληκτρολόγηση ενός υπολογισμού πατάμε Enter για να λάβουμε ως απάντηση το αποτέλεσμα. Η χρήση του ; στο τέλος ενός υπολογισμού έχει ως αποτέλεσμα να γίνει ο υπολογισμός αλλά να μην εμφανιστεί το αποτέλεσμα. ( ) και [ ] έχουν διαφορετική σημασία. Στα ονόματα μεταβλητών το Matlab είναι ευαίσθητο στη χρήση κεφαλαίων και πεζών. Στα ονόματα δε βάζουμε κενά ή σύμβολα. Πληκτρολόγηση ονόματος μεταβλητής και Enter δίνει ως απάντηση την τιμή της. Με τα βέλη κάνεις scroll σε προηγούμενες εντολές. Το help topic μας δίνει online βοήθεια για το topic. Υπολογισμός που θέλουμε να συνεχιστεί στην από κάτω γραμμή εισόδου πρέπει στο τέλος της κάθε ενδιάμεσης γραμμής να έχει “...”

Η προτεραιότητα (...), ^, */ \,+- Οι αριθμοί η μορφή τους και οι πράξεις τους. Αριθμητική με ακρίβεια μηχανής. >> b=2+10/3+2*5^2-1*(2+5) b = 48.3333 Οι τελεστές + - * / \^ (...) Η προτεραιότητα (...), ^, */ \,+- >> format long >> b b = 48.33333333333334 >> format long e 4.833333333333334e+001 >> format short e >> b b = 4.8333e+001 >> format short 48.3333

Διαφορά / \ στις πράξεις αριθμών Διαφορά / \ στις πράξεις αριθμών Η Clear για μεταβλητές >> clear a >> a ??? Undefined function or variable 'a'. >> b b = 3 >> clear all >> a=2 a = 2 >> b=3 b = 3 >> a/b ans = 0.6667 >> a\b 1.5000 Inf και NaN >> 1/0 Warning: Divide by zero. ans = Inf >> 0/0 NaN

Οι μιγαδικοί αριθμοί η μορφή τους και οι πράξεις τους. >> i*i ans = -1 >> j*j >> j=5 j = 5 >> j >> clear j 0 + 1.0000i >> a=2+3*i;b=complex(3,4); >> a+b ans = 5.0000 + 7.0000i >> a/b 0.7200 + 0.0400i >> conj(a) 2.0000 - 3.0000i >> abs(b) 5 >> real(b) 3 >> imag(a) ans = 3 >> angle(b) 0.9273

Βασικές Μαθηματικές Συναρτήσεις Βασικές ποσότητες Βασικές Μαθηματικές Συναρτήσεις >> abs(-2) ans = 2 >> sqrt(-2) 0 + 1.4142i >> sin(2)*cos(4)*tan(2) 1.2987 >> sinh(2)*cosh(4)*tanh(2) 95.4803 >> asin(pi)+acos(pi)+atan(pi/2) 2.5747 >> log(exp(1)) ans = 1 >> log10(10^5) 5 >> ceil(2.1) 3 >> floor(-2.1) -3 >> fix(-2.1) -2 >> eps ans = 2.2204e-016 >> realmax 1.7977e+308 >> realmin 2.2251e-308

Διανύσματα Γραμμή (δημιουργία – χειρισμός) >> c=1:5 c = 1 2 3 4 5 >> d=1:2:5 d = 1 3 5 >> e=[c d] e = 1 2 3 4 5 1 3 5 >> e(2)=12 1 12 3 4 5 1 3 5 >> e(1:2:8) ans = 1 3 5 3 >> a=[ 2 3 ,4] a = 2 3 4 >> length(a) ans = 3 >> a(5)=9 2 3 4 0 9 >> b1=[1+ 2 5] b1 = 3 5 >> b2=[1 +2 5] b2 = 1 2 5

Διανύσματα Στήλη (δημιουργία – χειρισμός) >> w=[1;3;5] w = 1 3 5 >> length(w) ans = >> size(w) 3 1 >> v=[1:2:5]' v = Προσοχή !!!! >> z=[1-i,i,1+i]' z = 1.0000 + 1.0000i 0 - 1.0000i 1.0000 - 1.0000i >> z=[1-i,i,1+i].' 0 + 1.0000i

Διανύσματα (στήλη ή γραμμή) Πράξεις >> a=1:3;b=1:3:7;c=1:10; >> a+b ans = 2 6 10 >> a-b 0 -2 -4 >> a+c ??? Error using ==> + Matrix dimensions must agree. >> a*c ??? Error using ==> * Inner matrix dimensions must agree. >> a/c ??? Error using ==> / >> 3*a ans = 3 6 9 >> a/3 0.3333 0.6667 1.0000 >> a+3 4 5 6 >> a^3 ??? Error using ==> ^ Matrix must be square. >> exp(a) 2.7183 7.3891 20.0855

> v=[1,2,3],w=[4;5;6] v = 1 2 3 w = 4 5 6 >> v*w ans = 32 >> w*v 4 8 12 5 10 15 6 12 18 >> [sqrt(v*v'),norm(v)] 3.7417 3.7417 >> w'.*v ans = 4 10 18 >> v./w' 0.2500 0.4000 0.5000 >> v.^2 1 4 9 >> v'.^w 1 32 729 >> v.^(w') 1 32 729 3x1 * 1x3

Παράδειγμα : Που τείνει το όριο; >> clear all >> x=[0.1;0.01;0.001;0.0001]; >> sin(pi*x)./x ans = 3.0902 3.1411 3.1416 >> format long >> ans-pi -0.05142270984032 -0.00051674577696 -0.00000516771023 -0.00000005167713

Πίνακες (δημιουργία – χειρισμός) >> clear all >> a=[5 7 9 1 -3 -7] a = 5 7 9 1 -3 -7 >> b=[1 2 5 ; 9 0 5] b = 1 2 5 9 0 5 >> c=[0,1;3,-2;4,2] c = 0 1 3 -2 4 2 >> d=[1:3,2:3;1:5;1:2:10] d = 1 2 3 2 3 1 2 3 4 5 1 3 5 7 9 >> e(3,3)=1 e = 0 0 0 0 0 1 >> size(d) ans = 3 5 >> [k,l]=size(d) k = 3 l = 5 >> b' ans = 1 9 2 0 5 5 >> a(1,:) 5 7 9 >>d(2:3,1:2) 1 2 1 3

>>>> d=rand(2,3) ΒΑΣΙΚΟΙ ΠΙΝΑΚΕΣ >>>> d=rand(2,3) d = 0.95012928514718 0.60684258354179 0.89129896614890 0.23113851357429 0.48598246870930 0.76209683302739 >> e=[b,d;c,a] e = Columns 1 through 3 0 0 0.95012928514718 0 0 0.23113851357429 1.00000000000000 1.00000000000000 1.00000000000000 1.00000000000000 1.00000000000000 0 Columns 4 through 5 0.60684258354179 0.89129896614890 0.48598246870930 0.76209683302739 0 0 1.00000000000000 0 0 1.00000000000000 >>>> a=eye(3) a = 1 0 0 0 1 0 0 0 1 >> b=zeros(2) b = 0 0 >> c=ones(3,2) c = 1 1

Βασικές πράξεις πινάκων >> a=[1,2;3,4];b=[1;2]; c=[2,2;2,2]; >> a+c ans = 3 4 5 6 >> a-c -1 0 1 2 >> a*b 5 11 >> c/a -1 1 Βασικές πράξεις πινάκων >> a\c ans = -2 -2 2 2 >> inv(a)*c -2.0000 -2.0000 2.0000 2.0000 >> a^3 37 54 81 118 >> a.^3 1 8 27 64 >> a.^c ans = 1 4 9 16 >> a.*c 2 4 6 8 >> a./c 0.5000 1.0000 1.5000 2.0000

Γραφικά Το MATLAB αναπαριστά γραφικά στοιχεία διανυσμάτων >> clf >> x=10:0.1:20; >> plot(x)

Γραφική παράσταση συνάρτησης >> x=-pi:0.1:pi;y=sin(x); >> plot(x,y)

Παραπάνω από μία καμπύλες Χρώματα y κίτρινο m ματζέντα c κυανό r κόκκινο g πράσινο b μπλέ w άσπρο b μαύρο >> plot(x,y1,'r-',x,y2,'g--') >> title('Multy-plot') >> xlabel('x axis'),ylabel('y axis') >> grid Γραμμή . σημείο ο κύκλος x + - συνεχομ. : τελίτσες -. -- παύλες

hold και axis >> plot(x,y1,'r-'),axis([-0.5 1.5 -1.2 1.2]),hold Current plot held >> plot(x,y1,'bx'),hold off

Subplots >> x=linspace(0,1,11) >> subplot(2,2,1),plot(x,sin(3*pi*x)),xlabel('x'),ylabel('sin 3 pi x') >> subplot(2,2,2),plot(x,sin(4*pi*x)),xlabel('x'),ylabel('sin 4 pi x') >> subplot(2,2,3),plot(x,sin(5*pi*x)),xlabel('x'),ylabel('sin 5 pi x') >> subplot(2,2,4),plot(x,sin(6*pi*x)),xlabel('x'),ylabel('sin 6 pi x')

Τρισδιάστατα Γραφικά >> [x,y]=meshgrid(-2:0.1:2,-2:0.2:2); >> f=-x.*y.*exp(-2*(x.^2+y.^2)); >> figure (1) >> mesh(x,y,f) >> figure (2) >> contour(x,y,f),grid

Πως αποθηκεύουμε τη δουλειά μας. Η diary αποθηκεύει το input και το output σε αρχείο κειμένου το οποίο δε μπορεί να διαβαστεί από το Matlab. >> diary mysesion.txt >> 1+1 ans = 2 >> diary off >> save thiswork >> dir . .. mysesion.txt thiswork.mat >> load thiswork Η save αποθηκεύει το workspace σε αρχείο .mat το οποίο μπορεί να διαβαστεί από το Matlab.