MATLABMATLAB
MATLAB (ou Matlab) est un langage de script[2] destiné au calcul numérique, et émulé par l'environnement de développement du même nom. Le nom MATLAB est un mot-valise construit sur l'anglais matrix laboratory (« laboratoire matriciel »). Développé par la société The MathWorks, MATLAB permet de manipuler des matrices, d'afficher des courbes et des données, de mettre en œuvre des algorithmes, de créer des interfaces utilisateurs, et peut s’interfacer avec d’autres langages comme le C, C++, Java, Python et Fortran. 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 la recherche. MATLAB peut s'utiliser seul ou bien avec des toolboxes (« boîte à outils »). HistoireLe langage MATLAB est conçu par Cleve Moler à la fin des années 1970 à partir de deux bibliothèques écrites en Fortran : LINPACK et EISPACK[4]. 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 en technologie, en particulier en traitement 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èque LAPACK en 2000[7], en se dotant de nombreuses boîtes à outils (Toolbox) et en incluant les possibilités données par d'autres langages de programmation comme C++ ou Java. SyntaxeLe logiciel MATLAB est construit autour du langage MATLAB. Une interface en ligne de commande, qui est un des éléments du bureau MATLAB, permet d’exécuter des commandes simples. Des séquences de commandes peuvent être sauvegardées dans un fichier texte, typiquement avec l’éditeur MATLAB, sous la forme d’un « script » ou encapsulées dans une fonction[8]. VariablesLes variables sont définies avec l’opérateur d’affectation MATLAB est un langage à typage faible, c'est-à-dire que les conversions de type sont implicites[9]. Les variables ne sont pas déclarées avec leur type, sauf pour les objets symboliques[10], Par exemple : >> x = 17
x =
17
>> x = 'hat'
x =
hat
Vecteurs/matricesComme son nom l’indique, l’intérêt de MATLAB est de pouvoir manipuler facilement des tableaux à une dimension (« vecteur » dans le vocabulaire MATLAB), deux dimensions (« matrices ») ou à multi-dmensions. Par défaut, toutes les variables sont des tableaux, MATLAB permet de faire de la programmation matricielle. En pratique, les tableaux sont définis de la manière suivante : >> A = [3*4, pi/2]
A =
12.0000 1.5708
>> B = 3*sin(A)
B =
-1.6097 3.0000
>> C = 1:2:9
C =
1 3 5 7 9
>> D = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
D =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
>> D(2,3)
ans =
11
Lorsqu’on définit la variable nommée La variable L’indexation des tableaux commence à 1[11], ce qui est la convention utilisée pour les matrices en mathématiques et par le langage Fortran, mais qui est contraire à certains langages de programmation où l’indexation commence à 0 (par exemple C ou Python). La plupart des fonctions MATLAB acceptent les matrices et s’appliquent à chacun de ses éléments. Par exemple, Par ailleurs, s’il est possible d’utiliser des boucles itératives « For » ou « while » ; il est possible de se servir des notations vectorielles pour les remplacer. Par exemple, le code suivant, crée un carré magique de dimension n pour, n impair[12]. [J,I] = meshgrid(1:n);
A = mod(I+J-(n+3)/2,n);
B = mod(I+2*J-2,n);
M = n*A + B + 1;
La fonction Outils et modules associésMATLAB est complété par de multiples boîtes à outils[13]. Parmi les plus utilisés, on trouve :
AlternativesAlternatives commerciales
Alternatives libresRéférences
Voir aussiBibliographie
Liens externes
|