MATLAB

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}

Modèle:Sources secondaires Modèle:Infobox V3/Début Modèle:Infobox V3/Image Wikidata Modèle:Infobox V3/Séparateur Modèle:Infobox V3/Image Wikidata

Modèle:Infobox V3/Tableau début

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

{{#ifeq:Modèle:Wikidata|Modèle:Wikidata | | Modèle:Infobox V3/Tableau Ligne mixte Wikidata }}

Modèle:Infobox V3/Tableau Ligne mixte

Modèle:Infobox V3/Tableau Ligne mixte

Modèle:Infobox V3/Tableau Ligne mixte

Modèle:Infobox V3/Tableau Ligne mixte

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau Ligne mixte

Modèle:Infobox V3/Tableau Ligne mixte {{#invoke:Infobox/Fonctions/Logiciel|catByProgrammingLanguage}}

Modèle:Infobox V3/Tableau Ligne mixte

Modèle:Infobox V3/Tableau Ligne mixte

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau Ligne mixte

Modèle:Infobox V3/Tableau Ligne mixte

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau Ligne mixte Wikidata

Modèle:Infobox V3/Tableau fin

Modèle:Infobox V3/Titre Bloc Modèle:Infobox V3/Navigateur

Modèle:Infobox V3/Fin avec WikidataModèle:Rien{{#ifeq:|| {{#if:


| }}{{#if:

   | {{#if: 
       |
       |
     }}

}} }} MATLAB (ou Matlab) est un langage de script<ref>Modèle:Lien web</ref> 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 Modèle:Langue (« 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, et Fortran.

Les utilisateurs de MATLAB (environ 4 millions en 2019<ref name="mathworks">https://fr.mathworks.com/company/aboutus.html</ref>) 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 »).

Histoire

Le 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<ref>Cleve B. Moler, Design of an interactive matrix calculator, AFIPS '80 Proceedings of the May 19-22, 1980, national computer conference Modèle:Doi</ref>.

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, Modèle:Lien, 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<ref>Modèle:Lien web</ref>,<ref>Code source de la première version de MATLAB (écrite en Fortran), sur le site FTP du FUNET</ref>.

MATLAB évolue par la suite en intégrant par exemple la bibliothèque LAPACK en 2000<ref>Modèle:Lien web</ref>, 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.

Syntaxe

Le 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<ref>Modèle:Lien web</ref>.

Variables

Les variables sont définies avec l’opérateur d’affectation =. MATLAB est un langage à typage faible (dans le sens où les conversions de type sont implicites)<ref>Modèle:Lien web</ref>. Les variables ne sont pas déclarées avec leur type, sauf pour les objets symboliques<ref>sym function Documentation for the MATLAB Symbolic Toolbox</ref>, Par exemple : <syntaxhighlight lang="matlab"> >> x = 17 x =

17

>> x = 'hat' x = hat </syntaxhighlight>

Vecteurs/matrices

Comme son nom l’indique, l’intérêt de MATLAB est de pouvoir manipuler facilement des tableaux à une dimension (« vecteur » dans le vocabulaire MATLAB) ou deux dimensions (« matrices ») ou plus. Par défaut, toutes les variables sont des tableaux, MATLAB permet de faire de la Modèle:Lien. En pratique, les tableaux sont définis de la manière suivante :

<syntaxhighlight lang="matlab"> >> 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

</syntaxhighlight> Lorsqu’on définit la variable nommée C (ou affecte une nouvelle valeur à cette variable si celle-ci existe déjà), on crée un tableau contenant les nombres 1, 3, 5, 7 et 9. soit un tableau débutant par 1 (valeur initiale), incrémenté à chaque valeur par 2 (l’incrément), et s’arrête avec la valeur (ou après avoir dépassé) 9 (valeur finale). La variable D est une matrice.

L’indexation des tableaux commence à 1<ref>Modèle:Lien web.</ref>, 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, 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 des boucles « 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<ref>Experiments with MATLAB, Cleve Moler (chap. 10 - Magic Squares).</ref>.

<syntaxhighlight lang="matlab"> [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; </syntaxhighlight> La fonction meshgrid permet de créer des matrices carrées contenant 1:n.

Outils et modules associés

MATLAB est complété par de multiples boîtes à outils<ref>Liste des produits de MathWorks</ref>. Parmi les plus utilisés, on trouve : Modèle:Début de colonnes

  • Communications Toolbox
  • Control System Toolbox
  • Simscape
  • Image Processing Toolbox<ref>Modèle:ArticleModèle:Citation</ref>
  • MATLAB Compiler
  • Deep Learning Toolbox
  • Optimization Toolbox
  • Parallel Computing toolbox
  • Real-Time Workshop, renommé commercialement SimulinkCoder<ref>https://www.mathworks.com/products/simulink-coder Simulink Coder</ref>
  • Robust Control Toolbox
  • Signal Processing Toolbox
  • Excel Link
  • Simulink
  • Statistics and Machine Learning Toolbox
  • System Identification Toolbox
  • Predictive Maintenance Toolbox
  • Stateflow

Modèle:Fin de colonnes

Alternatives

Modèle:Voir aussi

Alternatives commerciales

Modèle:Début de colonnes

Modèle:Fin de colonnes

Alternatives libres

Modèle:Début de colonnes

Modèle:Fin de colonnes

Références

Modèle:Références

Voir aussi

Bibliographie

  • Adrian Biran et Moshe Breiner, MATLAB pour l'ingénieur : Versions 6 et 7, Pearson Education, 2004 Modèle:ISBN
  • Jean-Thierry Lapresté, Introduction à MATLAB, Ellipses, 2005 Modèle:ISBN

Liens externes

Modèle:Liens

Modèle:Palette

Modèle:Portail