MATLAB: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Cenni storici: riscritto in modo più semplice e fluente
Cenni storici: storia e aggiunte alternative open source
Riga 24:
|Genre2 = cas
}}
'''MATLAB''' (abbreviazione di '''Mat'''rix '''Lab'''oratory) è un ambiente per il [[calcolo numerico]] e l'analisi [[statistica]] scritto in [[linguaggio C|C]], che comprende anche l'omonimo [[linguaggio di programmazione]] creato dalla ''[[MathWorks]]''. MATLAB consente di manipolare [[Matrice (matematica)|matrici]], visualizzare [[funzione (matematica)|funzioni]] e dati, implementare [[algoritmo|algoritmi]], creare [[interfaccia utente|interfacce]] utente, e interfacciarsi con altri programmi.
Nonostante sia specializzato nel calcolo numerico, uno strumentario opzionale interfaccia MATLAB con il motore di calcolo simbolico di [[Maple]]. MATLAB è usato da milioni di persone nell'industria e nelle università per via dei suoi numerosi strumenti a supporto dei più disparati campi di studio applicati e funziona su diversi [[sistema operativo|sistemi operativi]], tra cui [[Windows]], [[Mac OS]], [[GNU/Linux]] e [[Unix]].
 
== Cenni storici ==
 
Abbreviazione di "MATrix LABoratory", MATLAB fu creato alla fine degli anni settanta da [[Cleve Moler]], presidente del dipartimento di scienze informatiche dell'[[Università del Nuovo Messico]]. Creò MATLAB per dare ai propri studenti accesso a [[LINPACK]] e ad [[EISPACK]] senza che dovessero necessariamente conoscere il [[Fortran]]. Presto il software si diffuse nelle altre università e trovò un grande pubblico tra la comunità dei matematici applicati. L'ingegnere [[John N. Little|Jack Little]] conobbe il programma durante una visita a Moler all'[[Università di Stanford]] nel [[1983]]. Riconoscendo il suo potenziale commerciale si unì con Moler e Steve Bangert: assieme riscrissero MATLAB in [[linguaggio C]] e fondarono la ''The MathWorks'' nel [[1984]] per continuarne lo sviluppo.
 
Nel 2020, a seguito delle sanzioni degli [[Stati Uniti d'America]] nei confronti della [[Cina]], MATLAB è stato ritirato da due università cinesi, che hanno risposto promuovendo alternative [[Open source|''open source'']] e sviluppandone altre in casa.<ref>{{Cita web|url=https://www.scmp.com/news/china/diplomacy/article/3088854/us-military-ban-locks-two-chinese-universities-out-popular|titolo=US military ban locks two Chinese universities out of popular software|sito=South China Morning Post|data=2020-06-12|lingua=en|accesso=2021-03-15}}</ref>
 
== Interfaccia ==
L'interfaccia principale di MATLAB è composta da diverse [[finestra (disambigua)|finestre]] che è possibile affiancare, spostare, ridurre a [[icona (informatica)|icona]], ridimensionare e così via. Le finestre principali, più usate, sono quattro:
 
* ''Command Windowwindow''
* ''Workspace''
* ''Current directory''
* ''Command history''
 
=== Prompt dei comandi (Command''command Windowwindow'') ===
La ''Commandcommand Windowwindow'' è una finestra dell'interfaccia principale di MATLAB, nella quale è possibile digitare [[istruzione (informatica)|comandi]] supportati e visualizzare a schermo in tempo reale i risultati. Ad esempio è possibile utilizzare MatlabMATLAB come una potente [[calcolatrice]]:
2+3
ans=5
Line 61 ⟶ 63:
Con la freccia in su, tasto ↑, si visualizzano i comandi eseguiti precedentemente ed è possibile eseguirli di nuovo. Si possono utilizzare le parentesi () per modificare la priorità tra le varie operazioni.
 
=== ''Workspace'' ===
IlLo ''Workspaceworkspace'' è lo spazio di lavoro (o spazio di memoria) contenente le variabili dichiarate. Per visualizzare tutte le variabili utilizzate si utilizza il comando <code>who</code>, mentre con il comando <code>whos</code> si visualizzano tutte le variabili utilizzate, ma in forma estesa, cioè ci viene data la loro descrizione con nome, dimensione, memoria occupata, classe e attributi.
 
La finestra Workspace''workspace'' elenca tutte le variabili allocate in workspace in questo momento, e dà la possibilità di allocare nuove variabili o di importare dall'esterno un elenco di variabili (ad esempio da un file di testo). È inoltre possibile stampare l'elenco delle variabili attuali od eliminarne una direttamente dalla finestra (senza scrivere nessun comando).
 
Per visualizzare innella Command''command Windowwindow'' il valore di una variabile memorizzata innello Workspace''workspace'' è sufficiente scrivere il nome della variabile stessa.
 
=== ''Current Directorydirectory'' ===
La finestra ''Currentcurrent Directorydirectory'' permette, come si può intuire, di esplorare il contenuto delle cartelle sul proprio hard[[supporto diskdi memoria]]. Da questa finestra è possibile aprire direttamente file compatibili con MATLAB con un semplice doppio click. Inoltre è possibile esplorare cartelle utilizzando, innella Command''command Windowwindow'', comandi tipici dei moderni sistemi operativi basati su tecnologia [[UNIX]] (come [[Linux]] e [[Apple Macintosh|MacintoshmacOS]]) come "cd nomecartella", "cd . .", "cd /indirizzocartella", e così via.
 
=== ''Command Historyhistory'' ===
Nella finestra ''Command History'' sono elencati tutti i comandi digitati di recente, divisi per ora e data. È possibile rilanciare direttamente dadalla Command''command Historyhistory'' un comando digitato innella Command''command Windowwindow'' in precedenza semplicemente con un doppio click.
 
== Programmare in MATLAB ==
Line 342 ⟶ 344:
3 5 7
4 9 2
 
== Alternative ==
Sono disponibili diverse alternative a MATLAB, tra cui:
 
* [[Maple]]
* [[Interactive Data Language]]
* [[Mathematica]]
 
Ce ne sono anche di disponibili come [[Open source|''open source'']] o [[software libero]]:
 
* [[GNU Octave]]
* [[Scilab]]
* [[FreeMat]]
* [[Julia (linguaggio di programmazione)|Julia]]
* [[Sage (software)|Sage]]
 
Sono relativamente compatibili con il linguaggio MATLAB. Tra queste, GNU Octave è unico perché vuole essere un ''drop-in'' [[GNU Octave#Compatibilità con il linguaggio MATLAB|compatibile con MATLAB]] a livello di sintassi.
 
Tra gli altri linguaggi che trattano gli [[Array|''array'']] come [[Tipo di dato|tipi di dato]] basilari sono presenti:
 
* [[APL]]
* [[Fortran]] (dal 90 in poi)
* S-Lang, insieme ai linguaggi statistici [[R (software)|R]] ed S
 
Esistono anche alcune librerie che aggiungono funzionalità simili ai linguaggi esistenti, come:
 
* ILNumerics per [[.NET Framework|.NET]]
* IT++ per [[C++]]
* Numeric.js per [[JavaScript]]
* SciLua e Torch per [[Lua]]
 
* Perl Data Language per [[Perl]]
* [[NumPy]], [[SciPy]] e [[Matplotlib]] per Python
* SciRuby per [[Ruby (linguaggio di programmazione)|Ruby]]
 
== Note ==