MATLAB

Το MATLAB (Matrix Laboratory) είναι ένα περιβάλλον αριθμητικής υπολογιστικής και μια γλώσσα προγραμματισμού βασισμένη σε πολλά προγραμματιστικά παραδείγματα. Αποθηκεύει και κάνει τις πράξεις με βάση την άλγεβρα πινάκων.

Χρησιμοποιείται κατά κύριο λόγο για την επίλυση μαθηματικών προβλημάτων, ωστόσο είναι πολύ "ισχυρό" εργαλείο και μπορεί να χρησιμοποιηθεί και για γενικό προγραμματισμό καθώς περιέχει εντολές από την C++ όπως την while, την switch και την if. Στον τομέα των γραφικών όσον αφορά τον μαθηματικό κλάδο μπορεί να υλοποιήσει συναρτήσεις πραγματικές, μιγαδικές, συναρτήσεις δύο μεταβλητών και άλλες. Όσον αφορά τον στατιστικό κλάδο μπορεί να υλοποιήσει ιστογράμματα, τομεογράμματα, ραβδοδιαγράμματα, εμβαδογράμματα και άλλα.

Από το 2020, η MATLAB έχει περισσότερους από 4 εκατομμύρια χρήστες παγκοσμίως. Οι χρήστες της MATLAB προέρχονται από διάφορα υπόβαθρα όπως μηχανικής, επιστήμων και οικονομικών.

 Ιστορία 
Το MATLAB αναπτύχθηκε αρχικά από τον μαθηματικό και προγραμματιστή Cleve Moler. Η αρχική ιδέα συνελήφθη στην διδακτορική του διατριβή κατά τη δεκαετία του 1960. Όταν αργότερα έγινε καθηγητής στο Πανεπιστήμιο του Νέου Μεξικό, άρχισε την ανάπτυξη του λογισμικού γράφοντας κώδικα για το κομμάτι της γραμμικής άλγεβρας, περί το 1967, σε συνεργασία με τον πρώην επιβλέπων του διδακτορικού του, George Forsythe. Σε δεύτερο χρόνο, προστέθηκε και η δυνατότητα επίλυσης γραμμικών εξισώσεων το 1971.

Πριν την έκδοση 1.0, η MATLAB δεν ήταν γλώσσα προγραμματισμού, αλλά ουσιαστικά μία αριθμομηχανή που εκτελούσε πράξεις πινάκων. Δεν υπήρχαν προγράμματα, toolboxes ή γραφικά.

Η πρώτη έκδοση του MATLAB ολοκληρώθηκε στα τέλη της δεκαετίας του 1970. Το λογισμικό κοινοποιήθηκε για πρώτη φορά στο ευρύ κοινό, τον Φεβρουάριο του 1979 Naval Postgraduate School της Καλιφόρνια. Οι αρχικές εκδόσεις ήταν απλοί υπολογιστές πινάκων με 71 διαθέσιμες συναρτήσεις, ενώ το λογισμικό προσφερόταν δωρεάν στα πανεπιστήμια. Ο Moler άφηνε αντίγραφά του σε όσα εκπαιδευτικά ιδρύματα επισκεπτόταν και έτσι το MATLAB κατέστη δημοφιλές στα μαθηματικά τμήματα.

 Εκδόσεις 
 Version  Όνομα Έκδοσης  Αριθμός  ΠακέτοJVM  Χρονιά  Ημερομηνία Έκδοσης  Σημειώσεις MATLAB 1.0 1984 MATLAB  2 1986 MATLAB  3 1987 MATLAB  3.5 1990 Έτρεχε σε DOS αλλά χρειαζόταν τουλάχιστον επεξεργαστή της σειράς 386; Η έκδοση 3.5m χρειαζόταν  Μονάδα Κινητής Υποδιαστολής FPU. MATLAB  4 1992 Έτρεχε σε Windows 3.1x και Macintosh MATLAB  4.2c 1994 Έτρεχε σε Windows 3.1x, χρειαζόταν μια Μονάδα κινητής υποδιαστολής MATLAB 5.0 Τόμος 8 1996 Δεκέμβριο 1996 Ενοποιημένες εκδόσεις για όλες τις πλατφόρμες MATLAB 5.1 Τόμος 9 1997 Μάιος 1997 MATLAB 5.1.1 R9.1 MATLAB 5.2 R10 1998 Μάρτιος 1998 Η τελευταία λειτουργική έκδοση για περιβάλλον κλασικού Mac. MATLAB 5.2.1 R10.1 MATLAB 5.3 R11 1999 Ιανουάριος 1999 MATLAB 5.3.1 R11.1 Νοέμβριος 1999 MATLAB 6.0 R1212 1.1.8 2000 Νοέμβριο 2000 Πρώτη έκδοση που κυκλοφόρησε με πακέτο Εικονικής μηχανής της Java (JVM) MATLAB 6.1 R12.1 1.3.0 2001 Ιούνιος 2001Τελευταία έκδοση που κυκλοφόρησε για τα Windows 95 MATLAB 6.5 R1313 1.3.1 2002 Ιούλιος 2002 MATLAB 6.5.1 R13SP1 2003 MATLAB 6.5.2 R13SP2 Τελευταία έκδοση που κυκλοφόρησε για τα Windows 98, Windows ME, IBM/AIX (UNIX), Alpha/TRU64 (UNIX), and SGI/IRIX MATLAB 7 R14 14 1.4.2 2004 Ιούνιος 2004 Προστέθηκε η υποστήριξη για ανώνυμες και ένθετες συναρτήσεις
Επανακυκλοφόρησε για Mac (για MacOS). MATLAB 7.0.1 R14SP1 Οκτώβριος 2004 MATLAB 7.0.4 R14SP2 1.5.0 2005 Μάρτιος 7, 2005 Προσθήκη υποστήριξης για αρχεία που αντιστοιχούν στην μνήμη (memory-mapped files)  MATLAB 7.1 R14SP3 1.5.0 Σεπτέμβριος 1, 2005 Πρώτη έκδοση για επεξεργαστές με λογική 64-bit, έκδοση για τα Windows XP 64-bit. MATLAB 7.2 R2006a 15 1.5.0 2006 Μάριος 1, 2006 MATLAB 7.3 R2006b 16 1.5.0 Σεπτέμβριος 1, 2006 Προσθήκη υποστήριξης MAT-αρχείων με HDF5 MATLAB 7.4 R2007a 17 1.5.0_07 2007 Μάρτιος 1, 2007 Νέα συνάρτηση bsxfun για την εφαρμογή δυαδικών πράξεων στοιχείο-στοιχείο με χρήση του μοτίβου sigleton  MATLAB 7.5 R2007b 18 1.6.0 Σεπτέμβριος 1, 2007 Τελευταία έκδοση για τα Windows 2000 και PowerPC Mac; Προσθήκη υποστήριξης Διακομιστή Αδειών για Windows Vista; νέα εσωτερική μορφή για την εκτέλεση P-κώδικα MATLAB 7.6 R2008a 19 1.6.0 2008 Μάρτιος 1, 2008 Μεγάλη ανάπτυξη λειτουργιών αντικειμενοστρεφούς προγραμματισμού με την προσθήκη του συντακτικού για την δημιουργία κλάσης (class), προσθήκη ικανότητας επεξεργασίας και διαχείρησης χώρων ονομάτων (namespaces) με πακέτα MATLAB 7.7 R2008b 20 1.6.0_04 Οκτώβριος 9, 2008 Τελευταία έκδοση που κυκλοφόρησε για επεξεργαστές χωρίς το σύνολο εντολών SSE2. Προσθήκη της καινούργιας δομής δεδομένων Map: βελτιώσεις στην Γεννήτρια τυχαίων αριθμών MATLAB 7.8 R2009a 21 1.6.0_04 2009 Μάρτιος 6, 2009 Πρώτη έκδοση για τα Microsoft 32-bit & 64-bit Windows 7, και νέα εξωτερική διεπαφή με το πλαίσιο λογισμικού .NET   MATLAB 7.9 R2009b 22 1.6.0_12 Σεπτέμβριος 4, 2009 Πρώτη έκδοση για Intel 64-bit Mac, καθώς και τελευταία γιαSolaris SPARC; νέα χρήση του χαρακτήρα περισπωμένης (tilde) (~) για την αδιαφορία παραμέτρων στις κλήσεις συναρτήσεων MATLAB 7.9.1 R2009bSP1 1.6.0_12 2010 Απρίλιος 1, 2010 Διορθώσεις λαθών κώδικα. MATLAB 7.10 R2010a 23 1.6.0_12 Μάρτιος 5, 2010 Τελευταία έκδοση για Intel 32-bit Mac MATLAB 7.11 R2010b24 1.6.0_17 Σεπτέμβριος 3, 2010 Προσθήκη υποστήριξης για απαριθμήσεις (enumerations)  MATLAB 7.11.1 R2010bSP1 1.6.0_17 2011 Μάρτιος 17, 2011 Διόρθωση λαθών κώδικα και αναβαθμίσεις MATLAB 7.11.2 R2010bSP2 1.6.0_17 Απρίλιος 5, 2012 Διόρθωση λαθών κώδικα MATLAB 7.12 R2011a 25 1.6.0_17 Απρίλιος 8, 2011 Προσθήκη συνάρτησης rng για την παραγωγή ψευδοτυχαίων αριθμών MATLAB 7.13 R2011b 26 1.6.0_17 Σεπτέμβριος 1, 2011 Δυνατότητα φόρτωση τμημάτων μεταβλητών με την χρήση αρχείων MAT, χωρίς να τις φορτώνει το MATLAB στην μνήμη; Αύξηση του ορίου ταυτόχρονης επεξεργασιας από 8 σε 12; MATLAB 7.14 R2012a 27 1.6.0_17 2012 Μάρτιος 1, 2012 Τελευταία έκδοση για τα 32-bit Linux. MATLAB 8 R2012b 28 1.6.0_17 Σεπτέμβριος 11, 2012 Πρώτη έκδοση με σχεδιασμό διεπαφής υπολογιστή (Ribbon); MATLAB Apps. επαναδιαμόρφωση του συστήματος τεκμηρίωσης (documentation system) MATLAB 8.1 R2013a 29 1.6.0_17 2013 Μάρτιος 7, 2013 Προσθήκη της επιλογής επεξεργασίας κώδικα με το πλαισίο δοκιμής μονάδας MATLAB 8.2 R2013b 30 1.7.0_11 Σεπτέμβριος 6, 2013 Αναβάθμηση της εσωτερικής έκδοσης του Java Runtime Environment (JRE) στην έκδοση 7; Νέα δομή δεδομένων table  MATLAB 8.3 R2014a 31 1.7.0_11 2014 Μάρτιος 7, 2014 Απλοποίηση της δομής του μεταγλωττιστή (compiler) για την δημιουργία MEX-αρχείων; Προσθήκη υποστήριξης για USB Κάμερες στη βασική έκδοση του MATLAB; Αύξηση του ορίου ταυτόχρονης επεξεργασιας από 12 που ήταν πριν χάρης στο Περιβάλλον Ανάπτυξης Παράλληλου Υπολογισμού. MATLAB 8.4 R2014b 32 1.7.0_11 Οκτώβριος 3, 2014 Νέα μηχανή γραφικών που βασίζεται σε κλάσεις(γνωστή και ως HG2); πλοήγης καρτέλας (tabbing) στο γραφικό περιβάλλον χρήστη (GUI); βελτίωση των λογισμικών εργαλείων χρήστη και των βοηθητικών αρχείων; νέα αντικείμενα για την επεξεργασία δεδομένων και μεταβλητών τύποθ ημερομηνίας; Ενσωμάτωση των Git (λογισμικό)-Subversion μέσα στο ολοκληρωμένο περιβάλλον ανάπτυξης (IDE); Τεχνολογίες μαζικών δεδομένων (big data) με το MapReduce (κλιμάκωση με το Hadoop); νέα πακέτο py για χρήση της γλώσσας προγραμματισμού Python μέσα από το MATLAB απευθείας, νεα μηχανή διεπαφής για κλήση του MATLAB από την Python; προσθήκη νέων και βελτιωμένων συναρτήσεων: webread (RESTful υπηρεσίες διαδικτύου με χρήση των JSON/XML), εντολή tcpclient για συνδέσεις βασισμένες στις υποδοχές δικτύου (socket-based), histcounts, histogram, animatedline, και άλλα MATLAB 8.5 R2015a 33 1.7.0_60 2015 Μάρτιος 5, 2015  MATLAB 8.5 R2015aSP1 1.7.0_60 Οκτώβριος 14, 2015 Τελευταία έκδοση για τα Windows XP και για τα Windows Vista MATLAB 8.6 R2015b 34 1.7.0_60 Σεπτέμβριος 3, 2015 Νέα μηχανή εκτέλεσης κώδικα MATLAB (γνωστή και ως LXE); κλάσεις graph και digraph για την εργασία με γραφήματα και δίκτυα; Προσθήκη υποστήριξης για τον μεταγλωττιστη MinGW-w64 στα Windows; Τελευταία έκδοση για αρχιτεκτονική 32-bit MATLAB 9.0 R2016a 35 1.7.0_60 2016 Μάρτιος 3, 2016 Προσθήκη των Live Scripts: διαδραστικά (interactive) έγγραφα που συνδυαζουν κωδικα, κείμενο και έξοδους (στο στυλ προγραμματισμού Literate programming);  Σχεδιαστής Εφαρμογών (App Designer): ένα νέο περιβάλλον ανάπτυξης εφαρμογών (με νέα γραφήματα, άξονες και δομικά στοιχεία); Δυνατότητα παύσης της εκτέλεσης του προγράμματος με την πίεση του αντίστοιχου κουμπιού Παύσης MATLAB 9.1 R2016b 36 1.7.0_60 Σεπτέμβριος 15, 2016 Προσδιορισμός τοπικών συναρτήσεων σε αρχεία επεξεργασίας κώδικα (σενάρια ή scripts); αυτόματη ανάπτυξη διαστάσεων (προηγουμένως γινόταν με κλήση της συνάρτησης bsxfun); tall πίνακες για Μαζικά δεδομένα; νέος τύπος δεδομένων string ; νέες συναρτήσεις για κωδικοποιήση/αποκωδικοποιήση (encode/decode) JSON; επίσημη MATLAB Μηχανη διεπαφής προγραμματισμού εφαρμογών (API) για την Java MATLAB 9.2 R2017a 37 1.7.0_60 2017 Μάρτιος 9, 2017 MATLAB Online: MATLAB στο διαδίκτυο ; double-quoted strings με διπλά απόστροφο; νέα συνάστηση memoize για Απομνημόνευση (Memoization); επικύρωση ιδιοτήτων διευρυμένου αντικειμένου; πλαίσιο πλαστών αντικειμένων (Mock object) για δοκιμές μονάδας; το MEX εστιάζει σε 64-bit από προεπιλογή; νεά συνάρτηση heatmap για την δημιουργία χάρτών θερμότητας (heatmap charts) MATLAB 9.3 R2017b 38 1.8.0_121 Σεπτέμβριος 21, 2017  MATLAB 9.4 R2018a 39 1.8.0_144 2018 Μάρτιος 15, 2018 MATLAB 9.5 R2018b 40 1.8.0_152 Σεπτέμβριος 12, 2018MATLAB 9.6R2019a411.8.0_181 2019Mάρτιος 20, 2019Έργα (Projects) MATLAB.MATLAB 9.7R2019b421.8.0_202Σεπτέμβριος 11, 2019Εισαγωγή του μπλοκ 'arguments' για επικύρωση εισαγωγής και ενεργοποίηση του ευρετηρίου κουκίδων (dot indexing) σε έξοδο συνάρτησηςMATLAB 9.8R2020a432020Μάρτιος 19, 2020Αφαίρεση του Mupad, Βελτίωση της υποστήριξης για επεξεργαστές AMD (AVX2)MATLAB 9.9R2020b44Σεπτέμβριος 17, 2020Βελτίωση της υποστήριξης για επεξεργαστές AMD (AVX2)9.10R2021a45202111 Μαρτίου 20219.11R2021b4622 Σεπτεμβρίου 20219.12.0R2022a4720229 Μαρτίου 20229.13R2022b481.8.0_20215 Σεπτεμβρίου 2022Εισήγαγε τα «Λεξικά - Dictionaries» (συσχετιστικοί πίνακες - associative arrays). 
Τώρα μπορείτε να καλέσετε το MATLAB από εφαρμογές .NET.9.14R2023a49202323.2R2023b5024.1R2024a51202424.2R2024b5225.1R2025a53202525.2R2025b54

Ο αριθμός (ή ο αριθμός έκδοσης) είναι η έκδοση που έχει δημοσιευτεί βάση του προγράμματος Διαχειριστή Άδειας Ταυτόχρονης Χρήσης FLEXlm.

Για μια εκτενή λίστα των αλλαγών/ανανεώσεων τόσο της MATLAB όσο και των επίσημων λογισμικών εργαλείων, συμβουλευτείτε τις σημειώσεις των εκδόσεων της MATLAB.

 Παραπομπές 

 Εξωτερικοί σύνδεσμοι 

 Sargiotis,D. (2025).  MATLAB for Civil Engineers: From Basics to Advanced Applications. ISBN978-3-031-84672-4. https://doi.org/10.1007/978-3-031-84673-1
 Εισαγωγή στην Matlab του Γ. Γεωργίου και του Χ. Ξενοφώντος.
 Ιστοσελίδα για μεταφόρτωση της δοκιμαστικής έκδοσης του Matlab 

Κατηγορία:Λογισμικό μαθηματικών
Κατηγορία:Γραμμική άλγεβρα
Κατηγορία:Γλώσσες προγραμματισμού