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
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
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
* ''Workspace''
* ''Current directory''
* ''Command history''
=== Prompt dei comandi (
La ''
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'' ===
La finestra
Per visualizzare
=== ''Current
La finestra ''
=== ''Command
Nella finestra ''Command History'' sono elencati tutti i comandi digitati di recente, divisi per ora e data. È possibile rilanciare direttamente
== 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 ==
|