MATLAB

Programmazione e sviluppo di algoritmi

MATLAB fornisce un linguaggio di alto livello e strumenti di sviluppo che consentono di sviluppare e analizzare velocemente algoritmi e applicazioni.

Programming and Developing Algorithms with MATLAB 4:32
Write programs and develop algorithms using the high-level language and development tools in MATLAB®.

Il linguaggio MATLAB

Il linguaggio MATLAB offre un supporto nativo per le operazioni vettoriali e matriciali fondamentali per risolvere problemi ingegneristici e scientifici velocizzando lo sviluppo e l'esecuzione.

Grazie al linguaggio MATLAB, la scrittura di programmi e lo sviluppo di algoritmi sono più veloci rispetto a quanto accade con i linguaggi tradizionali, poiché non serve eseguire attività amministrative di basso livello quali dichiarare le variabili, specificare i tipi di dato e allocare la memoria. In molti casi, il supporto per le operazioni vettoriali e matriciali elimina la necessità di cicli for. Di conseguenza, una riga di codice MATLAB può spesso sostituire varie righe di codice C o C++.

MATLAB mette a disposizione le funzioni dei tradizionali linguaggi di programmazione, inclusi il controllo di flusso, la gestione degli errori e la programmazione a oggetti (OOP). Si possono usare tipi di dato di base o strutture di dati avanzate, oppure definire tipi di dato personalizzati.

Un algoritmo di comunicazione che genera 1.024 bit casuali, converte il vettore in un segnale trasmesso, aggiunge rumore gaussiano complesso e riporta il risultato in solamente nove righe di codice MATLAB
Un algoritmo di comunicazione che genera 1.024 bit casuali, converte il vettore in un segnale trasmesso, aggiunge rumore gaussiano complesso e riporta il risultato in solamente nove righe di codice MATLAB

Si possono produrre risultati immediati eseguendo interattivamente i comandi uno alla volta. Questo approccio consente di esplorare rapidamente opzioni multiple ed eseguire iterazioni fino a raggiungere una soluzione ottimale. È possibile registrare le fasi interattive sotto forma di script e funzioni, che possono essere riutilizzate per automatizzare il lavoro.

I prodotti aggiuntivi a MATLAB forniscono algoritmi integrati per l'elaborazione di segnali e i sistemi di telecomunicazione, l'elaborazione di immagini e video, i sistemi di controllo e molti altri domini. Combinando questi algoritmi con i vostri, potrete costruire programmi e applicazioni complessi.

Strumenti di sviluppo

MATLAB include vari strumenti per un efficiente sviluppo degli algoritmi, tra cui:

  • Command Window – consente di inserirei dati, eseguire comandi e programmi e visualizzare i risultati interattivamente
  • MATLAB Editor – fornisce funzioni di modifica e debugging, come ad esempio l'impostazione di breakpoint e l'esecuzione del codice una riga alla volta
  • Code Analyzer – controlla automaticamente il codice per rilevare eventuali problemi e consiglia le modifiche da fare per massimizzare le prestazioni e la manutenibilità
  • MATLAB Profiler – misura le prestazioni dei programmi MATLAB e identifica le aree di codice da modificare per ottenere miglioramenti

Ulteriori strumenti confrontano il codice e i file di dati, fornendo report che mostrano le dipendenze dei file, permettono di aggiungere promemoria all'interno dei file e verificano la copertura del codice.

Programma MATLAB in esecuzione in modalità debug per la diagnosi dei problemi
Programma MATLAB in esecuzione in modalità debug per la diagnosi dei problemi

Integrazione con altri linguaggi e applicazioni

Le applicazioni MATLAB si possono integrare con quelle scritte in altri linguaggi. È possibile richiamare direttamente da MATLAB codice scritto in C, C++, Java e .NET. Usando la libreria MATLAB engine, è possibile richiamare codice MATLAB da applicazioni C, C++ o Fortran.

Prestazioni

MATLAB utilizza librerie ottimizzate per il processore per eseguire rapidamente calcoli matriciali e vettoriali. Per i calcoli scalari, MATLAB usa la sua tecnologia di calcolo just-in-time (JIT): in questo modo può offrire velocità di esecuzione analoghe a quelle dei linguaggi di programmazione tradizionali.

Per trarre pieno vantaggio dai computer multicore e multiprocessore, MATLAB offre numerose funzioni multithread, sia numeriche che di algebra lineare. Queste funzioni vengono eseguite automaticamente su thread di calcolo multipli durante un'unica sessione MATLAB: in questo modo, la loro esecuzione su computer multicore diventa più rapida.

Potrai sfruttare ancora di più i desktop multicore e le altre risorse di calcolo ad alte prestazioni, come  GPU e cluster, utilizzando i prodotti aggiuntivi per il calcolo parallelo. Questi prodotti forniscono costrutti di alto livello che consentono di parallelizzare le applicazioni con modifiche minime al codice MATLAB.

Avanti: Sviluppo e distribuzione di applicazioni
R2014a

Scarica l'ultima versione

Primi passi con MATLAB 5:07

MATLAB Student