Creatore | Cleve Moler |
---|---|
Sviluppato da | MathWorks |
Prima versione | 1984 |
Ultima versione | R2021a (17 marzo 2021) |
Scritto in | C , C ++ , Fortran e Java |
Sistema operativo | Microsoft Windows , macOS e GNU/Linux |
Ambiente | Linux , Unix , Mac OS , Windows |
Leggi formati | File MATLAB M ( d ) , formato dati gerarchico , file MAT ( d ) , MAT4 ( d ) , file MAT, livello 5, versione 6 ( d ) , file MAT, livello 5, versione 7 ( d ) , File MAT, livello 5, versione 7.3 ( d ) , BigTIFF ( d ) , modello MATLAB Simulink modello ( d ) , codice licenza MATLAB ( d ) , funzione compilata MATLAB Mac 64 bit ( d ) , funzione compilata MATLAB Linux 64 bit ( d ) , pacchetto di supporto MATLAB ( d ) , programma di installazione dell'app MATLAB ( d ) e MATLAB Compiler Project ( d ) |
Formati scritti | MATLAB M-File ( d ) , Hierarchical Data Format , MATLAB Simulink model Template ( d ) , MATLAB Mac funzione compilata a 64 bit ( d ) , MATLAB Linux funzione compilata a 64 bit ( d ) , pacchetto di supporto MATLAB ( d ) , programma di installazione dell'app MATLAB ( d ) ) e il progetto del compilatore MATLAB ( d ) |
genere | Calcolo numerico |
Licenza | Proprietario |
Sito web | fr.mathworks.com |
MATLAB (" laboratorio di matrice ") è un linguaggio di scripting emulato da un ambiente di sviluppo con lo stesso nome; viene utilizzato per scopi di calcolo numerico . Sviluppato dalla società The MathWorks , MATLAB consente di manipolare matrici , visualizzare curve e dati, implementare algoritmi , creare interfacce utente e può interfacciarsi con altri linguaggi come C , C++ , Java e Fortran .
Gli utenti di MATLAB (circa 4 milioni nel 2019) provengono da background molto diversi come ingegneria, scienza ed economia, in contesti sia industriali che di ricerca.
Matlab può essere utilizzato da solo o con toolbox .
Il linguaggio MATLAB è stato progettato da Cleve Moler alla fine degli anni '70 da due librerie scritte in Fortran : LINPACK e EISPACK .
Allora professore di matematica all'Università del New Mexico , voleva permettere ai suoi studenti di poter utilizzare queste due biblioteche senza conoscere Fortran. Cleve Moler lo utilizzò poi per i corsi tenuti alla Stanford University dove ricevette un'accoglienza mista da studenti di matematica, abituati al Fortran.
D'altra parte, gli studenti di tecnologia, in particolare di elaborazione dei segnali , erano molto più interessati. Un ingegnere, Jack Little (in) ne comprese rapidamente le capacità e si impegnò con un collega, Steve Bangert, a ricodificarlo in linguaggio C. Jack Little, Cleve Moler e Steve Bangert crearono la società The MathWorks nel 1984 per commercializzare la versione 1.0 da MATLAB.
MATLAB si è poi evoluto, ad esempio integrando nel 2000 la libreria LAPACK , acquisendo numerosi toolbox e includendo le possibilità date da altri linguaggi di programmazione come C++ o Java .
Il software MATLAB è costruito attorno al linguaggio MATLAB. Un'interfaccia a riga di comando , che fa parte del desktop MATLAB, consente di eseguire semplici comandi . Le sequenze di comandi possono essere salvate in un file di testo, in genere con l'editor MATLAB, come "script" o incapsulate in una funzione .
Le variabili sono definite con l'operatore di assegnazione = . MATLAB è un linguaggio di tipo debole (nel senso che le conversioni di tipo sono implicite). Le variabili non vengono dichiarate con il loro tipo, ad eccezione degli oggetti simbolici, ad esempio:
>> x = 17 x = 17 >> x = 'hat' x = hatCome suggerisce il nome, l'interesse di MATLAB è quello di essere in grado di gestire facilmente array con una dimensione ("vettore" nel vocabolario MATLAB) o due dimensioni ("matrici") o più. Per impostazione predefinita, tutte le variabili sono array, MATLAB consente la programmazione a matrice (in) . In pratica, le tabelle sono definite come segue:
>> 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 = 11Quando definiamo la variabile denominata C(o assegniamo un nuovo valore a questa variabile se esiste già), creiamo un array contenente i numeri 1, 3, 5, 7 e 9. cioè un array che inizia con 1 (valore iniziale), incrementato ad ogni valore di 2 (l'incremento), e si ferma al valore (o dopo aver superato) 9 (valore finale). La variabile D è una matrice.
L'indicizzazione degli array parte da 1, che è la convenzione utilizzata per le matrici in matematica e dal linguaggio Fortran , ma che è contraria ad alcuni linguaggi di programmazione dove l'indicizzazione inizia da 0 (ad esempio C o Python ).
La maggior parte delle funzioni MATLAB accetta matrici e si applica a ciascuno dei suoi elementi. Ad esempio, mod(2*J,n)moltiplica ogni elemento di "J" per 2, quindi dividi ogni elemento modulo "n". Inoltre, se è possibile utilizzare i cicli "For" o "while"; è possibile utilizzare notazioni vettoriali per sostituirle. Ad esempio, il codice seguente crea un quadrato magico di dimensione n per, n dispari .
[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 funzione meshgridpermette di creare matrici quadrate contenenti 1: n.
MATLAB è integrato da più toolkit. Tra i più utilizzati troviamo: