Rediscover 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.

Sharing Your Work

Use the MATLAB Live Editor to create MATLAB scripts and functions that combine code, output, and formatted text in an executable notebook.

NEW Live Tasks: Use Live Editor Tasks to explore options with a preview of results and generated code (R2019b)

Hiding Code: Hide code when sharing and exporting live scripts (R2019a)

Saving to Word: Save live scripts and functions as Microsoft Word documents (R2019a)

Animation: Enable animations in plots to show changes in data over time (R2019a)

Interactive Tables: Filter table output interactively, and then add the generated code to the live script (R2018b)

App Building

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

NEW uihtml Function: Add HTML, JavaScript, or CSS content to apps (R2019b)

uitable and uistyle Functions: Sort tables interactively and create styles for rows, columns, or cells in a table UI component (R2019a)

App Designer Auto-Reflow: Create two- and three-panel apps that automatically resize and reflow content based on device size (R2019a)

App Designer Grid Layout: Add and configure a grid layout manager on the App Designer canvas (R2019a)

Figure Interactions: Create apps with custom mouse and keyboard interactions using figures created with the uifigure function (R2018b)

Data Import and Analysis

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

NEW Live Editor Tasks: Use tasks to interactively preprocess data and automatically generate MATLAB code (R2019b)

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

Data Visualization

Visualize your data with new plotting functions and customization capabilities.

NEW Chart Container Class: Develop custom charts that behave like built-in MATLAB graphics (R2019b)

NEW tiledlayout and nexttile Functions: Display multiple plots in a figure with improved spacing, label and annotation management, and reflow behavior (R2019b)

NEW Export from Axes Toolbar: Save or copy contents of an axes as an image with tighter cropping (R2019b)

NEW Programmatic Data Tips: Create data tips programmatically and customize data tips on additional charts (R2019b)

Built-In Axes Interactions: Explore data with panning, zooming, data tips, and 3D rotation enabled by default (R2019a)

Big Data

Expand your analysis to big data without making big changes.

Customize Tall Arrays: Author custom algorithms to operate on tall arrays in chunks or sliding windows (R2018b, R2019a)

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

Language and Programming

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

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

NEW Hexadecimal and Binary Numbers: Specify numbers using hexadecimal and binary literals (R2019b)

String Array Support: Use string arrays in Simulink and Stateflow (R2018b)

Enumerations: Improved performance of set operations with enumerations (R2018b)

Performance

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

NEW Assignments Within Large Arrays: Improved performance when assigning elements by subscripting into large table, datetime, duration, and calendarDuration arrays (R2019b)

uitable: Faster performance when data type is numeric, logical, or a cell array of character vectors (R2019a)

Sorting Large Matrices: Sort rows of large matrices faster using sortrows (R2019a)

Startup: Increased speed of MATLAB startup (R2018b)

All-Around Performance: Improved performance for Live Editor, App Designer, and calls to built-in functions (R2018b)

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

Code Compatibility Report: Generate compatibility report from Current Folder browser (R2018a)

Controlling Hardware

Control popular microcontrollers like Arduino and Raspberry Pi, acquire images from webcams, and even collect data from the sensors built into your smartphone.

NEW Bluetooth Low Energy: Read from and write to BLE devices (R2019b)

Parrot Drones: Control Parrot drones from MATLAB and acquire sensor and image data (R2019a)

Mobile Device Camera: Acquire images from your mobile device camera in MATLAB Mobile (R2019a)

Raspberry Pi in MATLAB Online: Communicate with Raspberry Pi hardware board from MATLAB Online (R2018b)

Run Code on Raspberry Pi: Deploy a MATLAB function as a standalone executable on a Raspberry Pi (R2018b)

Supported Hardware: Work with Arduino; Raspberry Pi; USB webcams; and ThingSpeak IoT

Get a Free Trial

30 days of exploration at your fingertips.

Ready to Buy?

Get pricing information and explore related products.


Are You a Student?

Get MATLAB and Simulink student software.

New Features by Release

Desktop

  • Live Editor Tasks: Add tasks to live scripts to explore parameters and automatically generate code
  • Live Editor Output: Animate plots to show changes in data over time
  • Live Editor Output: Adjust the width of columns in tables
  • Live Editor Output: Copy displayed data in cell arrays, object arrays, and struct arrays
  • Live Editor Export: Customize figure format as well as document paper size, orientation, and margins when exporting
  • Live Editor Internationalization: Add Chinese, Japanese, and Korean characters on Windows and macOS platforms
  • Add-On Manager: Update MATLAB, hardware support packages, and installed add-ons in one place
  • Add-Ons: Programmatically manage add-ons by name
  • Settings: Create persistent settings for custom apps, toolboxes, and multiple MATLAB sessions

Graphics

  • Chart Container Class: Develop custom charts that behave like built-in MATLAB graphics
  • tiledlayout and nexttile Functions: Display multiple plots in a figure with improved spacing, label and annotation management, and reflow behavior
  • colororder Function: Control the color of lines in plots
  • Data tips: Create data tips programmatically and customize data tips on additional charts
  • Axes Interactions: Pin data tips at cursor location
  • Axes Toolbar: Save or copy contents of axes as an image
  • Geographic Plots: Plot data on basemaps with improved appearance and high zoom-level

App Building

  • uitable and uistyle Functions: Sort tables interactively and create styles for rows, columns, or cells in a table UI component
  • uihtml Function: Add HTML, JavaScript, or CSS content to apps
  • uigridlayout Function: Configure grid rows and columns to automatically adjust their size to fit text across different screen sizes and form factors
  • Layout Managers: Add a grid layout manager to existing App Designer apps and/or convert them into apps with auto-reflow

Mathematics

  • makima Function: Perform modified Akima cubic Hermite interpolation

Data Import and Export

  • table and timetable Data Types: Read and write tabular data that has variable names containing any characters, including spaces and non-ASCII characters
  • sheetnames Function: Get names of worksheets from spreadsheet files
  • VideoReader Object: Read or seek frames in videos using frame index or time interchangeably
  • VideoReader Object: Improved performance in generated code with row-major layout
  • High Performance Serial Interface: Stream serial data up to four times faster than the legacy serial interface
  • Bluetooth Low Energy Interface: Read from and write to BLE devices

Language and Computing

  • Function input arguments: Declare function input arguments to simplify input error checking
  • Hexadecimal and Binary Numbers: Specify numbers using hexadecimal and binary literals
  • Indexing: Use dot indexing into function calls
  • Cloud Data Access: Support for Amazon S3 and Azure Blob Storage with delete, dir, isfile, isfolder, and what functions
  • error Function: Added support for customizable "Did you mean:" corrections for uncaught exceptions

Software Development

  • Python interface: Execute Python functions out-of-process to avoid library conflicts between MATLAB and Python
  • Unit Testing Framework: Run tests in parallel with custom plugins
  • Unit Testing Framework: Visually compare two TimeResult arrays to identify performance changes over time
  • Compare Git Branches: Show difference between selection and save copies
  • HTTP Web Services: Server authentication support for NTLM and Kerberos protocols

Hardware Support

  • Bluetooth Low Energy Interface: Read from and write to BLE devices
  • Parrot Drones: Stream video images from the FPV camera of a Parrot drone
  • Parrot Drones: Support for Parrot Bebop 2 drone
  • Arduino: Build standalone applications for communicating with Arduino hardware from a desktop computer

Data Analysis

  • Live Editor Tasks: Use tasks to interactively preprocess data and automatically generate MATLAB code
  • groupfilter Function: Filter data in a table, timetable, or matrix by group
  • table and timetable Data Types: Variable names can have any characters, including spaces and non-ASCII characters
  • tall Arrays: Operate on tall arrays with more functions, including setdiff and xcorr, and with full support for innerjoin and outerjoin
  • tall Arrays: Tall arrays not initially backed by a datastore can grow out of memory

Performance

  • Data Type Indexing: Improved performance when assigning elements by subscripting into large table, datetime, duration, and calendarDuration arrays
  • uitable Function: Faster performance when data type is numeric, logical, or a cell array of character vectors

See the Release Notes for details.

Desktop

  • Projects: Organize, manage, and share your work using projects
  • Live Editor Controls: Add check boxes, edit fields, and buttons to control variable values and specify what code will run when a value changes
  • Live Editor: Hide code when sharing and exporting live scripts
  • Live Editor: Automatically refactor selected code into a function
  • Live Editor Export: Save live scripts and functions as Microsoft Word documents
  • Live Editor Output: Enable animations in plots to show changes in data over time
  • Live Editor Output: Clean categorical data, filter datetimes, and change variable data types in table output interactively
  • MATLAB Online: Share folders with a view-only link or invite individuals with view-only or edit permissions
  • Toolbox Packaging: Install required add-ons with custom toolboxes

Graphics

  • parallelplot Function: Visualize tabular or matrix data with multiple columns by using a parallel coordinates plot
  • Data Tips: Pin and customize data tips in charts
  • Axes Interactions: Customize chart interaction gestures such as dragging to pan, or scrolling to zoom
  • Axes Interactions: Pan data by dragging the x, y or z axis without having to use the pan tool
  • Property Inspector: Control visibility of graphics objects interactively
  • Graphics Export: Export axes with tighter cropping using the axes toolbar

App Building

  • App Designer: Create two and three panel apps that automatically resize and reflow contebased on device size
  • App Designer: Add and configure a grid layout manager on the App Designer canvas
  • uiimage Function: Display an icon, logo, or image in apps and on the App Designer canvas
  • uitable Function: Use table arrays for faster rendering of data and to sort tables interactively
  • Auto Resize: Automatically resize components when an app is made smaller than its default size.
  • Graphics Support: Explore data using axes toolbar and data tips in apps created with the uifigure function
  • MATLAB Online: Create and edit App Designer apps using MATLAB Online

Data Import and Export

  • Datatype I/O: Use dedicated functions for reading and writing matrices, cell arrays, and timetables
  • Parquet file support: Read and write single or large collections of Parquet files
  • FileDatastore Object: Read large files by importing the file in smaller portions
  • Custom Datastore: Read from Hadoop based databases using the custom datastore framework
  • Datastores: Manage read errors when importing data from large collections of files
  • Datastores: Combine and transform datastores
  • thingSpeakRead and thingSpeakWrite Functions: Read or write data to the ThingSpeak IoT platform
  • writetable and imwrite Functions: Write to web-based storage services like Amazon S3 and Azure Blob Storage

Hardware

  • MATLAB Support Package for Parrot Drones: Control Parrot Mambo FPV drones and acquire sensor and image data
  • Android Sensors: Acquire images from your mobile device camera in MATLAB Mobile
  • Raspberry Pi: Build standalone applications for communicating with Raspberry Pi hardware from a desktop computer

Data Analysis

  • xcorr and xcov Functions: Compute cross-correlation and cross-covariance
  • detrend Function: Remove piecewise polynomial trends, set continuity requirements, and specify sample points
  • groupcounts Function: Count the number of group elements for arrays, tables, and timetables
  • grouptransform Function: Transform array data by group
  • tall Arrays: Write custom sliding window algorithms to operate on tall arrays
  • tall Arrays: Operate on tall arrays with more functions, including groupcounts, intersect, and svd
  • filloutliers, isoutlier, and rmoutliers Functions: Detect outliers using percentiles

Performance

  • sortrows Function: Sort rows of large matrices faster

Advanced Software Development

  • C++ interface: Use classes and functions from C++ libraries in MATLAB
  • C++ MEX: Execute MEX function out-of-process
  • MException class: Provide a suggested fix for an uncaught exception
  • Unit Testing Framework: Display code coverage metrics in HTML format

See the Release Notes for details.

 

Desktop

  • Live Editor: Organize live scripts using additional subheading styles
  • Live Editor: Navigate within a live script using internal hyperlinks
  • Live Editor: Filter table output interactively, and then add the generated code to the live script
  • Live Editor: Create new and open existing live scripts faster
  • Comparison Tool: Merge two versions of a live script or function
  • Add-On Manager: Install and manage multiple versions of a custom toolbox

Language and Programming

  • string Arrays: Use string arrays in MATLAB, Simulink, and Stateflow
  • Enumerations: Improved performance of set operations with enumerations

Mathematics

  • boundaryshape Function: Create a polyshape object from a 2-D triangulation
  • polyshape Objects: Specify when to keep collinear points when creating a polyshape
  • RandStream Objects: Generate random numbers using Threefry and Philox algorithms
  • GraphPlot Object: Customize node and edge labels with font properties

Graphics

  • Axes Interactions: Explore data with panning, zooming, data tips, and 3-D rotation enabled by default
  • Axes Toolbar: Access and customize a data exploration toolbar for each Axes object
  • Geographic Plots: Create line, scatter, and point density plots on interactive maps and control properties of a geographic axes
  • stackedplot Function: Plot variables of a table or timetable for comparison using a common x-axis
  • scatterhistogram Function: Visualize grouped data as a scatter plot with marginal histograms
  • sgtitle Function: Create a title for a grid of subplots
  • xline and yline Functions: Add vertical or horizontal lines to a plot

Data Import and Export

  • Import Tool: Generate improved code when importing from spreadsheets
  • Web-Based Data: Read from web-based data sources like Amazon Web Services and Azure Blob Storage using readtable, detectImportOptions, spreadsheetDatastore, imread, and imfinfo
  • write Function: Write tall arrays in a variety of formats to local or remote locations
  • stlread and stlwrite Functions: Read from and write to STL (Stereolithography) files for triangulations
  • TabularTextDatastore Object: Import data containing dates and times from non-English locales

Data Analysis

  • grouptransform Function: Transform table or timetable data by groups
  • groupsummary Function: Perform group summary computations on matrices
  • tall Arrays: Write custom algorithms to operate on tall arrays
  • tall Arrays: Operate on tall arrays with more functions, including conv2, wordcloud, and groupsummary
  • rmoutliers Function: Remove outliers in an array, table, or timetable
  • islocalmin and islocalmax Functions: Specify a range of data for prominence computation
  • Table and Timetable Metadata: Store custom metadata for each variable
  • timetable Data Type: Save memory when storing row times with regular time steps

App Building

  • App Designer: Add and configure date selection components on the App Designer canvas
  • uigridlayout Function: Configure app layouts using a grid layout manager
  • Scrolling Containers: Enable scrolling for figure, panel, tab, and button group containers
  • Figure Interactions: Create apps with custom mouse and keyboard interactions using figures created with the uifigure function
  • Tooltips: Create custom tooltips for UI components in apps
  • Deployed Web Apps: Access files in deployed web apps using the uigetfile and uiputfile functions

Performance

  • Startup: Increased speed of MATLAB startup
  • Execution Engine: Index into large arrays with improved performance when using the colon operator
  • Execution Engine: Faster calls to built-in functions
  • Live Editor: Create new and open existing live scripts faster
  • Enumerations: Improved set function performance with enumerations

Hardware Support

  • MATLAB Online: Communicate with Raspberry Pi hardware board from MATLAB Online
  • iOS and Android Sensors: Acquire sensor data when your device does not have network access
  • iOS and Android Sensors: Upload sensor logs from the device to MATLAB Drive

Advanced Software Development

  • Python Interface: Pass multidimensional numeric or logical arrays between MATLAB and Python
  • C++ MEX API: Call MATLAB asynchronously from within a MEX file using the C++ API
  • Unit Testing Framework: Run tests in parallel with more plugins and more intelligent scheduling
  • Performance Testing Framework: Measure execution time of fast code more accurately with the TestCase.keepMeasuring method

See the Release Notes for details.

Desktop

  • Live Editor: Create live functions with richly formatted documentation, including equations and images
  • Live Editor: Debug live functions and scripts
  • Live Editor: Add sliders and drop-down lists to control variable values in a live script
  • Live Editor: Sort table data interactively
  • Live Editor: Create a table of contents and add formatted code examples​
  • Live Editor: Select and edit a rectangular area of code
  • Add-Ons Explorer: Browse by category to discover convenient, helpful add-ons

Mathematics

  • graph and digraph Objects: Work with multigraphs that have multiple edges between two nodes
  • GraphPlot Object: Visualize graphs with additional options for 'force', 'force3', and 'circle' layouts
  • polyshape Objects: Analyze polygons with turningdist, nearestvertex, and overlaps functions
  • polybuffer Function: Create buffer around points or lines

Graphics

  • Axes Object: View axes at small size with improved layout, limit selection, and font scaling
  • Axes Object: Map data values to colormap using linear or logarithmic scale
  • Legend Object: Create legends with multiple columns
  • heatmap Function: Zoom and pan data, display data tips, and sort rows and columns interactively
  • geobubble Function: Explore with interactive data tips and a scale bar​ ​

Data Import and Export

  • readtable Function: Specify the number of rows to read from a text file using import options
  • readtable Function: Easily manage prefixes and suffixes from data using import options
  • preview Function: Preview first 8 rows of a table in a file without importing the full table
  • imageDatastore Function: Work with millions of images with improved memory usage and performance
  • VideoReader Function: Read video files faster on all platforms

Data Analysis

  • groupsummary Function: Group and discretize data for summary operations on table and timetable variables
  • Table and Timetable Variables: Add, delete, and rearrange column-oriented variables with the functions addvars, removevars, movevars, splitvars, mergevars, rows2vars, and inner2outer
  • Preallocated Tables and Timetables: Initialize table and timetable variables so that they have specified sizes and data types
  • Regular Timetables: Create regularly spaced timetables using a time step or sampling rate
  • retime and synchronize Functions: Synchronize timetables to a time step or sampling rate that you specify
  • duration Arrays: Create duration arrays from text that represents elapsed times
  • normalize Function: Normalize array, table, and timetable data
  • tall Arrays: Operate on tall arrays with more functions, including smoothdata, find, and isoutlier

App Building

  • App Designer: Create deployed web apps using MATLAB Compiler
  • App Designer: Add and configure tree components on the App Designer canvas
  • App Testing Framework: Author automated tests for App Designer apps
  • Figure Objects: Maximize and minimize figures programmatically
  • uitable Function: Specify data as table array
  • uidatepicker Function: Add date selection controls to apps
  • uiprogressdlg Function: Create modal in-app progress dialog boxes to apps

Performance

  • Startup: Increased speed of MATLAB startup time
  • Execution Engine: Execute tight loops with scalar math faster
  • Execution Engine: Improved performance for common programming patterns

Hardware Support

  • Raspberry Pi: Support for Raspberry Pi Zero W board
  • MATLAB Online: Acquire live images from USB webcams in MATLAB Online

Advanced Software Development

  • Tab Completion: Describe your function syntaxes for custom tab completion and other contextual suggestions
  • Unit Testing Framework: Run tests from the MATLAB Editor toolstrip
  • App Testing Framework: Author automated tests for App Designer apps
  • matlab.net.http Package: Stream data to and from a web service and handle forms and multipart messages
  • C++ MEX Interface: Access MATLAB data and objects easier from C++

See the Release Notes for details.

Desktop

  • Live Editor: Write MATLAB commands with automated, contextual hints for arguments, property values, and alternative syntaxes​​​​​
  • Live Editor: Export live scripts to LaTeX format​​​​​​​​​
  • Live Editor: Display high-resolution plots in PDF output​​​
  • Live Editor: Horizontally align text, equations, and images​​​​​​​​​​​
  • Documentation: Use the Live Editor in a web browser to open, edit, and run MATLAB online documentation examples
  • MATLAB Drive: Store, access, and manage your files from anywhere
  • Add-On Manager: Customize your MATLAB environment by enabling and disabling add-ons​​​​​​
  • Add-On Manager: Find installed add-ons faster using sort and search​​​​​​​​​​
  • Toolbox Packaging: Create a Getting Started Guide for your toolbox from a Live Script template​​​​​​​​​​​​​
  • Toolbox Packaging: Share your toolbox on File Exchange directly when you package it​​​​

Language and Programming

  • Code Compatibility Report: Generate a report that helps the updating of code to a newer MATLAB release​​

Mathematics

  • decomposition Object: Solve linear systems repeatedly with improved performance
  • lsqminnorm Function: Find minimum-norm solution of underdetermined linear system
  • dissect Function: Reorder sparse matrix columns using nested dissection ordering
  • vecnorm Function: Compute vector-wise norms of arrays
  • polyshape Object: Create, analyze, and visualize 2-D polygons

Graphics

  • geobubble Function: Create an interactive map with bubbles whose size and color vary with data values
  • wordcloud Function: Display words at different sizes based on frequency or custom size data
  • binscatter Function: Visualize data density with dynamic bin size adjustment
  • Tall Array Support: Visualize out-of-memory data using plot, scatter, and binscatter
  • heatmap Function: Sort rows and columns and use custom labels in a heatmap
  • bar Function: Control individual bar colors

Data Import and Export

  • Custom Datastore: Build a customized datastore
  • datastore Function: Work with data stored in Windows Azure Blob Storage

Data Analysis

  • ischange Function: Detect abrupt changes in data
  • islocalmin and islocalmax Functions: Detect local minima and maxima in data
  • rescale Function: Scale data to a specified range
  • tall Arrays: Operate on tall arrays with more functions, including fillmissing, filter, median, polyfit, and synchronize
  • timetable Data Container: Specify whether each variable in a timetable contains continuous or discrete data using the VariableContinuity property

App Building

  • App Designer: Create apps with a wide variety of 2-D and 3-D plots
  • App Designer: Add menus to an app from the Component Library
  • App Designer: Specify input arguments when running an app
  • App Designer: Add a summary, description, and screenshot for app packaging and compiling
  • uitree and uitreenode Functions: Create trees and tree nodes in apps
  • uiconfirm Function: Create modal in-app confirmation dialog boxes
  • Toolbox Packaging: Add App Designer apps to the Apps Gallery upon toolbox installation
  • MATLAB Online: Run App Designer apps in MATLAB Online

Performance

  • App Designer: Load apps faster
  • Execution Engine: Improved performance for vectorized math on CPUs with AVX2​​​
  • Live Editor: Run live scripts with loops faster

Hardware Support

  • Arduino: Wirelessly connect to Arduino boards using low-cost Bluetooth adaptors
  • Arduino Setup UI: Set up a connection to your Arduino board over USB, Bluetooth, or WiFi
  • Arduino Plug-In Detection: Discover available Arduino support and examples when plugging a compatible Arduino board

Advanced Software Development

  • MATLAB Engine API for C++: Run MATLAB code from C++ programs with object-oriented programming support and asynchronous execution
  • MATLAB Engine API for C++: Pass data between C++ programs and MATLAB using MATLAB Data Array
  • Java SE 8: MATLAB support, providing improved security and access to new Java features​​​
  • MinGW 5.3: MATLAB support​​​
  • Microsoft Visual Studio 2017: MATLAB support for Microsoft Visual Studio 2017 Community, Professional, and Enterprise editions​
  • Python Version 3.6: MATLAB support
  • MATLAB Handle class method: Add a listener for an event without binding the listener to the source object
  • Unit Testing Framework: Provide code coverage reports in the Cobertura format for improved continuous integration workflows​​​

See the Release Notes for details.

Desktop

  • Live Editor: Edit a figure interactively including title, labels, legend, and other annotations
  • Live Editor: Get suggestions for mistyped commands and variables
  • Live Editor: Copy live script outputs to other applications
  • Live Editor: Hover over variables to see their current value
  • Add-On Explorer: Discover and install File Exchange submissions hosted on GitHub in Add-On Explorer
  • MATLAB Online: Access MATLAB through your web browser

Language and Programming

  • string Arrays: Create string arrays using double quotes
  • missing Function: Assign missing values in core data types, including doubledatetime,  and  string arrays
  • issortedrows Function: Determine if matrix and table rows are sorted
  • sort and sortrows Functions: Specify options for sorting complex numbers and placing missing elements
  • issorted Function: Query sort order with monotonic, strictly monotonic, strictly ascending, and strictly descending options

Graphics

  • heatmap Function: Visualize table or matrix data as a heatmap
  • legend Function: Create legends that update when data is added to or removed from the axes
  • Categorical Plotting: Use categorical data in common plotting functions and customize axes with categorical rulers
  • histogram Function: Plot histograms of datetime and duration data

Data Import and Export

  • datastore and tabularTextDatastore Functions: Automatically detect and return date and time data in text files​
  • Import Tool: Import strings and categorical arrays interactively
  • detectImportOptions Function: Control import properties of fixed-width text files
  • RESTful web services: Support for PUT and DELETE HTTP methods in webreadwebwrite, and websave​​​

Data Analysis

  • tall Arrays: Operate on tall arrays with more functions, including ismembersortconv, and moving statistics functions
  • isoutlier and filloutliers Functions: Detect and replace outliers in an array or table
  • smoothdata Function: Smooth noisy data in an array or table with filtering or local regression
  • summary Function: Calculate summary statistics and variable information in tables and timetables
  • movmad and movprod Functions: Compute moving median absolute deviation and moving product of an array
  • bounds Function: Simultaneously determine the smallest and largest elements of an array
  • fillmissing Function: Replace missing data in an array or table using moving mean or moving median option

App Building

  • App Designer: Learn to build apps using an interactive tutorial
  • App Designer: Zoom and pan plots
  • App Designer: Configure columns of a table to automatically fill the entire width of the table
  • App Designer: Manage common design-time settings using the Preferences dialog box

Performance

  • Execution Engine: Improved performance for setting MATLAB object properties
  • save Function: Save MAT v7.3 files without compression for improved performance on some storage devices
  • memoize Function: Cache results of a function to avoid rerunning when called with the same inputs
  • Scripts: Improved performance of scripts with lower script overhead
  • try, catch Block: Improved performance of try blocks with lower execution overhead

Hardware Support

  • Arduino: Read from quadrature encoders
  • Arduino: Wirelessly connect to Arduino MKR1000 board over WiFi

Advanced Software Development

  • Object Properties: Validate object property values by their type, size, shape, or other parameters​​
  • Mocking Framework: Isolate a portion of a system to test by imitating behavior of dependent components
  • Unit Testing Framework: Capture screenshots and figures generated during tests using TestReportPlugin
  • Unit Testing Framework: Control runtests function with debug, strict, and verbosity options​
  • Performance Testing Framework: View statistics from test measurements with the sampleSummary method

See the Release Notes for details.