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.
Live Editor
Use the MATLAB Live Editor to create MATLAB scripts and functions that combine code, output, and formatted text in an executable notebook.
NEW Live Editor on iOS: Create, edit, and run live scripts in MATLAB Mobile from an iPhone or iPad (2020b)
NEW Live Editor: Use a live script hyperlink to open another live script (R2020b)
Exporting to Standard Formats: Save live scripts and functions individually or in batch to PDF, Microsoft Word, HTML, and LaTeX (R2019a, R2020b)
Live Tasks: Use Live Editor tasks to explore parameters, see results, and automatically generate code (R2019b, R2020a)
Run Tests in Live Editor: Run tests directly from the Live Editor Toolstrip (R2020a)
Hiding Code: Hide code when sharing and exporting live scripts (R2019a)
App Building
App Designer lets you create professional apps without having to be a professional software developer.
NEW Icon
Property: Specify custom icons for UI figure windows and toolbar push and toggle tools (R2020b)
NEW Comparison Tool: Diff and merge App Designer apps (R2020b)
NEW Custom UI Components: Create your own class to make composite UI components that encapsulate algorithms, as well as graphics and UI objects (R2020b)
NEW exportapp
and getframe
Functions: Capture and save an image of an app (R2020b)
uicontextmenu
Function: Add and configure context menus in App Designer and uifigure
-based apps (R2020a)
uitoolbar
Function: Add custom toolbars in App Designer and uifigure
-based apps (R2020a, R2020b)
uihtml
Function: Add HTML, JavaScript, or CSS content to apps (R2019b)
NEW readstruct
and writestruc
t Functions: Read and write structured data in XML files (R2020b)
NEW Optimize Live Editor Task: Interactively create and solve optimization problems (R2020b)
NEW ArrayDatastore
Object: Create datastores from in-memory data (R2020b)
Live Editor Tasks: Interactively preprocess data (R2019b) and manipulate tables and timetables (R2020a) with tasks that automatically generate MATLAB code
Grouping Workflows: Perform group-based operations using grouptransform
(R2018b), groupcounts
(R2019a), and groupfilter
(R2019b)
Datatype I/O: Use dedicated functions for reading and writing matrices, cell arrays, and timetables (R2019a)
Parquet File Support: Read and write single or large collections of Parquet files (R2019a)
NEW bubblechart
, bubblechart3
, and polarbubblechart
Functions: Create bubble charts in 2D, 3D, and polar coordinates (R2020b)
NEW swarmchart
Function: Visualize distributions of discrete data (R2020b)
NEW Titles, Subtitles, and Axis Labels: Add subtitles to plots, and align titles and axis labels with the plot box (R2020b)
boxchart
Function: Create box plots to visualize grouped numeric data (R2020a)
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)
Chart Container Class: Develop charts that display a tiling of Cartesian, polar, or geographic plots (R2020a)
Datastore Write: Write large collections of data in datastores out to disk for data engineering and file-based workflows (R2020a)
Customize Tall Arrays: Author custom algorithms to operate on tall arrays in chunks or sliding windows (R2018b, R2019a)
Functions for Tall Arrays: Operate on tall arrays with more functions, including innerjoin
, outerjoin
, xcorr
, svd
, and wordcloud
(R2018b, R2019a, R2019b)
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)
Datastores: Combine and transform datastores (R2019a)
NEW pattern
Object: Create patterns for text searching in strings (R2020b)
File Encoding: Improved support for non-ASCII character sets and cross-platform compatibility with default UTF-8 encoding for MATLAB files (R2020a)
Function Input Argument Validation: Declare function input arguments to simplify input error checking (R2019b, R2020b)
Hexadecimal and Binary Numbers: Specify numbers using hexadecimal and binary literals (R2019b)
NEW spdiags
Function: Improved performance constructing sparse banded matrices (R2020b)
NEW uitree
Function: Improved performance when creating many nodes in a tree (R2020b)
NEW uilistbox
Function: Improved performance when setting multiple items in a list box (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)
Assignments Within Large Arrays: Improved performance when assigning elements by subscripting into large table, datetime, duration, and calendarDuration arrays (R2019b)
Sorting Large Matrices: Sort rows of large matrices faster using sortrows
(R2019a)
NEW Python: Start and stop a Python interpreter from a MATLAB session (R2020b)
NEW Code Compatibility Report: Code Compatibility Report includes warnings about unsupported functionality (R2020b)
NEW Unit Testing Framework: 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 (R2018b)
NEW Arduino: Arduino Engineering Kit Revision 2 included in Arduino support package (R2020b)
NEW Raspberry Pi MATLAB Online Codegen (R2020b)
NEW Acquire Webcam Image Live Editor Task: Interactively capture webcam images (R2020b)
NEW IP Camera: Support for decoding H.264 Video Stream in IP Camera (R2020b)
NEW Sensor Support: Use BNO055 Sensor with Sensor Fusion and Tracking Toolbox, and Navigation Toolbox to Estimate Orientation (R2020b)
Drone Support: Use MATLAB to control and acquire sensor and image data from Ryze Tello drones (R2020a)
Arduino: Access CAN bus data using MCP2515 CAN bus shield (R2020a)
Bluetooth Low Energy: Read from and write to BLE devices (R2019b)