Novità in MATLAB

Nuovi strumenti per pre-elaborare e analizzare dati, scrivere script e algoritmi, creare applicazioni e sviluppare software in modalità team-based.

MATLAB non è mai stato così veloce. Scopri tutte le novità più da vicino.

Ambiente

NOVITÀ Supporto di Python per l’editor: visualizzazione e modifica di file Python con colorazione della sintassi, rientro automatico e abbinamento dei delimitatori (R2022a)

NOVITÀ Temi in MATLAB Online: modifica dei colori del desktop MATLAB mediante la selezione di un tema chiaro o scuro (R2022a)

NOVITÀ Colori in Live Editor: modifica dei colori di testo e sfondo di live script e funzioni (R2022a)

NOVITÀ Esportazione in Live Editor: esportazione programmatica di live script e funzioni con la funzione export (R2022a)

NOVITÀ Attività in Live Editor: sviluppo delle proprie attività di Live Editor da utilizzare nei live script (R2022a)

Editor: refactoring del codice e modifica dei blocchi, perfezionamento dei suggerimenti relativi al codice, completamento automatico del codice e controlli di debug inline (R2021b)

Animazioni di Live Editor: utilizzo dell’interfaccia interattiva per controllare le animazioni (R2021a) ed esportarle in filmati o GIF animate (R2021b)

Controlli di Live Editor: collegamento di variabili ai valori dei controlli di Live Editor per creare controlli dinamici (R2021a); impostazione di valori predefiniti (R2021b)

Linguaggio e programmazione

Usa nuovi tipi di dati e costrutti di linguaggio per scrivere codice più veloce, chiaro e facile da mantenere. 

NOVITÀ Funzione pcode: creazione di file di codice P con maggiore offuscamento (R2022a)

NOVITÀ backgroundPool: esecuzione asincrona di una funzione senza bloccare il prompt dei comandi da MATLAB (R2021b); interrogazione delle funzioni in coda e in esecuzione e stato del pool di background (R2022a)

Modular Indexing: personalizzazione individuale delle operazioni di indicizzazione delle classi utilizzando le nuove superclassi (R2021b)

Sintassi nome=valore: utilizzo della sintassi nome=valore per qualsiasi funzione che utilizzi argomenti nome-valore (R2021a)

Visualizzatore di diagrammi di classe: creazione di diagrammi di classe grafici per esplorare i dettagli delle classi e condividere i progetti (R2021a)

Convalida degli argomenti di input delle funzioni: possibilità di dichiarare gli argomenti di input di una funzione per semplificare il controllo degli errori di input (R2020b, R2019b)

Oggetto pattern: creazione di pattern per la ricerca di testo nelle stringhe (R2020b)

Codice che mostra le funzioni e gli argomenti per cercare l’immagine di una palla.

Esempio di convalida degli argomenti di una funzione con il blocco arguments.

Importazione e analisi dei dati

Consulta, organizza, pulisci e analizza i dati provenienti da fonti diverse.

NOVITÀ App Data Cleaner: identificazione e pulizia interattiva di dati timetable disordinati (R2022a)

NOVITÀ Funzioni di pre-elaborazione dei dati: aggiunta di variabili trasformate ai dati di input (R2022a)

NOVITÀ File Opus: utilizzo di file audio Opus (.opus) (R2022a)

I/O di file: lettura e scrittura diretta di file XML, HTML e Microsoft Word in tabelle, timetable e strutture (R2021b, R2021a, R2020b)

Attività di Live Editor per la pre-elaborazione dei dati: aggiunta di interfacce point-and-click semplici a un live script per eseguire una serie specifica di operazioni, tra cui la rimozione di valori mancanti e outlier, lo smoothing e la normalizzazione e il raggruppamento e l’unione (R2019b-R021b)

Funzione trenddecomp: individuazione di tendenze a lungo termine e stagionali nei dati (R2021b)

Funzione timeseries2timetable: conversione di oggetti timeseries in timetable (R2021b)

HDF5: supporto di HDF5 versione 1.10, inclusi Single-Writer/Multiple-Reader (SWMR), Virtual Dataset (VDS) e Metadata Cache Fine-Tuning (R2021b)

NetCDF: supporto per la NetCDF versione 4.7.4, inclusa la lettura e la scrittura di dati NC_STRING (R2021b); abilitazione della lettura di intervalli di byte di set di dati remoti (R2022a)

Pre-elaborazione dei dati con l’attività Clean Outlier Data in Live Editor.

Big Data

Espandi la tua analisi ai Big Data senza effettuare grandi cambiamenti.

NOVITÀ File Parquet: utilizzo di filtraggio condizionale (Predicate Pushdown) con rowfilter per limitare il volume dei dati importati; supporto per la lettura e scrittura di gruppi di righe e strutture dati annidate (R2022a)

Prestazioni Datastore: possibilità di specificare l’oggetto FileSet nei datastore per prestazioni migliori (R2021b)

Datastore: lettura di tutti i dati da un datastore mediante l’elaborazione parallela (R2021a); combinazione e trasformazione di datastore (R2019a)

Scrittura nei datastore: possibilità di scrivere grandi raccolte di dati nei datastore sul disco per l’ingegneria dei dati e i workflow basati su file (R2020a)

Array verticali: utilizzo di array verticali con più funzioni, tra cui:

  • groupfilter e matches  (2020a)
  • setdiff, xcorr e outerjoin (2019b)
  • groupcounts, intersect e svd (2019a)

Datastore personalizzati: lettura dei dati contenuti nei database basati su Hadoop usando il Custom Datastore Framework (R2019a)

Oggetto FileDatastore: lettura di file personalizzati di grandi dimensioni grazie all’importazione del file in porzioni più piccole (R2019a)

Tabella con colorazione del codice che mostra i voli delle compagnie aeree per mese e anno tra il 1987 e il 2008.

Gli array verticali operano su dati che hanno più righe rispetto a quelle consentite in memoria.

Matematica

Le funzioni matematiche forniscono una serie di metodi di calcolo numerico per analizzare dati, sviluppare algoritmi e creare modelli.

NOVITÀ Funzione tensorprod: calcolo dei prodotti tensoriali tra due array (R2022a)

NOVITÀ Matematica N-D Array: risoluzione di equazioni lineari (pagemldivide, pagemrdivide), calcolo di matrici inverse (pageinv) ed esecuzione della decomposizione ai valori singolari (pagesvd) su pagine di N-D Array (R2022a, R2021b)

Funzioni ode78 e ode89: utilizzo di metodi Runge-Kutta di ordine superiore per equazioni differenziali ordinarie (R021b)

Algoritmi grafici: calcolo di tutti i percorsi, tutti i cicli e della base dei cicli (R2021a)

Attività Optimize di Live Editor: risoluzione interattiva di problemi di ottimizzazione (R2020b)

Finestra di ottimizzazione che mostra le opzioni per minimizzare una funzione con o senza vincoli.

Utilizzo dell’attività Optimize di Live Editor per definire e risolvere interattivamente problemi di ottimizzazione.

Visualizzazione dei dati

Visualizza i dati con le nuove funzioni di plottaggio e le possibilità di personalizzazione.

NOVITÀ Plottaggio di dati delle tabelle: passaggio delle tabelle direttamente a plot, plot3, polarplot e altre funzioni di line plotting (R2022a) e grafici a dispersione, a bolle e a sciame (R2021b)

NOVITÀ Funzione exportgraphics: creazione di file GIF animati (R2022a); cattura e aggiunta di grafici a PDF esistenti (R2021b)

Creazione di attività Plot Live Editor: creazione interattiva di grafici e generazione di codice (R2021a); aggiunta di visualizzazioni ai grafici generati (R2021b)

Nuove funzioni grafiche: visualizzazione delle relazioni parte-intero con bubblecloud (R2021a); creazione di grafici a bolle in coordinate polari, 2D e 3D con bubblechart, bubblechart3 e polarbubblechart (R2020b); visualizzazione delle distribuzioni di dati discreti con swarmchart (R2020b)

Funzioni exportgraphics e copygraphics: salvataggio e copia di elementi grafici con un migliore supporto per i workflow di pubblicazione (R2020a)

Funzione tiledlayout: creazione di layout configurabili di grafici in una figura (R2019b); posizionamento, annidamento e modifica delle dimensioni delle griglie dei layout (R2020a)

Creazione di applicazioni

App Designer consente di creare applicazioni professionali senza dover essere uno sviluppatore software professionista.

NOVITÀ Attività in Live Editor: sviluppo delle proprie attività di Live Editor da utilizzare nei live script (R2022a)

NOVITÀ Componenti personalizzati dell’interfaccia utente: creazione interattiva di componenti personalizzati IU con App Designer (R2022a) o creazione programmatica della propria classe (R2020b) per realizzare componenti di interfaccia utente composite in grado di inglobare gli algoritmi, oltre alla grafica e agli oggetti dell’interfaccia

NOVITÀ Componenti di interfaccia utente di tabella: riorganizzazione interattiva delle colonne di componenti interfaccia utente di tabella (R2022a); navigazione programmatica a una posizione all’interno di un componente di interfaccia utente di tabella mediante la funzione scroll (R2021a)

NOVITÀ Accessibilità: possibilità di modificare l’ordine di focus del tasto tab dei componenti in App Designer e assegnare alla tastiera il focus sui componenti IU in modo programmatico mediante la funzione focus (R2022a)

NOVITÀ Stili: aggiunta di icone nelle celle di tabelle e nei nodi di alberi (R2022a); aggiunta di stili a nodi e livelli in un componente di interfaccia utente ad albero (R2021b); creazione e aggiunta di stili per righe, colonne o celle in un componente di interfaccia utente di tabella (R2019b)

Esecuzione del codice in background: utilizzo del linguaggio parallelo (backgroundPool) per creare applicazioni più reattive (R2021b)

App Designer: utilizzo di strumenti e scorciatoie da Live Editor nella Code View (R2021b); ingrandimento e panoramica dell’area di progettazione di Design View (R2021a)

Strumento di confronto: differenziazione e unione delle app di App Designer (R2020b)

Interfacce con linguaggi esterni

MATLAB fornisce un’integrazione flessibile e bidirezionale con altri linguaggi di programmazione. In questo modo i team che utilizzano linguaggi di programmazione diversi possono collaborare e concentrarsi sullo sviluppo di prodotti piuttosto che sulla ricodifica in un altro linguaggio.

NOVITÀ Python: conversione di tipi di liste e tuple di Python in tipi di MATLAB (R2022a)

NOVITÀ Python: utilizzo della sintassi nome=valore per passare argomenti keyword alle funzioni Python (R2022a)

Funzioni pyrun e pyrunfile: esecuzione di comandi e script Python da MATLAB (R2021b)

Python: supporto di array multidimensionali complessi (R2021b)

Interfaccia C++: costruzione di un’interfaccia MATLAB in una libreria C++ da file di intestazione, file sorgente o file di libreria (R2021a, R2020b)

Esecuzione Python esterna al processo: possibilità di eseguire le funzioni Python esternamente al processo per evitare conflitti tra librerie (R2019b)

Prestazioni

MATLAB diventa sempre più veloce ad ogni release. E non serve modificare nemmeno una riga di codice.

NOVITÀ Classi: aumento delle prestazioni per i metodi statici, accesso alle proprietà delle costanti e funzioni package negli script (R2022a)

NOVITÀ Conversione di tipi di dati Python: aumento delle prestazioni per il passaggio tra tipi di dati Python e MATLAB esternamente al processo (R2022a)

NOVITÀ API MATLAB Engine per Python: aumento delle prestazioni con array multidimensionali di grandi dimensioni in Python (R2022a)

NOVITÀ Indicizzazione table: aumento delle prestazioni per l’assegnazione di elementi tramite pedici con parentesi graffe, notazione a punti o livelli multipli di indicizzazione (R2022a, R2021b)

NOVITÀ Funzione fzero: aumento delle prestazioni (R2022a)

Funzioni qrinsert e qrdelete: aumento delle prestazioni modificando le fattorizzazioni QR (R2021b)

Grafici nelle applicazioni: aumento delle prestazioni per la creazione di grafici in uifigure (R2021b)

Moltiplicazione di matrici sparse: aumento delle prestazioni attraverso la moltiplicazione di matrici sparse di grandi dimensioni (R2021a)

Sistemi lineari sparsi: aumento delle prestazioni per la risoluzione di sistemi lineari sparsi A*X = B con multicolonna B (R2021a)

Grafico a barre che mostra il miglioramento delle prestazioni di MATLAB nel corso degli anni.

Sviluppo software

Gli strumenti di sviluppo software consentono di gestire e testare il codice, integrarlo con altri sistemi software e distribuire le applicazioni nel cloud.

NOVITÀ App Code Compatibility Analyzer: identificazione e risoluzione dei problemi di compatibilità con la versione attuale di MATLAB (R2022a)

NOVITÀ Unit Testing Framework: utilizzo del template di classe TestCase per creare test in modo più rapido e accurato (R2021b); raccolta di metriche di copertura di istruzioni e funzioni per il codice sorgente (R2022a); esecuzione di test in parallelo su cluster e cloud (R2020b)

MATLAB Online: collaborazione utilizzando progetti e Git in MATLAB Online (R2021b)

Progetti: organizzazione del lavoro, automatizzazione delle attività e dei processi e collaborazione con il proprio team (R2019a)

Plugin Jenkins per MATLAB: esecuzione di test MATLAB e generazione di report dei test in formati quali JUnit, TAP e report sulla coverage del codice nel formato Cobertura

Nuove architetture di riferimento: distribuzione ed esecuzione di MATLAB su Amazon Web Services (AWS) e Microsoft Azure

Current Folder mostra l’opzione Source Control selezionata da un menu, seguita dall’opzione Update from SVN nel menu successivo.

Utilizzo di strumenti di controllo delle sorgenti di terze parti come SVN direttamente da MATLAB.

Controllo dell’hardware

Controlla i microcontroller più diffusi come Arduino e Raspberry Pi, acquisisci immagini dalle webcam e raccogli dati dai sensori e dati immagine dai droni.

NOVITÀ App Hardware Manager: connessione all’hardware da MATLAB (R2022a)

NOVITÀ Arduino: supporto di schede di sviluppo ESP32 MCU (R2022a)

Arduino: connessione e controllo delle schede con l’app Arduino Explorer (R2021b); connettività BLE per Arduino (R2021b)

Supporto per sensori: lettura di dati da parte del sensore APDS9960 collegato ad Arduino (R2021b)

Raspberry Pi: supporto per shield CAN (R2021b)

Droni: connessione di più droni Ryze Tello per il controllo e la lettura di dati dei sensori (2021b)

Schermata dell’app Arduino Explorer che mostra la configurazione dei pin e un grafico dei pin.

Definizione delle misure dei sensori con l'app Arduino Explorer.