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 Live Editor Controls: Add numeric spinners to increment and decrement variable values in live scripts (R2022b); create dynamic controls by linking variables to values of live editor controls (R2021a); and set default values (R2021b)
NEW Live Editor Tasks: Specify what code to run when control value changes (R2022b); develop your own Live Editor tasks for use in live scripts (R2022a)
NEW Themes in MATLAB Online: Change the colors of the MATLAB desktop to match your operating system color scheme (R2022b)
Editor Python Support: View and edit Python files with syntax highlighting, auto-indenting, and delimiter matching (R2022a)
Live Editor Colors: Change the text and background colors of live scripts and functions (R2022a)
Live Editor Export: Export live scripts and functions programmatically using the export
function (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)
NEW dictionary
Object: Map unique keys to values for fast lookup (R2022b)
NEW Code Analyzer App: Identify and explore issues in your codebase (R2022b)
NEW Output Argument Validation: Validate output arguments in functions and class methods (R2022b)
Function Input Argument Validation: Declare function input arguments to simplify input error checking (R2020b, R2019b)
name=value syntax
: Use name=value
syntax for any function using name-value arguments (R2021a)
pcode
Function: Create P-code files with enhanced obfuscation (R2022a)
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)
Class Diagram Viewer: Create graphical class diagrams to explore class details and share designs (R2021a)
Function argument validation example using arguments
block.
NEW Data Cleaner App: Interactively identify and clean messy data in timetables (R2022a) and tables (R2022b); view sparklines and summary statistics (R2022b)
NEW Data Analysis: New and updated functions for analyzing data, including trenddecomp, detrend, mape, rmse, and isuniform
(R2022b, R2021b)
NEW Variables Editor in MATLAB Online: View sparklines and summary statistics for tabular data, navigate a variable with Find and Go To dialog boxes, interactively save logical indices of data selection, and replace tabular data with empty arrays (R2022b)
NEW Parallel Processing: Use low-level file I/O operations in thread-based environments (R2022b)
Data Preprocessing Functions: Append transformed variables to input data (R2022a)
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)-> R2019b-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 (R2022b, 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) -> R2020asetdiff, xcorr
, and outerjoin
(2019b) -> R2019bgroupcounts, intersect
, and svd
(2019a) -> R2019aTall arrays operate on data that has more rows than fit in memory.
NEW N-D Array Math: Calculate norms (pagenorm
), solve linear equations (pagemldivide, pagemrdivide
), calculate matrix inverses (pageinv
), and perform singular value decomposition (pagesvd
) on pages of N-D arrays (R2022b, R2022a, R2021b)
NEW Code Generation for Math Functions: Generate C code (using MATLAB Coder) for multiple functions, including ode15s, shortestpath,
and nearest
(R2022b), integral
and interpft
(R2022a), and digraph, graph, hess, ode78,
and ode89
(R2021b)
tensorprod
Function: Calculate tensor products between two arrays (R2022a)
ode78
and ode89
Functions: High-order Runge-Kutta solvers for ordinary differential equations (R021b) -> R2021b
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 stem, stairstep, and geographic plots (R2022b), plot, plot3, polarplot
, and other line plotting functions (R2022a) and scatter plots, bubble charts, and swarm charts (R2021b)
NEW Figure Code in MATLAB Online: Generate code when you edit graphics object properties (R2022b)
NEW Plot Options in MATLAB Online: Customize figure creation, data linking, and labeling (R2022b)
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 App Performance: Faster launch time and improved responsiveness of graphics interactions (R2022b)
Live Editor Tasks: Develop your own Live Editor tasks for use in live scripts (R2022a)
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
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)
Accessibility: Modify tab focus order of components in App Designer and give keyboard focus to UI components programmatically using the focus
function (R2022a)
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 .NET Engine API: Call MATLAB from .NET applications (R2022b)
NEW .NET Interface: Support for .NET 5 and .NET Core (R2022b)
NEW Python Engine: Pass NumPy arrays directly to MATLAB functions (R2022b)
Python: Convert Python list and tuple types to MATLAB types (R2022a)
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)
NEW prctile, quantile,
and iqr
Functions: Improved performance with small input data (R2022b)
NEW mldivide
and pagemldivide
Functions: Improved performance with small matrices (R2022b)
NEW conv, conv2
, and convn
Functions: Improved performance when convolving two vectors, matrices, and arrays (R2022b)
NEW App Performance: Faster launch time and improved responsiveness of graphics interactions (R2022b); improved performance for creating plots in uifigure
(R2021b)
Classes: Improved performance for static methods, constant property access, and package functions in scripts (R2022a)
Python Data Type Conversion: Improved performance when converting between Python and MATLAB data types in out-of-process mode (R2022a)
MATLAB Engine API for Python: Improved performance with large multidimensional arrays in Python (R2022a)
Table Indexing: Improved performance when assigning elements by subscripting with curly braces, dot notation, or multiple levels of indexing (R2022a, R2021b)
fzero
Function: Improved performance (R2022a)
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 Build Tool: Create and run software-build tasks (R2022b)
NEW Dependency Analyzer: Find required add-ons (R2021a), identify files that contain syntax errors (R2022b), and save dependency graphs as images (R2022a)
NEW MATLAB Online: Collaborate using projects and Git in MATLAB Online (R2021b), including managing Git branches and repositories (R2022b)
Code Compatibility Analyzer App: Identify and address compatibility issues against current version of MATLAB (R2022a)
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)
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 Arduino: Support for ESP32 MCU development boards (R2022a), including support for servo and rotary encoder peripherals (R2022b)
NEW Arduino: Connect and control boards using the Arduino Explorer app (R2021b), including managing Arduino libraries and interfacing with I2C, SPI, and Serial peripherals (R2022b); BLE connectivity for Arduino (R2021b)
Hardware Manager App: Discover and connect to your hardware from MATLAB (R2022a)
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.