MATLAB

MATLAB Descrição da imagem Matlab Logo.png.

Em formação
O Criador Cleve Moler
Desenvolvido por MathWorks
Primeira versão 1984
Última versão R2021a (17 de março de 2021)
Escrito em C , C ++ , Fortran e Java
Sistema operacional Microsoft Windows , macOS e GNU / Linux
Meio Ambiente Linux , Unix , Mac OS , Windows
Leia os formatos 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 ) , Arquivo MAT, nível 5, versão 7.3 ( d ) , BigTIFF ( d ) , modelo do modelo MATLAB Simulink ( d ) , senha de licença MATLAB ( d ) , função compilada MATLAB Mac 64bit ( d ) , função compilada MATLAB Linux 64bit ( d ) , Pacote de suporte MATLAB ( d ) , instalador de aplicativo MATLAB ( d ) e Projeto de compilador MATLAB ( d )
Formatos escritos MATLAB M-File ( d ) , Hierarchical Data Format , MATLAB Simulink model Template ( d ) , MATLAB Mac 64bit função compilada ( d ) , MATLAB Linux 64bit função compilada ( d ) , MATLAB support package ( d ) , MATLAB app installer ( d) ) ) e Projeto do Compilador MATLAB ( d )
Modelo Cálculo numérico
Licença Proprietário
Local na rede Internet fr.mathworks.com

MATLAB ("  laboratório de matriz  ") é uma linguagem de script emulada por um ambiente de desenvolvimento de mesmo nome; ele é usado para fins de cálculo numérico . Desenvolvido pela empresa The MathWorks , o MATLAB permite manipular matrizes , exibir curvas e dados, implementar algoritmos , criar interfaces de usuário e pode fazer interface com outras linguagens como C , C ++ , Java e Fortran .

Os usuários do MATLAB (cerca de 4 milhões em 2019) vêm de origens muito diferentes, como engenharia, ciência e economia, em contextos industriais e de pesquisa.

O Matlab pode ser usado sozinho ou com caixas de ferramentas .

História

A linguagem MATLAB foi projetada por Cleve Moler no final dos anos 1970 a partir de duas bibliotecas escritas em Fortran  : LINPACK e EISPACK .

Na época, professor de matemática na Universidade do Novo México , ele queria permitir que seus alunos pudessem usar essas duas bibliotecas sem conhecer o Fortran. Cleve Moler então o usou para cursos ministrados na Universidade de Stanford, onde recebeu uma recepção mista de estudantes de matemática, acostumados com o Fortran.

Por outro lado, os estudantes de tecnologia, especialmente de processamento de sinais , estavam muito mais interessados. Um engenheiro, Jack Little  (in) compreendeu rapidamente suas capacidades e comprometeu-se com um colega, Steve Bangert, a recodificá-lo na linguagem C. Jack Little, Cleve Moler e Steve Bangert criaram a empresa The MathWorks em 1984 para comercializar a versão 1.0 por MATLAB.

O MATLAB então evoluiu, por exemplo, integrando a biblioteca LAPACK em 2000, adquirindo inúmeras caixas de ferramentas e incluindo as possibilidades oferecidas por outras linguagens de programação, como C ++ ou Java .

Sintaxe

O software MATLAB é construído em torno da linguagem MATLAB. Uma interface de linha de comando , que faz parte da área de trabalho do MATLAB, permite que você execute comandos simples. As sequências de comandos podem ser salvas em um arquivo de texto, normalmente com o editor MATLAB, como um "script" ou encapsuladas em uma função .

Variáveis

As variáveis ​​são definidas com o operador de atribuição = . MATLAB é uma linguagem de tipo fraco (no sentido de que as conversões de tipo estão implícitas). Variáveis ​​não são declaradas com seu tipo, exceto para objetos simbólicos, por exemplo:

>> x = 17 x = 17 >> x = 'hat' x = hat

Vetores / matrizes

Como o próprio nome sugere, o interesse do MATLAB é ser capaz de lidar facilmente com matrizes com uma dimensão (“vetor” no vocabulário do MATLAB) ou duas dimensões (“matrizes”) ou mais. Por padrão, todas as variáveis ​​são arrays, o MATLAB permite a programação de matrizes  (in) . Na prática, as tabelas são definidas da seguinte forma:

>> 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

Quando definimos a variável nomeada C(ou atribuímos um novo valor a esta variável se ela já existir), criamos um array contendo os números 1, 3, 5, 7 e 9. ou seja, um array começando com 1 (valor inicial), incrementado em cada valor por 2 (o incremento), e para com o valor (ou depois de ter excedido) 9 (valor final). A variável D é uma matriz.

A indexação de matrizes começa em 1, que é a convenção usada para matrizes em matemática e pela linguagem Fortran , mas que é contrária a algumas linguagens de programação onde a indexação começa em 0 (por exemplo C ou Python ).

A maioria das funções do MATLAB aceita matrizes e se aplica a cada um de seus elementos. Por exemplo, mod(2*J,n)multiplique cada elemento de "J" por 2 e, em seguida, divida cada módulo de elemento "n". Além disso, se for possível usar loops “For” ou “while”; é possível usar notações vetoriais para substituí-los. Por exemplo, o código a seguir cria um quadrado mágico de dimensão n para, n ímpar .

[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;

A função meshgridpermite criar matrizes quadradas contendo 1: n.

Ferramentas e módulos associados

O MATLAB é complementado por vários kits de ferramentas. Entre os mais utilizados, encontramos:

  • Caixa de ferramentas de comunicação
  • Caixa de ferramentas do sistema de controle
  • Simscape
  • Caixa de ferramentas de processamento de imagem
  • Compilar MATLAB
  • Caixa de ferramentas de aprendizagem profunda
  • Caixa de Ferramentas de Otimização
  • Caixa de ferramentas de computação paralela
  • Workshop em tempo real, renomeado comercialmente SimulinkCoder
  • Caixa de ferramentas de controle robusta
  • Caixa de ferramentas de processamento de sinal
  • Link Excel
  • Simulink
  • Estatísticas e caixa de ferramentas de aprendizado de máquina
  • Caixa de ferramentas de identificação do sistema
  • Caixa de ferramentas de manutenção preditiva
  • Stateflow

Alternativas

Alternativas comerciais

Alternativas gratuitas

Referências

  1. "  https://fr.mathworks.com/help/matlab/release-notes.html  "
  2. "  Scripting Language vs Programming Language  " , no Stack Overflow (acessado em 31 de agosto de 2019 )
  3. https://fr.mathworks.com/company/aboutus.html
  4. Cleve B. Moler, Design of an Interactive matrix calculator , AFIPS '80 Proceedings of the May 19-22, 1980, National Computer conference DOI : 10.1145 / 1500518.1500576
  5. (em) Cleve Moler, "  The Origins of MATLAB  "
  6. Código fonte da primeira versão do MATLAB (escrito em Fortran), no site FTP da FUNET
  7. (em) Cleve Moler, "  MATLAB Incorporates LAPACK  "
  8. (em) "  Documentação técnica MATLAB  " , Mathworks.com (acessado em 7 de junho de 2010 )
  9. "  Comparação de MATLAB e outras línguas OO  "
  10. documentação da função sym para a caixa de ferramentas simbólica do MATLAB
  11. (em) "  MATLAB Online Documentation  " , Mathworks.com (acessado em 7 de junho de 2010 ) .
  12. Experimentos com MATLAB, Cleve Moler (cap. 10 - Quadrados mágicos).
  13. Lista de produtos MathWorks
  14. (en) Leonard et al. , “  Análise de imagens de microtomogramas de raios-X de materiais moles durante a secagem convectiva  ” , Journal of Microscopy , vol.  2,12 de novembro de 2003, p.  197-204 ( DOI  10.1046 / j.1365-2818.2003.01242.x )“Os algoritmos foram desenvolvidos com o software Matlab e a caixa de ferramentas de análise de imagens versão 6.0 da Matworks. "
  15. https://www.mathworks.com/products/simulink-coder Simulink Coder

Veja também

Bibliografia

  • Adrian Biran e Moshe Breiner, MATLAB for Engineers: Versions 6 e 7 , Pearson Education, 2004 ( ISBN  2744070254 )
  • Jean-Thierry Lapresté, Introdução ao MATLAB , Ellipses, 2005 ( ISBN  2729824014 )

links externos

Site oficial