L'article peut contenir des analyses et interprétations inexactes ou inédites de sources primaires. Pour améliorer lavérifiabilité de l'article ainsi queson intérêt encyclopédique, il est nécessaire, quand dessources primaires sont citées, de les associer à des analyses faites par des sources secondaires.
MATLAB M-File(d),Hierarchical Data Format, MAT-file(d), MAT4(d), MAT-file, Level 5, version 6(d), MAT-file, Level 5, version 7(d), MAT-file, Level 5, version 7.3(d), MATLAB Simulink model Template(d), MATLAB license passcode(d), MATLAB Mac 64bit compiled function(d), MATLAB Linux 64bit compiled function(d), MATLAB support package(d), MATLAB app installer(d), MATLAB Compiler Project(d), Live Code File Format(d) et Light Sheet Microscope(d)
MATLAB M-File(d),Hierarchical Data Format, MATLAB Simulink model Template(d), MATLAB Mac 64bit compiled function(d), MATLAB Linux 64bit compiled function(d), MATLAB support package(d), MATLAB app installer(d), MATLAB Compiler Project(d) et Live Code File Format(d)
Les utilisateurs de MATLAB (environ 4 millions en 2019[3]) sont de milieux très différents tels que l’ingénierie, les sciences et l’économie, dans un contexte aussi bien industriel que pour larecherche.
MATLAB peut s'utiliser seul ou bien avec destoolboxes (« boîte à outils »).
Alors professeur de mathématiques à l'université du Nouveau-Mexique, il souhaite permettre à ses étudiants d'utiliser ces deux bibliothèques sans connaître le Fortran. Cleve Moler l'utilise ensuite pour des cours donnés à l'université Stanford où il reçoit un accueil mitigé de la part des étudiants en mathématiques habitués au Fortran.
Les étudiants entechnologie, en particulier entraitement du signal, sont beaucoup plus intéressés. Un ingénieur,Jack Little(en), en comprend rapidement les capacités et entreprend avec un collègue, Steve Bangert, de le recoder en langage C. En 1984, Jack Little, Cleve Moler et Steve Bangert créent la société The MathWorks afin de commercialiser la version 1.0 de MATLAB[5],[6].
MATLAB évolue par la suite en intégrant par exemple la bibliothèqueLAPACK en 2000[7], en se dotant de nombreuses boîtes à outils (Toolbox) et en incluant les possibilités données par d'autreslangages de programmation commeC++ ouJava.
Le logiciel MATLAB est construit autour du langage MATLAB. Uneinterface en ligne de commande, qui est un des éléments du bureau MATLAB, permet d’exécuter descommandes simples. Des séquences de commandes peuvent être sauvegardées dans unfichier texte, typiquement avec l’éditeur MATLAB, sous la forme d’un « script » ouencapsulées dans unefonction[8].
Comme son nom l’indique, l’intérêt de MATLAB est de pouvoir manipuler facilement destableaux à une dimension (« vecteur » dans le vocabulaire MATLAB), deux dimensions (« matrices ») ou à multi-dimensions. Par défaut, toutes les variables sont destableaux, MATLAB permet de faire de laprogrammation matricielle. En pratique, les tableaux sont définis de la manière suivante :
Lorsqu’on définit la variable nomméeC (ou lui affecte une nouvelle valeur si celle-ci existe déjà), on crée un tableau contenant les nombres 1, 3, 5, 7 et 9. Ce tableau débute par la valeur initiale 1, incrémenté à chaque valeur par l'incrément 2, et s’arrête avec la valeur finale (ou après avoir dépassé) 9. La variableD est une matrice.
L’indexation des tableaux commence à 1[11], ce qui est la convention utilisée pour lesmatrices en mathématiques et par le langageFortran, mais est contraire à certains langages de programmation où l’indexation commence à 0 (par exempleC ouPython).
La plupart des fonctions MATLAB acceptent les matrices et s’appliquent à chacun de leurs éléments. Par exemple,mod(2*J,n) multiplie chaque élément de « J » par 2, puis divise chaque élément modulo « n ».
Par ailleurs, s’il est possible d’utiliser desboucles itératives « for » ou « while », il est possible de se servir des notations vectorielles pour les remplacer. Par exemple, le code suivant crée uncarré magique de dimension n pour, nimpair[12].
↑Cleve B. Moler,Design of an interactive matrix calculator, AFIPS '80 Proceedings of the May 19-22, 1980, national computer conferenceDOI10.1145/1500518.1500576