MATLAB Tι είναι το λογισµικό MATLAB? Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών. Σύστηµα αλληλεπίδρασης µε τοχρήστηγια πραγµατοποίηση επιστηµονικών υπολογισµών (πράξεις µε πίνακες επίλυση διαφορικών εξισώσεων προσέγγιση / γραφική απεικόνιση και ανάλυση δεδοµένων προσοµοίωση συστηµάτων κ.α.). Γλώσσα προγραµµατισµού µε δυνατότητες εξέλιξης στις απαιτήσεις κάθε χρήστη µε προσθήκη βιβλιοθηκών συναρτήσεων και ειδικών εργαλείων (toolboxes).
Ιστορία του ΜATrix LABoratory Λογισµικό Fortran υποπρογραµµάτων για επίλυση γραµµικών συστηµάτων (LINPACK) και προβληµάτων ιδιοτιµών (EISPACK) Αναπτύχθηκε τη δεκαετία του 1970 κύρια από το Cleve Moler για την επίλυση των παραπάνω προβληµάτων χωρίς τη γνώση Fortran από το χρήστη.
Ιστορία του ΜATrix LABoratory Τη δεκαετία του 1980 επεκτάθηκε µε τη προσθήκη υποπρογραµµάτων σε C για τη δηµιουργία γραφικών παραστάσεων. Το 1984 ιδρύεται η εταιρεία Mathworks και αναλαµβάνειτηδιάθεσηστοεµπόριο, την εξέλιξη και την υποστήριξη του λογισµικού µέχρι σήµερα. http://www.mathworks.com
Πλεονεκτήµατα MATLAB Ευκολότερη εκµάθηση από µια γλώσσα προγραµµατισµού. Βελτιστοποιηµένος κώδικας για διεξαγωγή υπολογισµών µε πίνακες. Γλώσσα προγραµµατισµού για ανάπτυξη εφαρµογών και ταυτόχρονα λογισµικό υλοποίησης επιστηµονικών υπολογισµών. Εύκολος εντοπισµός και διόρθωση λαθών. Φιλικό περιβάλλον επικοινωνίας µε τοχρήστη.
Μειονεκτήµατα MATLAB Εξειδικευµένη γλώσσα προγραµµατισµού. Το λογισµικό MATLAB αναπτύχθηκε µόνο για διεξαγωγή επιστηµονικών υπολογισµών κι έτσι δεν ενδείκνυται ή δεν υποστηρίζει την ανάπτυξη άλλου είδους εφαρµογών, όπως για παράδειγµα επεξεργασία κειµένου. Οι αναπτυσσόµενες εφαρµογές υστερούν σε απόδοση από την άποψη του χρόνου εκτέλεσης σε σχέση µε αντίστοιχες που αναπτύσσονται µε τις κλασσικές γλώσσες προγραµµατισµού ( C,C++,Fortran).
οµή MATLAB Εργαλεία ή Toolboxes Πυρήνας Matlab
Πλατφόρµες Υλοποίησης Windows Linux MAC Unix (SUN Solaris HPUX SGI IRIX κ.α.) Οκώδικαςτωνm-files είναι συµβατός µε κάθε λειτουργικό σύστηµα των υπολογιστικών συστηµάτων
HELP - Πληροφορίες >> helpdesk >> help help >> help topic >> demos >> lookfor λέξη-κλειδί
Αµφίδροµοι Υπολογισµοί >> 3+2*6/3 ans = 7 >> a= 3+2*6/3 a = 7 >> a= 3+2*6/3 ; >>
Ενσωµατωµένες συναρτήσεις >> exp(x) >> sin(x) >> log10(x) >> log(x) >> atan(x) >> sqrt(x) >> abs(x) >> lcm(x) >> gcd(x)
Αναπαράσταση αριθµών κινητής υποδιαστολής
Μορφή παρουσίασης αριθµών Format >> format Εµφάνιση 5 σηµαντικών ψηφίων >> pi 3.1416 >> format long >> pi 3.14159265358979 >> format short e >> pi 3.1416e+000 >> format long e >> pi 3.141592653589793e+000
Μορφή παρουσίασης αριθµών Format >> format bank Εµφάνιση 2 δεκαδικών ψηφίων ( τιµές νοµισµάτων ) >> pi 3.14 >> format rat >> pi 355/113 >> help format
Πληροφορίες µεταβλητών >> who Εµφάνιση ονοµάτων µεταβλητών >> whos Εµφάνιση ονοµάτων µεταβλητών µε τιςτιµές τους και το είδος τους >> clear ιαγραφή όλων των µεταβλητών
ιανύσµατα - Πίνακες >> b=[2; 6; 4] Εισαγωγή διανύσµατος >> A=[-1 1 2; 3-1 1;-1 3 4] Εισαγωγή πίνακα 3x3 >> A(2,1) Εκτύπωση του στοιχείου a 2,1 =3 >> A(:,1) Εκτύπωση της πρώτης στήλης >> A(3,:) Εκτύπωση της τρίτης γραµµής >> size(a) Εκτύπωση της διάστασης του Α
ιανύσµατα - Πίνακες >> A(1:3,2:3) Εκτύπωση του τµήµατος του Α από τη πρώτη µέχρι τη τρίτη γραµµή και τη δεύτερη µέχρι τη τρίτη στήλη >> A+Β Πρόσθεση των πινάκων Α και Β ίδιας διάστασης >> A*Β Πολλαπλασιασµός των πινάκων Α και Β αν οι διαστάσεις τους το επιτρέπουν >> Α^2 Α*Α ( Α τετραγωνικός πίνακας )
ιανύσµατα - Πίνακες >> At=A Ανάστροφος πίνακας του Α ( oι γραµµές του At είναι οι στήλες του Α και αντίστροφα) >> Ai=inv(A) Αντίστροφος πίνακας του Α ( Ai*A=A*Ai=I, I µοναδιαίος πίνακας) >> Ι=eye(3,3) Μοναδιαίος πίνακας 3x3 >> E=ones(3,3) Πίνακας 3x3 µε όλατα στοιχεία µονάδες
Επίλυση γραµµικών συστηµάτων -x 1 + x 2 + 2x 3 = 2 3x 1 - x 2 + x 3 = 6 -x 1 + 3x 2 + 4x 3 = 4 Α*x=b -1 1 2 x 2 1 A = 3-1 1, x = x 2, b = 6-1 3 4 x 4 3
Επίλυση γραµµικών συστηµάτων >> A = [-1 1 2; 3-1 1;-1 3 4]; >> b = [2;6;4]; >> x = inv(a)*b x = 1.0000-1.0000 2.0000 >> x = A\b x = 1.0000-1.0000 2.0000
M-files M-files : Αρχεία µε εντολέςmatlab ηµιουργία µε τηνεντολή edit Τα σχόλια ξεκινούν µε % Επεξεργασία µε την εντολή type >> type prod >> help prod
M-files - συναρτήσεις Function : Συνάρτηση >> P=fact(15) P = 1.3077e+012
Λογικοί Τελεστές Ισότητα : == ιάφορο : ~= Μεγαλύτερο : > Μικρότερο ίσο: <= Και : & Ή : Όχι : ~ Λογικές συναρτήσεις : any, isempty, all
Εντολές Ελέγχου
Εντολές Ελέγχου
Εντολές Ελέγχου
Εντολές Ελέγχου function y=fact(n) % y=fact(n) : n παραγοντικό n!=1*2*3*...*n y=1; for k=2:n y=k*y; end
Εντολές Ελέγχου
Εντολές Ελέγχου Υπολογισµός του µέγιστου n!