What's New in MATLAB
New tools for preprocessing and analyzing data, writing scripts and algorithms, building apps, and team-based software development.
And by the way, MATLAB is faster than ever. Take a closer look.
New tools for preprocessing and analyzing data, writing scripts and algorithms, building apps, and team-based software development.
And by the way, MATLAB is faster than ever. Take a closer look.
NEW Editor Python Support: View and edit Python files with syntax highlighting, auto-indenting, and delimiter matching (R2022a)
NEW Themes in MATLAB Online: Change the colors of the MATLAB desktop by selecting a dark or light theme (R2022a)
NEW Live Editor Colors: Change the text and background colors of live scripts and functions (R2022a)
NEW Live Editor Export: Export live scripts and functions programmatically using the export
function (R2022a)
NEW Live Editor Tasks: Develop your own Live Editor tasks for use in live scripts (R2022a)
Editor: Code refactoring and block editing, improved code suggestions, automatic code completion, and inline debugging controls (R2021b)
Live Editor Animations: Use interactive interface to control animations (R2021a) and export them to movies or animated GIFs (R2021b)
Live Editor Controls: Create dynamic controls by linking variables to values of live editor controls (R2021a); set default values (R2021b)
NEW pcode
Function: Create P-code files with enhanced obfuscation(R2022a)
NEW backgroundPool
: Execute a function asynchronously without blocking the command prompt from MATLAB (R2021b); query queued and running futures and status of background pool (R2022a)
Modular Indexing: Customize class indexing operations individually using new superclasses (R2021b)
name=value
syntax: Use name=value
syntax for any function using name-value arguments (R2021a)
Class Diagram Viewer: Create graphical class diagrams to explore class details and share designs (R2021a)
Function Input Argument Validation: Declare function input arguments to simplify input error checking (R2020b, R2019b)
pattern
Object: Create patterns for text searching in strings (R2020b)
Function argument validation example using arguments
block.
NEW Data Cleaner App: Interactively identify and clean messy timetable data (R2022a)
NEW Data Preprocessing Functions: Append transformed variables to input data (R2022a)
NEW Opus Files: Work with Opus (.opus) audio files (R2022a)
File I/O: Read and write XML, HTML, and Microsoft Word files directly into table, timetable and structs (R2021b, R2021a, R2020b)
Data Preprocessing Live Editor Tasks: Add simple point-and-click interfaces to a live script to perform a specific set of operations, including removing missing values and outliers, smoothing and normalizing, and grouping and joining (R2019b-R021b)
trenddecomp
Function: Find long-term and seasonal trends in data (R2021b)
timeseries2timetable
Function: Convert timeseries
objects to timetables (R2021b)
HDF5: Support for HDF5 version 1.10, including Single-Writer/Multiple-Reader (SWMR), Virtual Dataset (VDS), and Metadata Cache Fine-Tuning (R2021b)
NetCDF: Support for NetCDF version 4.7.4, including reading and writing NC_STRING data (R2021b); enable byte-range reading of remote datasets (R2022a)
Data preprocessing using the Clean Outlier Data Live Editor task.
NEW Parquet Files: Conditional filtering (Predicate Pushdown) with rowfilter
to limit volume of data imported; support for reading and writing of row groups and nested data structures (R2022a)
Datastore Performance: Specify FileSet
object in datastores for increased performance (R2021b)
Datastores: Read all data from a datastore using parallel processing (R2021a); combine and transform datastores (R2019a)
Datastore Write: Write large collections of data in datastores out to disk for data engineering and file-based workflows (R2020a)
Tall Arrays: Operate on tall arrays with more functions, including:
groupfilter
and matches
(2020a)setdiff
, xcorr
, and outerjoin
(2019b)groupcounts
, intersect
, and svd
(2019a)Custom Datastore: Read from Hadoop-based databases using the custom datastore framework (R2019a)
FileDatastore
Object: Read large custom files by importing the file in smaller portions (R2019a)
Tall arrays operate on data that has more rows than fit in memory.
NEW tensorprod
Function: Calculate tensor products between two arrays (R2022a)
NEW N-D Array Math: Solve linear equations (pagemldivide
, pagemrdivide
), calculate matrix inverses (pageinv
), and perform singular value decomposition (pagesvd
) on pages of N-D arrays (R2022a, R2021b)
ode78
and ode89
Functions: High-order Runge-Kutta solvers for ordinary differential equations (R021b)
Graph Algorithms: Compute all paths, all cycles, and cycle basis (R2021a)
Optimize Live Editor Task: Solve optimization problems interactively (R2020b)
Use the Optimize Live Editor task to define and solve optimization problems interactively.
NEW Plotting Table Data: Pass tables directly to plot
, plot3
, polarplot
, and other line plotting functions (R2022a) and scatter plots, bubble charts, and swarm charts (R2021b)
NEW exportgraphics
Function: Create animated GIF files (R2022a); capture and append graphics to existing PDFs (R2021b)
Create Plot Live Editor Task: Create plots interactively and generate code (R2021a); add visualizations to generated plots (R2021b)
New Charting Functions: Visualize part-to-whole relationships with bubblecloud
(R2021a); create bubble charts in 2D, 3D, and polar coordinates with bubblechart
, bubblechart3
, and polarbubblechart
(R2020b); visualize distributions of discrete data with swarmchart
(R2020b)
exportgraphics
and copygraphics
Functions: Save and copy graphics with improved support for publishing workflows (R2020a)
tiledlayout
Function: Create configurable layouts of plots in a figure (R2019b); position, nest, and change the grid size of layouts (R2020a)
App Designer lets you create professional apps without having to be a professional software developer.
NEW Live Editor Tasks: Develop your own Live Editor tasks for use in live scripts (R2022a)
NEW Custom UI Components: Interactively create custom UI components in App Designer (R2022a) or programmatically create your own class (R2020b) to make composite UI components that encapsulate algorithms, as well as graphics and UI objects
NEW Table UI Components: Interactively rearrange columns of table UI components (R2022a); scroll to a location within a table UI component programmatically using the scroll
function (R2021a)
NEW Accessibility: Modify tab focus order of components in App Designer and give keyboard focus to UI components programmatically using the focus
function (R2022a)
NEW Styles: Add icons in table cells and tree nodes (R2022a); create and add styles to nodes and levels in a tree UI component (R2021b); create and add styles for rows, columns, or cells in a table UI component (R2019b)
Run Code in the Background: Use parallel language (backgroundPool
) to create more responsive apps (R2021b)
App Designer: Use tools and shortcuts from Live Editor in Code View (R2021b); zoom and pan in the Design View canvas (R2021a)
Comparison Tool: Find differences and merge App Designer apps (R2020b)
NEW Python: Convert Python list and tuple types to MATLAB types (R2022a)
NEW Python: Use name=value
syntax to pass keyword arguments to Python functions (R2022a)
pyrun
and pyrunfile
Functions: Run Python commands and scripts from MATLAB (R2021b)
Python: Support for complex multidimensional arrays (R2021b)
C++ Interface: Build a MATLAB interface to a C++ library from header files, source files, or library files (R2021a, R2020b)
Out-of-Process Python Execution: Execute Python functions out-of-process to avoid library conflicts (R2019b)
NEW Classes: Improved performance for static methods, constant property access, and package functions in scripts (R2022a)
NEW Python Data Type Conversion: Improved performance when converting between Python and MATLAB data types in out-of-process mode (R2022a)
NEW MATLAB Engine API for Python: Improved performance with large multidimensional arrays in Python (R2022a)
NEW Table Indexing: Improved performance when assigning elements by subscripting with curly braces, dot notation, or multiple levels of indexing (R2022a, R2021b)
NEW fzero
Function: Improved performance (R2022a)
qrinsert
and qrdelete
Functions: Improved performance modifying QR factorizations (R2021b)
Plots in Apps: Improved performance for creating plots in uifigure
(R2021b)
Sparse Matrix Multiplication: Improved performance multiplying large sparse matrices (R2021a)
Sparse Linear Systems: Improved performance solving sparse linear systems A*X = B with multicolumn B (R2021a)
NEW Code Compatibility Analyzer App: Identify and address compatibility issues against current version of MATLAB (R2022a)
NEW Unit Testing Framework: Use the TestCase
class template to create tests more quickly and accurately (R2021b); collect statement and function coverage metrics for your source code (R2022a); run tests in parallel on clusters and clouds (R2020b)
MATLAB Online: Collaborate using projects and Git in MATLAB Online (R2021b)
Projects: Organize your work, automate tasks and processes, and collaborate with your team (R2019a)
Jenkins Plugin for MATLAB: Run MATLAB tests and generate test reports in formats such as JUnit, TAP, and Cobertura code coverage reports
New Reference Architectures: Deploy and run MATLAB on Amazon Web Services (AWS) and Microsoft Azure
Use third-party source control tools such as SVN directly from MATLAB.
NEW Hardware Manager App: Discover and connect to your hardware from MATLAB (R2022a)
NEW Arduino: Support for ESP32 MCU development boards (R2022a)
Arduino: Connect and Control boards using the Arduino Explorer app (R2021b); BLE connectivity for Arduino (R2021b)
Sensor Support: Read data from APDS9960 sensor connected to Arduino (R2021b)
Raspberry Pi: Support for CAN shields (R2021b)
Drones: Connect to multiple Ryze Tello Drones to control and read sensor data (2021b)
Understand sensor measurements with the Arduino Explorer app.