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.

Environment

NEW Editor: Use new capabilities for code refactoring and block editing, and improved code suggestions, code completion, and debugging (R2021b)

NEW Live Editor Controls: Set default values for sliders, drop-down lists, check boxes, and edit fields (R2021b)

  • Create dynamic controls in live scripts by linking variables to drop-down items and slider values (R2021a)

NEW Live Editor Animations: Use interactive interface to control animations (R2021a) and export them to movies or animated GIFs (R2021b)

Live Editor Fonts: Change the name, style, size, and color of fonts programmatically using settings (R2021a)

Live Editor Bookmarks: Navigate quickly between lines (R2021a)

Live Editor on iOS: Create, edit, and run live scripts in MATLAB Mobile on iPhones and iPads (R2020b)

Live Editor Tasks: Explore parameters, see results, and automatically generate code (R2020a, R2019b)

App Building

App Designer lets you create professional apps without having to be a professional software developer.

NEW Run Code in the Background: Use parallel language to create more responsive apps (R2021b)

NEW addStyle Function: Add styles to nodes and levels in a tree UI component (R2021b)

NEW App Designer: Use tools and shortcuts from Live Editor in Code View (R2021b)

  • Zoom and pan in the Design View canvas (R2021a)

uihyperlink Function: Add and configure clickable links in apps and on the App Designer canvas (R2021a)

uitree Function: Add and configure check box trees in apps and on the App Designer canvas (R2021a)

scroll Function: Scroll to a location within a table UI component programmatically (R2021a)

Icon Property: Specify custom icons for UI figure windows and toolbar push and toggle tools (R2020b)

Comparison Tool: Use diff and merge App Designer apps (R2020b)

Custom UI Components: Create your own class to make composite UI components that encapsulate algorithms, as well as graphics and UI objects (R2020b)

exportapp and getframe Functions: Capture and save an image of an app (R2020b)

Data Import and Analysis

Access, organize, clean, and analyze data from a variety of sources.

NEW File I/O: Read and write XML, HTML, and Microsoft Word files directly into table, timetable and structs (R2021b, R2021a, R2020b)

NEW sftp Function: Connect and read data securely from SFTP servers (R2021b)

NEW  Live Editor Tasks: Interactively summarize, transform, and filter groups of data (Compute by Group); center and scale data (Normalize) (R2021b)

  • Manipulate tables and timetables with tasks that automatically generate MATLAB code (R2020a)
  • Interactively preprocess data (R2019b)

NEW trenddecomp Function: Find long-term and seasonal trends in data (R2021b)

NEW timeseries2timetable Function: Convert timeseries objects to timetables (R2021b)

NEW HDF5: Support for HDF5 version 1.10, including Single-Writer/Multiple-Reader (SWMR), Virtual Dataset (VDS), and Metadata Cache Fine-Tuning (R2021b)

NEW NetCDF: Support for NetCDF version 4.7.4, including reading and writing NC_STRING data (R2021b)

MATLAB API for Advanced XML Processing: Create, transform, and query XML files using MATLAB API for XML Processing (R2021a)

Data Visualization

Visualize your data with new plotting functions and customization capabilities.

NEW Create Plot Live Editor Task: Add visualizations to generated plots (R2021b)

  • Create plots interactively and generate code (R2021a)

NEW Plotting Table Data: Create scatter plots, bubble charts, and swarm charts by passing tables directly to plotting functions (R2021b)

NEW exportgraphics Function: Capture and append graphics to existing PDFs (R2021b)

bubblecloud Function: Visualize part-to-whole relationships (R2021a)

bubblechart, bubblechart3, and polarbubblechart Functions: Create bubble charts in 2D, 3D, and polar coordinates (R2020b)

swarmchart Function: Visualize distributions of discrete data (R2020b)

exportgraphics and copygraphics Functions: Save and copy graphics with improved support for publishing workflows (R2020a)

tiledlayout Function: Position, nest, and change the grid size of layouts (R2020a)

Big Data

Expand your analysis to big data without making big changes.

NEW 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)

Big Data

Language and Programming

Use new data types and language constructs for writing faster, clearer, and more maintainable code. 

NEW backgroundPool: Execute a function asynchronously without blocking the command prompt from MATLAB (R2021b)    

NEW pyrun and pyrunfile Functions: Run Python commands and scripts from MATLAB (R2021b)

NEW 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)

pattern Object: Create patterns for text searching in strings (R2020b)

Function Input Argument Validation: Declare function input arguments to simplify input error checking (R2020b, R2019b)

Language and programming

Performance

MATLAB runs your code more than twice as fast as it did just six years ago. And there’s no need to change a single line of code.

NEW table Indexing: Improved performance when assigning elements by subscripting with curly braces (R2021b)

NEW qrinsert and qrdelete Functions: Improved performance modifying QR factorizations (R2021b)

NEW 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)

spdiags Function: Improved performance constructing sparse banded matrices (R2020b)

uitree Function: Improved performance when creating many nodes in a tree (R2020b)

Profiler: Investigate and improve the execution performance of your code visually using flame graphs (R2020a)

Live Editor: Improved performance in loops and animated plots (R2020a)

Performance

Software Development

Software development tools help you manage and test your code, integrate with other software systems, and deploy your applications to the cloud.

NEW MATLAB Online: Collaborate using projects and Git in MATLAB Online (R2021b)

NEW Unit Testing Framework: Use the TestCase class template to create tests more quickly and accurately (R2021b)

  • Run tests in parallel on clusters and clouds (R2020b)

Out-of-Process Python Execution: Execute Python functions out-of-process to avoid library conflicts (R2019b)

Projects: Organize your work, automate tasks and processes, and collaborate with your team (R2019a)

C++ Interface: Call C++ library functions from MATLAB (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

Big Data

Controlling Hardware

Control popular microcontrollers like Arduino and Raspberry Pi, acquire images from webcams, and acquire sensor and image data from drones.

NEW Arduino: Connect and Control Arduino board using the Arduino Explorer app (R2021b)

  • Use Nano 33 BLE Sense board (R2021a)
  • Use Arduino Engineering Kit examples included in Arduino support package (R2021a)

NEW Sensor Support: Read data from APDS9960 sensor connected to Arduino (R2021b)

  • Use LSM and MPU sensors with Raspberry Pi unified server (R2021a)

NEW Raspberry Pi: Support for CAN shields (R2021b)

  • Deploy with unified server (R2021a)
  • Deploy MATLAB function on hardware from MATLAB Online (R2020b)

Acquire Webcam Image Live Editor Task: Interactively capture webcam images (R2020b)

Understand sensor measurements with the Arduino Explorer app.

Understand sensor measurements with the Arduino Explorer app.