MATLAB Changelog

What's new in MATLAB R2023b

Sep 13, 2023
  • Environment:
  • Live Editor Tasks: Create Live Editor task from selected code with interactive controls
  • Live Editor Tables: Add tables containing text and images to live scripts and functions
  • Live Editor Controls: Add color pickers and state buttons to live scripts
  • Live Editor Controls: Select folders interactively in live scripts using file browser
  • Live Editor Accessibility: Interact with inline output using the keyboard
  • Live Editor Export: Interactively customize export options, such as document paper size, orientation, margins, and figure format
  • export Function: Convert live scripts and functions to Markdown files and Jupyter notebooks
  • Editor Execution: Run sections even if other sections contain syntax errors
  • Editor Variable Renaming: Automatically rename next references to variables or functions in file
  • Find and Replace Dialog Box: Use capture groups in regular expressions to search for and replace groups of characters
  • Debugging in MATLAB Online: Manage breakpoints and navigate the function call stack using Debugger panel
  • Desktop Layout in MATLAB Online: Open additional panels directly from sidebars
  • Themes in MATLAB Online: Save color customizations for individual themes
  • Window Management in MATLAB Online: Automatically collapse windows
  • MATLAB on Macs: Better performance and improved battery life on MacBooks with MATLAB and Simulink running natively on Apple silicon
  • MATLAB on Macs: Java Runtime Environment required for MATLAB and MATLAB Runtime on Apple silicon
  • Functionality being removed or changed
  • Language and Programming:
  • configureDictionary Function: Create dictionaries with configured keys and values
  • lookup, insert, and remove Functions: Find, add, and remove dictionary entries
  • codeIssues Object: Export issues identified in code
  • Code Compatibility Analyzer App: Group and filter code issues with improved interface
  • Class Diagram Viewer: Add known subclasses to diagrams
  • mustBeSparse Function: Validate sparsity of arguments
  • Functionality being removed or changed
  • Data Analysis:
  • Experiment Manager App: Design experiments to run MATLAB code, and visualize, filter, and compare results
  • Pivot Table Live Editor Task: Interactively summarize tabular data in pivoted table
  • resize, paddata, and trimdata Functions: Change the size of data by adding or removing elements
  • smoothdata2 Function: Smooth noisy data in two dimensions
  • kde Function: Estimate a probability function by using kernel density estimation for univariate data
  • Join Tables Live Editor Task: Sort output timetable by row times when row times are not key values
  • Data Cleaning: Interactively fill missing data with values from nearest neighbor rows
  • Live Editor: Display the contents of nested tables as variables
  • Live Editor: Copy output data as tab-delimited text
  • pivot Function: Display empty groups in pivoted table
  • pivot Function: Specify row names for pivoted table as row group names
  • stackedplot Function: Plot events associated with timetables
  • Timetable Events: Perform calculations directly on event tables without extracting their data
  • containsrange, overlapsrange, and withinrange Functions: Specify time ranges by using event filters
  • Variables Editor in MATLAB Online: Interactively change display format for datetime or duration data
  • Variables Editor in MATLAB Online: View and interactively edit scalar structures, object arrays, and tables with grouped variables
  • Accessibility in MATLAB Online: Use a screen reader to interact with the Workspace browser, Variables editor, Property Inspector, and Import Tool
  • Histogram Distribution Charts: Calculate values and create histograms using percentages
  • tallrng Function: Specify random number algorithm without specifying seed
  • Functionality being removed or changed
  • Data Import and Export:
  • readstruct Function: Read data from JSON files
  • writestruct Function: Write structure arrays to JSON files
  • Parquet: Create ParquetDatastore objects more efficiently with partition control in parallel environments
  • cmdsep Function: Return command separator for current platform
  • NetCDF Interface: Import netCDF data using Import Tool in MATLAB Online and Import Data Live Editor Task
  • NetCDF Interface in MATLAB Online: Import netCDF data by double-clicking netCDF files
  • Image File Format Libraries: LibTIFF library upgraded to version 4.5.0
  • Scientific File Format Libraries: HDF4 library upgraded to version 4.2.16
  • Scientific File Format Libraries: HDF5 library upgraded to version 1.10.10
  • Scientific File Format Libraries: NetCDF library upgraded to version 4.9.1
  • serialbreak Function: Send break to device connected to serial port
  • Functionality being removed or changed
  • Mathematics:
  • Ordinary Differential Equations: Use object-oriented solution framework for ODEs
  • rng Function: Change default algorithm and seed for random number generator, and specify random number algorithm without specifying seed
  • MATLAB Support Package for Quantum Computing: Solve Quadratic Unconstrained Binary Optimization (QUBO) problems
  • MATLAB Support Package for Quantum Computing: Control circuit plot appearance and behavior with QuantumCircuitChart objects
  • deconv Function: Perform least-squares deconvolution with different convolved subsections
  • svdappend Function: Calculate revised singular value decompositions
  • expmv Function: Calculate matrix exponential multiplied by vector
  • expm Function: Improved algorithm for single-precision matrices
  • scatteredInterpolant Object: Use multivalued interpolation to interpolate multiple data sets simultaneously
  • Graphics:
  • piechart and donutchart Functions: Create configurable, interactive pie and donut charts
  • Plot Colors: Choose from nine color palettes
  • abyss Function: Apply blue-to-black colormap to charts and images
  • Legend: Control the order of legend entries
  • xscale, yscale, and zscale Functions: Quickly change between logarithmic and linear axes scales after plotting
  • xsecondarylabel, ysecondarylabel, and zsecondarylabel Functions: Create, delete, or modify secondary axis labels
  • Bar Charts: Specify bar labels as string vectors
  • xregion and yregion Functions: Create unbounded regions and specify multiple regions as matrix
  • Text Objects: Control whether text labels are included in axes limits
  • Contour Plots: Customize colors of contour labels
  • Colors and Line Styles: Control automatic color and line style selection for additional chart objects
  • Heatmap Charts: Control text interpreter for text labels in heatmap charts
  • Images: Display images with datetime, duration, or categorical pixel coordinates
  • swarmchart Function: Create horizontal swarm charts
  • Geographic Plots: Some basemaps have improved appearance at high zoom levels
  • Figure Code in MATLAB Online: Generate code from Camera tab
  • Figure Code in MATLAB Online: Generate code from Property Inspector
  • Functionality being removed or changed
  • App Building:
  • uislider Function: Create slider to specify range of values in apps and on App Designer canvas
  • uicontextmenu and uimenu Functions: Access information about action used to open context menu
  • uispinner and uieditfield Functions: Create spinners and numeric edit fields with placeholder text
  • uilistbox and uidropdown Functions: Access index of component value in list of items
  • uitable Function: Query selected table data in current table display
  • uicontextmenu Function: Context menus on trees appear when you right-click anywhere in the tree
  • appmigration.migrateGUIDEApp Function: Migrating multiple apps from GUIDE to App Designer updates app references
  • App Designer: Interactively rearrange tabs, menus, tree nodes, and toolbar tools
  • App Designer: Write unit tests for custom UI components
  • App Designer: View changes to HTML UI component source while working in Design View
  • Comparison Tool: Save app comparison results as PDF or DOCX reports programmatically and interactively
  • Axes Interactions: Interpolate data tip location
  • Axes Interactions: Indicate azimuth and elevation angles
  • Axes Interactions: Zoom into rectangular region of 2-D view of 3-D chart
  • App Testing Framework: Automatically scroll to components outside viewable area
  • Web Apps and Standalone Applications: Data brushing supported in graphics
  • Performance:
  • Language and Programming: Improved performance for reading and writing class property values
  • dde23 Function: Improved performance integrating high-dimensional systems
  • nufftn Function: Improved performance with nonuniform sample points or query points
  • fillmissing Function: Improved performance when filling entries with previous or next numeric value
  • ismember Function: Improved performance with small unsorted set array
  • islocalmax and islocalmin Functions: Improved performance when finding local minima and maxima
  • Data Cleaner App: Improved rendering performance of Cleaning Parameters panel
  • Tiled Chart Layouts: Improved performance for flow layouts with spanned axes
  • Plots in Apps: Improved performance when scrolling to zoom
  • Plots in Apps: Improved responsiveness for scatter plot interactions in apps
  • Plots in Apps: Constant lines and constant regions update continuously as you pan
  • App Building: Improved performance when resizing apps with nested containers
  • App Building: Improved startup performance for apps with panels in multiple tabs
  • App Designer: Improved app loading and running performance
  • App Designer: Improved performance when adding custom UI components to an app
  • Property Inspector in MATLAB Online: Improved performance when opening for the first time
  • Graphics in MATLAB Online: Images and 3-D plots in apps have significant performance gains
  • Software Development Tools:
  • Source Control API: Interact with Git source control programmatically
  • Project API: Determine whether file belongs to a project
  • Source Control in MATLAB Online: Perform source control operations using unified panel
  • Source Control in MATLAB Online: Expanded support for Git workflows
  • Projects in MATLAB Online: Added support for team collaboration workflows
  • Project Examples: Identify and run tests in projects
  • Build Automation: Use built-in tasks to define common build actions
  • Build Automation: Automatically open MATLAB project when running builds
  • Build Automation: Invoke build tool from project subfolders
  • Build Automation: Operate on file collections
  • Build Automation: Name the inputs and outputs of tasks for incremental builds
  • Build Automation: Run tasks using build options
  • Unit Testing Framework: Programmatically access code coverage results using the runtests function
  • Unit Testing Framework: Test for missing elements
  • Unit Testing Framework: Modify test report title
  • App Testing Framework: Automatically scroll to components outside viewable area
  • matlab.test.behavior.Missing Class: Test against constructor arguments that result in incompatible values
  • Functionality being removed or changed
  • External Language Interfaces:
  • Call MATLAB from C++: Generate output types for strongly typed methods and functions
  • Publish C++ Interface: Support for pointer return of string and fundamental types
  • Call MATLAB from .NET: Generate C# code interface for MATLAB packages, classes, and functions
  • Call .NET from MATLAB: Create explicit interface view of .NET object
  • Python: Support for version 3.11
  • Python Interface: Use of environment variable PYTHONHOME to load interpreter
  • Python Interface: Convert list and tuple of Python datetime or timedelta objects to MATLAB arrays
  • Python Interface: Resolve Python configuration issues
  • Compilers: Download MinGW-w64 8.1 from Add-On Explorer
  • Compilers: Support for NAG Fortran on Apple silicon
  • Compilers: Support for Microsoft Visual Studio Build Tools
  • Functionality being removed or changed
  • Hardware Support:
  • Support for ArduCam Multi Camera Adapter Module on Raspberry Pi Hardware

New in MATLAB R2023a (Mar 16, 2023)

  • Environment:
  • MATLAB Install: Reduce footprint using default installation without local documentation
  • Editor: Interactively increment numeric values within section and run section after every change
  • Live Editor Controls: Add file browser to select file interactively in live script
  • Live Editor Controls: Align controls within a section when code is hidden
  • Desktop Layout in MATLAB Online: Access desktop tools and change the desktop layout using sidebars
  • Code Issues Tool in MATLAB Online: Check code for errors and warnings using Code Issues tool
  • Find Files Tool in MATLAB Online: Search for files with improved Find Files tool
  • Editor in MATLAB Online: Edit read-only files
  • Search in MATLAB Online: Access videos using Search box
  • System Command Functions: Set and get multiple variables using operating system commands
  • loadenv Function: Load environment variables from .env and plain text files
  • Comparison Tool: Save text comparison results as PDF or DOCX reports programmatically and interactively
  • Toolbox Packaging: Specify packaging options when creating custom toolbox programmatically
  • Functionality being removed or changed
  • Language and Programming:
  • Code Analyzer: Enable custom checks and configure existing checks
  • fix Function: Fix code issues from the command line
  • Code Analyzer App: Apply fixes to code issues interactively
  • dictionary Object: Access and assign dictionary cell values with curly braces
  • Output Argument Validation: Debug within output argument blocks
  • Functionality being removed or changed
  • Data Analysis:
  • pivot Function: Summarize tabular data using pivot table
  • table and timetable Data Types: Perform calculations directly on tables and timetables without extracting their data
  • Timetable Events: Find and label events in timetables using attached event tables
  • combinations Function: Generate all element combinations of arrays
  • fillmissing2 Function: Fill missing entries in two-dimensional data
  • fillmissing Function: Use values from nearest neighbors to fill missing data
  • Descriptive Statistics and Arithmetic: Omit or include missing data of multiple data types
  • Find and Remove Trends Live Editor Task: Interactively find and remove periodic and polynomial trends
  • Data Cleaner App: Save session as MAT-file and reload session
  • head and tail Functions: Get top or bottom rows of array
  • groupsummary Function: Compute number of unique elements
  • movevars Function: Move table variables after last variable without After name-value argument
  • rowfun and varfun Functions: OutputFormat name-value argument can take "auto" as value
  • day Function: Return ISO day of week
  • week Function: Return ISO week of year or week of month
  • Variables Editor: Edit categories of categorical table variable in MATLAB Online
  • Data Import and Export:
  • Import Data Live Editor Task: Import data in live scripts
  • audiowrite Function: Write MP3 audio files
  • imfinfo Function: Get information about XMP metadata embedded in JPEG files
  • Parallel Processing: Use readtable in thread-based environments
  • Scientific File Format Libraries: CDF library upgraded to version 3.8.1
  • Scientific File Format Libraries: CFITSIO library upgraded to version 4.1.0
  • Functionality being removed or changed
  • Mathematics:
  • MATLAB Support Package for Quantum Computing: Build, simulate, and run quantum algorithms
  • pageeig Function: Perform eigenvalue decomposition on pages of N-D arrays
  • randi Function: Create random logical array
  • Functionality being removed or changed
  • Graphics:
  • xregion and yregion Functions: Highlight horizontal or vertical regions of plots
  • sky Function: Apply monochromatic colormap to charts
  • tiledlayout Function: Create horizontal or vertical layouts
  • animatedline Function: Create animated lines using numeric, datetime, or duration data
  • Grid Lines: Customize grid line thickness
  • Axes Labels: Rotate x- and y-axes labels without overlapping the axes
  • Plotting Series of Lines: Control cycling order of line styles
  • Plotting Series of Lines: Control whether the data range of a line affects automatic axes limits
  • fontsize and fontname Functions: Optionally specify the object containing the text
  • DatetimeRuler Object: Set or get the reference date for plotting datetime values
  • Image Display Preferences: Access and update imshow preferences in MATLAB Online
  • Functionality being removed or changed
  • App Building:
  • addStyle Function: Add styles to items in list box or drop-down UI component
  • uistack Function: Change stacking order of UI components in UI figure
  • uipanel and uibuttongroup Functions: Specify container border color
  • uihtml Function: Send events between MATLAB and HTML
  • uiimage Function: Specify image alt text for use with screen readers
  • appmigration.migrateGUIDEApp Function: Programmatically migrate existing GUIDE apps to App Designer
  • App Designer: View progress when loading an app
  • App Designer: Add label to unlabeled UI component
  • App Designer: Replace assigned callback with new callback
  • App Testing Framework: Test context menus within labels
  • Axes Interactions: Customize behavior of interactions with axes view
  • Plots in Apps: Enable data cursor mode
  • Plots in Apps: Specify axes for interaction mode
  • Functionality being removed or changed
  • Performance:
  • Language and Programming: Improved performance when calling functions and methods
  • Function Handles: Improved performance when invoking handles to named functions
  • varargin Argument: Improved performance when specifying zero or more inputs
  • timetable Data Type Indexing: Improved performance when subscripting with times or with withtol subscript
  • Complex Matrices: Improved performance when using colon indexing to copy complex matrices
  • mean, std, var, and rmse Functions: Improved performance when computing along default vector dimension
  • Moving Statistics Functions: Improved performance when computing over matrix with sample points
  • histcounts Function: Improved performance with small numeric and logical input data
  • fzero function: Improved performance
  • Plots in Apps: Improved performance when rerendering axes
  • Plots in Apps: Improved performance when creating axes
  • Plots in Apps: Improved responsiveness of ruler-pan interaction
  • Live Editor: Improved performance when filtering numeric table variables
  • Property Inspector: Improved performance when opening for the first time
  • Property Inspector: Improved performance when switching between objects
  • Variables Editor: Improved performance of cell editing in MATLAB Online
  • Variables Editor: Improved speed of data display when scrolling in MATLAB Online
  • App Building: Improved app startup performance
  • App Building: Improved startup performance for apps with multiple tabs
  • App Building: Improved performance when resizing some apps
  • Software Development Tools:
  • Build Automation: Improve build speed and efficiency with incremental builds
  • Build Automation: Create and run tasks that accept arguments
  • Dependency Analyzer: Analyze files and folders with or without a project
  • Project Preferences: Preserve empty project folders in Git repositories
  • Project API: Determine if file is under project root folder
  • Project API: Export subset of project files to archive
  • Project Sharing: Include only specific files in project archive using export profile
  • Comparison Tool: Automate comparison report generation for continuous integration (CI) workflows
  • Source Control in MATLAB Online: Save uncommitted changes by creating a Git stash
  • Source Control in MATLAB Online: Manage Git remote repositories locally using Branch Manager
  • Source Control in MATLAB Online: Detect and extract conflict markers from text and binary files
  • Comparison Tool in MATLAB Online: Compare project definition files
  • Dependency Analyzer in MATLAB Online: Investigate circular dependencies using the Project Hierarchy view
  • Unit Testing Framework: Run tests interactively by using Test Browser
  • Unit Testing Framework: Programmatically access code coverage results
  • Unit Testing Framework: Temporarily set environment variables
  • Unit Testing Framework: Test for handle validity
  • Unit Testing Framework: Write text to files in thread-based environment
  • Unit Testing Framework: Use renamed classes in testing and other automated workflows
  • App Testing Framework: Test context menus within labels
  • Performance Testing Framework: Use fewer samples to meet the objective margin of error
  • Functionality being removed or changed
  • External Language Interfaces:
  • Publish C++ Interface: Publish interface for C++ library in Live Editor
  • Interface to C++ Library: Execute C++ library functions out-of-process
  • Interface to C++ Library: Support for default arguments
  • Interface to C++ Library: Support for comments in function templates
  • Publish C++ Interface: Put libraries on run-time path
  • Publish C++ Interface: Resolve multiple redefinition and unresolved external symbol errors
  • Publish C++ Interface: Information to debug C++ library functions
  • Publish C++ Interface: Support for MATLAB operators for C++ methods
  • Java Interface: Support for Java 11 JDK and JRE
  • Java Interface: jenv and matlab_jenv provide environment information
  • Python Interface: Convert between MATLAB datetime and Python datetime, NumPy datetime64 types
  • Python Interface: Convert between MATLAB duration and Python timedelta, NumPy timedelta64 types
  • Python Objects: Use Python objects as keys in dictionary
  • .NET Interface: Convert between MATLAB dictionary and .NET System.Collections.Generic.Dictionary objects
  • .NET Objects: Use .NET objects as keys in dictionary
  • .NET Engine: Support for MATLAB structs
  • Perl 5.36.0: MATLAB support on Windows
  • Compiler support changed for building C and C++ interfaces, MEX files, and standalone MATLAB engine and MAT-file applications
  • Functionality being removed or changed
  • Hardware Support:
  • Support for MJPEG format in USB Webcams on Windows
  • Support for 32-bit Debian Bullseye on Raspberry Pi
  • Support for Raspberry Pi Zero 2 W and Raspberry Pi Compute Module 4

New in MATLAB R2022b (Sep 15, 2022)

  • Environment:
  • Live Editor Controls: Add numeric spinners to increment and decrement variable values in live scripts
  • Live Editor Tasks: Specify what code to run when control value changes
  • Suggestions and Completions: Change when to show suggestions and how to accept them
  • Search in MATLAB Online: Access toolstrip actions, preferences, and Help Center resources using search
  • System Theme in MATLAB Online: Change colors of MATLAB desktop to match operating system color scheme
  • Help Center: View documentation for all products and determine which products are installed
  • unsetenv Function: Remove environment variable
  • isenv Function: Determine if environment variable exists
  • Comparison Tool: Compare MAT files, FIG files, live scripts, and live functions in MATLAB Online
  • Functionality being removed or changed
  • Language and Programming:
  • dictionary Object: Map unique keys to values for fast lookup
  • Output Argument Validation: Validate output arguments in functions and class methods
  • Code Analyzer App: Identify code issues
  • codeIssues Object: Identify and store code issues from one or more files
  • Custom Compact Display: Live Editor, Variables editor, and Workspace browser follow CustomCompactDisplayProvider implementations
  • Customized Dot Indexing: New methods handle parentheses-dot combinations
  • Functionality being removed or changed
  • Data Analysis:
  • Data Cleaner App: Clean data in table
  • Data Cleaner App: View sparklines and summary statistics
  • stackedplot Function: Plot data from multiple tables or timetables
  • detrend Function: Detrend tabular data
  • rmoutliers Function: Define outlier locations, and optionally return outlier indicator, thresholds, and center value
  • mape and rmse Functions: Calculate error between forecast and actual data
  • isuniform Function: Determine if vector is uniformly spaced
  • Serial date numbers and date strings are not recommended
  • datetime and convertTo Functions: Convert between CDF TT2000 times and datetime arrays
  • Data Preprocessing Live Editor Tasks: Plot multiple table variables
  • Data Preprocessing Live Editor Tasks: Append cleaned table variables and specify logical tabular output
  • Clean Missing Data Live Editor Task: Plot nonnumeric table data, specify minimum number of missing entries, and use custom fill method
  • Clean Outlier Data Live Editor Task: Convert outliers to missing
  • Live Editor and Variables Editor: Control placement of missing values when sorting numeric data in MATLAB Online
  • Variables Editor: View sparklines and summary statistics for tabular data in MATLAB Online
  • Variables Editor: Navigate variable with Find and Go To dialog boxes in MATLAB Online
  • Variables Editor: Interactively save logical indices of data selection in MATLAB Online
  • Variables Editor: Replace tabular data with empty arrays in MATLAB Online
  • Functionality being removed or changed
  • Data Import and Export:
  • Parquet: Use Parquet files containing nested structured data
  • SequentialDatastore Object: Sequentially read data from multiple datastores
  • Datastores: Create subsets of arbitrarily nested transformations and combinations of datastores
  • Parallel Processing: Use low-level file I/O operations in thread-based environments
  • CDF Interface: Read CDF_INT8 and CDF_TIME_TT2000 data
  • imwrite Function: Use datetime values to write metadata for PNG images
  • Image File Format Libraries: LibTIFF library upgraded to version 4.4.0
  • Scientific File Format Libraries: HDF4 and HDF-EOS2 libraries are upgraded
  • Functionality being removed or changed
  • Mathematics:
  • pagenorm Function: Calculate norms using pages of N-D arrays
  • Functionality being removed or changed
  • Graphics:
  • Plotting Table Data: Create stem, stairstep, and geographic plots by passing tables directly to plotting functions
  • errorbar Function: Plot multiple lines with error bars at once
  • tightPosition Function: Get the location and size of axes plotting area
  • tilenum and tilerowcol Functions: Convert between rows and columns and tile numbers in tiled chart layouts
  • Tiled Chart Layout: Define GridSizeChangedFcn callback that executes when the grid size changes
  • Contour Plots: Customize contour labels, colors, and transparency
  • boxchart Function: Specify the box edge color and box median line color
  • 3-D Stem and Bar Plots: Expanded data type support
  • Image Objects: Control the maximum resolution for displaying images
  • Figure Code: Generate code for figure formatting in MATLAB Online
  • Plot Options: Customize figure creation, data linking, and labeling in MATLAB Online
  • Functionality being removed or changed
  • App Building:
  • ClickedFcn and DoubleClickedFcn Callbacks: Program a response to a user clicking or double-clicking a tree, check box tree, list box, table, or drop-down component
  • uieditfield Function: Specify valid length and input type for edit field text
  • uiimage Function: Create an image hyperlink
  • uipanel and uibuttongroup Functions: Specify container border width
  • uigridlayout Function: Query grid layout manager size and location
  • uibutton and uitogglebutton Functions: Specify additional icon and icon alignment options
  • uitoolbar Function: Specify background color of toolbar
  • scroll Function: Programmatically scroll to specified component in container
  • isInScrollView Function: Determine if any component in a container is visible, not only direct children
  • App Designer: Add and delete callbacks more efficiently
  • App Designer: Move components between tabs
  • Graphics Support: Restore axes view and display context menu for interaction modes
  • Graphics Support: Use visual camera toolbar interface
  • Comparison Tool: Toggle the ability to navigate only mergeable changes
  • Functionality being removed or changed
  • Performance:
  • prctile, quantile, and iqr Functions: Improved performance with small input data
  • mldivide and pagemldivide Functions: Improved performance with small matrices
  • conv, conv2, and convn Functions: Improved performance when convolving two vectors, matrices, and arrays
  • Tall Arrays: Improved performance when indexing tall arrays backed by parquetDatastore
  • App Building: Improved app startup performance
  • App Building: Improved startup performance for apps with multiple tabs
  • Plots in Apps: Improved responsiveness when interacting with large images
  • Plots in Apps: Ticks and grid lines update as you pan
  • Plots in Apps: Improved performance and smaller PDF files when exporting complex plots
  • Tiled Chart Layouts: Improved performance for flow layouts with spanned axes
  • ArrayDatastore Object: Improved performance when reading data using readall
  • ArrayDatastore Object: Improved performance when specifying number of rows to read
  • parquetread Function: Improved performance reading string data from Parquet files
  • parquetDatastore Function: Improved performance when creating datastore with large number of Parquet files
  • Workspace Browser: Improved performance of variable-deletion dialog boxes in MATLAB Online
  • Variables Editor and Live Editor: Improved speed of data display when scrolling in MATLAB Online
  • lookfor Function: Improved performance when searching
  • Software Development Tools:
  • Build Tool: Create and run software-build tasks
  • Dependency Analyzer: New warnings to identify problems
  • Project API: Extract project from archive
  • Source Control in MATLAB Online: Manage Git branches and repositories
  • Unit Testing Framework: Add methods and properties to test classes interactively
  • Unit Testing Framework: Specify action to take against invalid test files
  • Unit Testing Framework: Generate descriptive test parameter names using cell arrays
  • Unit Testing Framework: Compare dictionaries in tests
  • External Language Interfaces:
  • .NET Interface: Support for .NET 5 and .NET Core
  • .NET Engine API: Call MATLAB from .NET applications
  • Publish C++ Interface: Support for char* output as nullTerminated string
  • Call MATLAB from C++: Use MATLAB enumeration classes in strongly-typed interface
  • Python Interface: Display keyword (key-value pair) arguments created by pyargs
  • Python Interface: Convert scalar logical and numeric Python types to MATLAB types
  • Python Engine: MATLAB functions accept objects using Python buffer protocol
  • Python Engine: Install MATLAB Engine API with pip Command
  • Python: Support for Version 3.10
  • Hardware Support:
  • Upload Libraries and Configure Pins for I2C, SPI, and Serial Communication Using the Arduino Explorer App
  • Support for servo and rotary encoder peripherals connected to Arduino-compatible ESP32 boards

New in MATLAB R2022a (Mar 9, 2022)

  • Environment:
  • Themes in MATLAB Online: Change the colors of the MATLAB desktop by selecting a dark or light theme
  • Live Editor Colors: Change the text and background colors of live scripts and functions
  • Live Editor Hyperlinks: Insert hyperlinks to specific locations in separate live scripts or live functions
  • Live Editor Export: Export live scripts and functions programmatically using the export function
  • Live Editor Accessibility: Interact with output in live scripts using the keyboard
  • Live Editor Tasks: View and interact with tasks when code is hidden
  • Component Browser: Reorder children in App Designer or the Property Inspector
  • Editor Python Support: View and edit Python files with syntax highlighting, auto-indenting, and delimiter matching
  • Find and Replace Dialog Box: Search text in the Editor and Live Editor using regular expressions
  • Profiler: Access the Profiler from the Apps tab
  • Internationalization: UTF-8 system encoding on Windows platforms
  • Installation Settings: Configure persistent settings for MATLAB installations
  • Comparison Tool: Save results as HTML report
  • Comparison Tool: Compare folders in MATLAB Online
  • Functionality being removed or changed
  • Language and Programming:
  • Class Introspection: Description and DetailedDescription properties of metaclasses contain text from code comments
  • Class Introspection: Access class aliases from meta.class instance
  • Background Pool: See futures in the background
  • cancelAll Method: Cancel currently queued and running futures in the background pool
  • Background Pool: Check the status of the background pool
  • pcode Function: Create P-code files with enhanced obfuscation
  • str2num Function: Restrict evaluation to basic math expressions
  • Functionality being removed or changed
  • Data Analysis:
  • Data Cleaner App: Interactively preprocess and organize column-oriented data
  • allfinite, anynan, and anymissing Functions: Determine if all array elements are finite, any element is NaN, and any element is missing
  • quantile, prctile, and iqr Functions: Calculate quantiles, percentiles, and interquartile range
  • rms Function: Calculate root-mean-square value
  • std and var Functions: Optionally return mean as a second output
  • Date and Time Functions: Some Financial Toolbox functions combined with MATLAB functions
  • Date and Time Functions: Some Financial Toolbox functions moved to MATLAB
  • matlab.datetime.compatibility.convertDatenum Function: Convert text timestamps and serial date numbers to datetime values in a backward-compatible way
  • categorical Data Type: Use a pattern object to specify category names that match a pattern
  • table and timetable Data Types: Use a pattern object to specify row, variable, and property names that match a pattern
  • Data Preprocessing Functions: Append transformed variables to input data using the ReplaceValues name-value argument
  • Data Preprocessing Functions: Return table with logical values using the OutputFormat name-value argument
  • ismissing, rmmissing, and groupsummary Functions: Accept data types with no standard missing value
  • Functionality being removed or changed
  • Data Import and Export:
  • Parquet: Read Parquet file data more efficiently using rowfilter to conditionally filter rows
  • Parquet: Determine and define row groups in Parquet file data
  • Parquet: Convert, import, and export nested data structures
  • writelines Function: Write plain text to a file
  • Reading Online Data: Use web options when reading files over HTTP and HTTPS
  • Opus Files: Work with Opus (.opus) audio files.
  • HDF5 Interface: Write datasets using dynamically loaded filters
  • NetCDF Interface: Enable byte-range reading of remote datasets
  • NetCDF Interface: Read and write variable length array data types (NC_VLEN)
  • Scientific File Format Libraries: NetCDF library is upgraded
  • Hardware Manager App: Discover and connect to your hardware from MATLAB
  • TCP/IP Client Interface: Specify transfer delay options
  • Functionality being removed or changed
  • Mathematics:
  • pagemldivide, pagemrdivide, and pageinv Functions: Solve linear equations and calculate matrix inverses using pages of N-D arrays
  • tensorprod Function: Calculate tensor products between two arrays
  • round Function: Control tiebreak behavior
  • null and orth Functions: Specify tolerance to treat singular values below a threshold as zero
  • norm Function: Frobenius norm calculations support N-D arrays
  • equilibrate Function: Specify output format of factorization
  • rand, randi, and randn Functions: Support for complex input and RandStream object with the "like" syntax
  • eps, flintmax, intmax, intmin, realmax, and realmin Functions: Use "like" syntax to return scalars based on prototype object
  • qr and gsvd Functions: Option for economy-size decompositions
  • Functionality being removed or changed
  • Graphics:
  • Plotting Table Data: Create line plots by passing tables directly to plotting functions
  • Data Tips: View table variable names as row labels
  • Data Tips: View visual property values for scatter plots and bubble charts
  • Bubble Charts and 3-D Scatter Plots: Plot multiple data sets at once
  • fontname and fontsize Functions: Specify the font and font size for graphics objects
  • exportgraphics Function: Create animated GIF files
  • Annotation Graphics Objects: Change the annotation rotation angle with the Rotation property
  • Quiver Plots: Align the heads, centers, or tails of arrows with data points
  • xlim, ylim, and zlim Functions: Query the axis limit method
  • view Function: Change the view on multiple axes simultaneously
  • rendererinfo Function: Get renderer information without specifying the axes
  • linkaxes Function: Synchronize axes in all dimensions by default
  • cameratoolbar Function: Syntax support for figures created with the uifigure function
  • Callbacks in Live Editor: Create callbacks for figures in the Live Editor
  • Figure Code: Generate code for figure interactions in MATLAB Online
  • Functionality being removed or changed
  • App Building;
  • uistyle Function: Add icons and format text in table cells and tree nodes
  • uitable Function: Rearrange columns of table UI components interactively
  • focus Function: Give keyboard focus to UI components programmatically
  • isInScrollView Function: Determine if a component is visible in a scrollable container
  • uigridlayout Function: Resize table, list box, and image UI components to fit content
  • Live Editor Tasks: Develop your own Live Editor tasks for use in live scripts and functions
  • Custom UI Components: Interactively create custom UI components in App Designer
  • App Designer: Modify tab focus order of components
  • App Designer: Specify error handling options and navigate from error messages when debugging an app
  • App Designer: Manage image files in your app with an improved workflow
  • App Designer: Convert components in a grid layout manager to use pixel-based positioning
  • App Designer: Use App Designer in most modern web browsers in MATLAB Online
  • App Designer: Customize design environment layout
  • Comparison Tool: Compare and merge app files in MATLAB Online
  • Functionality being removed or changed
  • Performance:
  • table Data Type Indexing: Improved performance when subscripting with dot notation or multiple levels of indexing
  • Classes: Improved performance for static methods, constant property access, and package functions in scripts
  • try Block: Improved performance when statements run error-free
  • Python Data Type Conversion: Improved performance when converting between Python and MATLAB data types in out-of-process mode
  • MATLAB Engine API for Python: Improved performance with large multidimensional arrays in Python
  • Matrix multiplication: Improved performance when multiplying sparse and full matrices
  • inv Function: Improved performance when inverting large triangular matrices
  • sprand and sprandn Functions: Improved performance when generating random sparse matrices
  • fzero Function: Improved performance
  • diff Function: Improved performance with large number of elements
  • groupsummary, groupfilter, and grouptransform Functions: Improved performance with small group size
  • nufftn Function: Improved performance with nonuniform sample points or query points
  • Variables Editor and Live Editor: Improved speed of data display when scrolling
  • App Building: Improved performance when creating UI components
  • uitable Function and UI Containers: Improved performance when updating properties successively
  • UI Components: Improved performance when setting a property with an unchanged value
  • App Designer: Improved performance when loading apps with UIAxes components off the canvas
  • Plots in Apps: Improved responsiveness for event-driven updates in apps
  • Plots in Apps: Improved responsiveness of axes interactions within apps
  • Plots in Apps: Improved responsiveness of axes interactions in plots with two y-axes
  • Plots in Apps: Faster animations in apps when multiple figures are open
  • Property Inspector: Improved performance when opening for the first time
  • Software Development Tools:
  • Projects: Reduce test runtime in continuous integration workflows using the dependency cache
  • Dependency Analyzer: Save dependency graph as image
  • Code Compatibility Analyzer App: Identify and address compatibility issues against current version of MATLAB
  • Unit Testing Framework: Create test classes interactively using the Current Folder browser
  • Unit Testing Framework: Create temporary folders that are automatically removed
  • Unit Testing Framework: Generate DOCX, HTML, and PDF reports after test execution
  • Unit Testing Framework: Debug uncaught errors in tests
  • Unit Testing Framework: Collect statement and function coverage metrics for your source code
  • Functionality being removed or changed
  • External Language Interfaces:
  • c++ Interface: Array size help text for functions and methods
  • C Interface: Build third-party C library interface using clibgen.generateLibraryDefinition
  • C++ Interface: Support for C++ language features
  • C++ Interface: Publisher options
  • Call MATLAB from C++: Generate C++ code Interface for MATLAB Packages, Classes, and Functions
  • MATLAB Data Array API: matlab::data::Array support for row-major order
  • MEX Functions: UTF-8 system encoding on Windows platforms
  • Python: Use Name=Value syntax to pass keyword arguments to Python functions
  • Python: Convert Python list and tuple types to MATLAB types
  • Perl 5.34.0: MATLAB support on Windows
  • Compilers: Support for Microsoft Visual Studio 2022
  • Functionality being removed or changed

New in MATLAB R2021b (Sep 23, 2021)

  • Environment:
  • Editor Selection: Select and edit a rectangular area of code
  • Editor Display: Zoom in and out in the Editor
  • Editor Code: Show code suggestions and completions automatically
  • Editor Debugging: Diagnose problems in scripts and functions using inline debugging controls and a breadcrumb-style function call stack
  • Editor Refactoring: Automatically convert selected code to a function
  • Editor Code: Automatically complete block endings, match delimiters, and wrap comments while editing code
  • Editor Sections: Create sections with an improved appearance
  • Editor Code: Change the case of text and code
  • Editor Bookmarks: Maintain bookmarks after closing a file
  • Live Editor Controls: Set default values for sliders, drop-down lists, check boxes, and edit fields
  • Live Editor Animations: Export animations to movies or animated GIFs
  • Live Editor Figures: Interact with real MATLAB figures and resize them with improved layouts
  • Live Editor: Improved performance when saving live scripts or functions
  • Comparison Tool: Compare and merge text files with improved usability, appearance, and syntax highlighting
  • Importing Preferences from Previous Releases: MATLAB checks for preferences from R2019b or newer
  • Display language: MATLAB uses Windows display language settings for selecting desktop language
  • Functionality being removed or changed
  • Language and Programming:
  • cast Function: Consistent output for all syntaxes with the same data type conversion
  • Run Code in the Background: Use parallel language to run code asynchronously
  • Portable Parallel Code: Share parallel code and seamlessly run in parallel
  • Compact Display for Classes: Customize display of information about classes when space is limited
  • Class Aliasing: Create aliases for renamed classes to maintain backward compatibility
  • Modular Indexing: Customize class indexing operations individually using new superclasses
  • Scalar Classes: Inherit from the matlab.mixin.Scalar superclass to ensure instances behave as scalars
  • startat Function: Time zone information in datetime objects now supported
  • Functionality being removed or changed
  • Data Analysis:
  • Compute by Group Live Editor Task: Interactively summarize, transform, or filter groups of data
  • Normalize Data Live Editor Task: Interactively center and scale data
  • Clean Missing Data Live Editor Task: Define missing values
  • trenddecomp Function: Find trends in data
  • min and max Functions: Specify the comparison method for determining minimum and maximum values
  • uniquetol Function: Options to control element selection and preserve range of data
  • Data Preprocessing Functions: Specify table variable as sample points vector
  • dateshift Function: Shift to next occurrence of weekday or weekend day
  • isbetween Function: Support for open, closed, and half open intervals
  • isregular Function: Support for datetime and duration data types
  • istabular Function: Determine if input is a table or timetable
  • retime and synchronize Functions: Median and mode methods supported
  • timeofday Function: Return the date as the second output argument
  • timeseries2timetable Function: Convert timeseries objects to timetables
  • Functionality being removed or changed
  • Data Import and Export:
  • sftp Function: Connect to SFTP servers
  • Datastores: Specify FileSet objects as data locations for some datastores
  • Table Import: Read tables from HTML and Microsoft Word documents
  • HDF5 Interface: Use new functionality in support of HDF5 1.10.7
  • NetCDF Interface: Read and write NC_STRING data
  • Scientific File Format Libraries: HDF5 and NetCDF libraries are upgraded
  • Audio, Video, and Image I/O Functions: Run functions in a thread-based environment
  • Image File Format Libraries: LibTIFF library upgraded to version 4.2.0
  • New Serial Explorer and TCP/IP Explorer apps
  • Functionality being removed or changed
  • Mathematics:
  • ode78 and ode89 Functions: High-order Runge-Kutta solvers for ordinary differential equations
  • pagesvd Function: Perform singular value decomposition on pages of N-D arrays
  • svd Function: Option to control output format of singular values
  • mpower Function: Improved algorithm for defective matrices
  • Functionality being removed or changed
  • Graphics:
  • Plotting Table Data: Create scatter plots, bubble charts, and swarm charts by passing tables directly to plotting functions
  • Axes Ticks and Colors: Control the appearance of axis tick marks and tick label colors
  • Create Plot Live Task: Add additional visualizations to generated plots
  • Create Plot Live Task: Control chart input syntax using configuration drop-down
  • exportgraphics Function: Capture and append graphics to existing PDFs
  • stackedplot Function: Support for semilog y-axes
  • Text Objects: Use editInteractions in the Interactions property to click or tap on text to edit
  • dataTipTextRow Function: Customize data tip content using data properties, such as UserData
  • MATLAB Online™ Accessibility: Use a screen reader to interact with figures
  • Functionality being removed or changed
  • App Building:
  • uialert, uiconfirm, and uiprogressdlg Functions: Mark up text and display equations in dialog boxes
  • addStyle Function: Add styles to nodes and levels in a tree UI component
  • uitable Function: Set and query table selections programmatically and control table selection options
  • uitextarea Function: Program apps to respond while a user is typing in a text area component
  • Run Code in the Background: Use parallel language to create more responsive apps
  • App Designer: Debug code in Code View
  • App Designer: Efficiently manage your app code with tools and shortcuts from Live Editor
  • App Designer: Interactively modify canvas zoom level and fit canvas to view
  • App Designer: Convert between similar UI components
  • App Designer: Add help text for your app
  • App Designer: Remove auto-reflow behavior from an app with auto-reflow
  • Deployed Web Apps: Deploy web apps directly to the MATLAB Web App Server from within App Designer
  • App Testing Framework: Perform press gestures on axes and UI axes with different selection types
  • App Testing Framework: Perform drag gestures on axes and figures with different selection types
  • App Testing Framework: Use any units of measurement in gestures at the center of components
  • Functionality being removed or changed
  • Performance:
  • table Data Type Indexing: Improved performance when assigning elements by subscripting with curly braces
  • qrinsert and qrdelete Functions: Improved performance modifying QR factorizations
  • Titles and Labels in Plots: Improved performance when creating and querying titles or labels in a loop
  • Plot Interactions: Improved performance for rendering data tips and rotating scatter plots of large data sets
  • Plots in Apps: Improved performance for creating plots
  • App Designer: Improved performance when opening Start Page and loading apps
  • App Designer: Improved performance when saving apps
  • Comparison Tool: Improved performance when loading and saving MLAPP files
  • uigridlayout Function: Improved performance when adding components spanning multiple columns with 'fit' width
  • uigridlayout Function: Improved resizing performance when wrapping text in resizable columns
  • Live Editor: Improved performance when saving live scripts or functions
  • Data Processing Dialog Boxes: Improved resizing performance
  • Figure Interactions: Improved performance when using built-in axes interactions
  • UI Figures: Improved performance when displaying axes toolbar
  • UI Figures: Improved performance when interacting with linked axes
  • Software Development Tools:
  • Projects: Collaborate using projects in MATLAB Online
  • Source Control: Work with files under Git in MATLAB Online
  • Unit Testing Framework: Use the TestCase class template to create tests more quickly and accurately
  • Unit Testing Framework: Run live-function-based tests interactively in MATLAB Online
  • App Testing Framework: Perform press gestures on axes and UI axes with different selection types
  • App Testing Framework: Perform drag gestures on axes and figures with different selection types
  • App Testing Framework: Use any units of measurement in gestures at the center of components
  • Functionality being removed or changed
  • External Language Interfaces:
  • C++ interface: Support for C++ language features
  • C++ interface: Publisher options
  • Java interface: Specify JRE path for MATLAB
  • Java: Call into MATLAB from a Java program called by MATLAB
  • Python interface: Run Python commands and scripts from MATLAB
  • Python: Support for complex multidimensional arrays
  • Python: Version 3.9 support
  • WSDL Web Services Documents: Apache CXF version 3.4.2 support
  • Perl 5.32.1: MATLAB support on Windows
  • Functionality being removed or changed
  • Hardware Support:
  • Connect and Control Arduino board using the Arduino Explorer App
  • Read data from APDS9960 sensor connected to the Arduino hardware
  • Support for CAN shields on Raspberry Pi Hardware

New in MATLAB R2021a (Mar 11, 2021)

  • Environment:
  • Live Editor Controls: Create dynamic controls in live scripts by linking variables to drop-down items and slider values
  • Live Editor Fonts: Change the name, style, size, and color of fonts programmatically using settings
  • Live Editor Display: Specify where to display output by default
  • Live Editor Functions: Run live functions interactively using the Run button in MATLAB Online
  • Live Editor Bookmarks: Navigate quickly between lines
  • Live Editor Animation Playback Controls: Interactive interface to control animations
  • Live Editor Performance: Improved performance when saving large live scripts or functions
  • Help Browser: View web documentation by default
  • Documentation: View MATLAB documentation in French, Italian, and German
  • MATLAB Drive: Get the location of your MATLAB Drive root folder programmatically
  • Functionality being removed or changed
  • Language and Programming:
  • Name=Value Syntax: Use name=value syntax for passing name-value arguments
  • Class Diagram Viewer: Create graphical class diagrams to explore class details and share designs
  • Enumeration Comparisons: Use isequal to compare enumeration members with text data types
  • Capturing disp Output: Use the formattedDisplayText function to store disp output as a string
  • Retrieving Display Format: format function can get and set display format
  • Function Argument Validation: Debugger and profiler is now supported
  • Virtual File Storage: mkdir and rmdir will now be able to create and remove files from VFS directories
  • Functionality being removed or changed
  • Data Analysis:
  • Data Preprocessing Live Editor Tasks: Operate on multiple table variables and specify output format for table input
  • Clean Outlier Data Live Editor Task: Visualize results with a histogram
  • fillmissing Function: Specify custom fill method
  • normalize Function: Normalize multiple data sets with same parameters
  • groupcounts Function: Display percentages of group counts
  • ts2timetable Function: Convert timeseries objects to timetables
  • table and timetable Functions: Specify dimension names using the 'DimensionNames' name-value argument
  • Functionality being removed or changed
  • Data Import and Export:
  • XML Files: Read, write, and import XML files using readtable, readtimetable, and other functions
  • MATLAB API for Advanced XML Processing: Create, read, write, transform, and query XML
  • XML Files: Register XML namespace prefixes for evaluating XPath expressions using readtable,readstruct, and other functions
  • Low-level file I/O functions and remote data: Perform read and write operations on remotely stored files
  • save and load functions and remote data: Save, load, and append data to remotely stored v7.3 MAT-files
  • Reading Online Data: Read files over HTTP and HTTPS using readtable, audioread, and other reading functions
  • Parquet Data Format: Use categorical data in parquet data format
  • Datastores: Read all data from a datastore using parallel processing
  • Data Compression Functions: Improved functionality in zip/unzip and tar/untar
  • imfinfo function: Get information about all Adobe Digital Negative (DNG) file tags
  • jsonencode: Add indentation to JSON text
  • Functionality being removed or changed
  • Mathematics:
  • Graph Algorithms: Compute all paths, all cycles, and cycle basis
  • griddedInterpolant Object: Use multivalued interpolation to interpolate multiple data sets simultaneously
  • eig Function: Improved algorithm for skew-Hermitian matrices
  • cdf2rdf Function: Improved algorithm for all inputs
  • Functionality being removed or changed
  • Graphics:
  • Create Plot Live Editor Task: Create plots interactively and generate code
  • bubblecloud Function: Visualize part-to-whole relationships
  • tiledlayout Function: Control the tile indexing scheme
  • PolarAxes Objects: Use the CurrentPoint property or call ginput to get the cursor location within polar axes
  • Scatter Plots and Constant Lines: Create multiple scatter plots or constant lines at once
  • Axis Limits: Define LimitsChangedFcn callback that executes when the limits of an axis change
  • Axis Limits: Control axis limits
  • exportgraphics and copygraphics Functions: Specify RGB, CMYK, or grayscale output
  • colororder Function: Control colors in stacked plots
  • Tick Labels: Automatically rotate tick labels
  • patch and errorbar Functions: Expanded data type support
  • Geographic Plots: Access basemaps using additional proxy server authentication types
  • Functionality being removed or changed
  • App Building:
  • uihyperlink Function: Add and configure clickable links in apps and on the App Designer canvas
  • uitree Function: Add and configure check box trees in apps and on the App Designer canvas
  • Interpreter Property: Style text and display equations in labels with HTML and LaTeX markup
  • WindowStyle Property: Create UI figures that remain in the foreground
  • scroll Function: Scroll to a location within a table UI component programmatically
  • UI Component Accessibility: Select ListBox items, Table cells, ColorPicker colors, and DatePicker menus using the keyboard
  • App Designer: Use custom UI components in App Designer
  • App Designer: Zoom and pan in the canvas, and zoom in the Code View editor
  • App Designer: Control color and tab settings in Code View using MATLAB preferences
  • App Designer: Customize split-screen layouts in the App Designer editor
  • App Testing Framework: Perform gestures on panels and tables
  • App Testing Framework: Close alert dialog box in front of figure window
  • Web Apps and Standalone Applications: Datatips supported in graphics
  • Functionality Being Removed or Changed
  • Performance:
  • Sparse Matrix Multiplication: Improved performance multiplying large sparse matrices
  • Sparse Linear Systems: Improved performance solving sparse linear systems A*X = B with multicolumn B
  • vecnorm Function: Improved performance operating on data with multiple columns
  • ismember Function: Improved performance for cell inputs
  • unique Function: Improved performance for numeric, logical, char, and cell inputs
  • Graph Functions: Improved performance modifying node and edge lists
  • Axes Toolbar: Appears without delay when axes are ready
  • Rearranging UI Components: Improved performance when rearranging UI components in a UI figure
  • UI Figure Interactions: Faster responses to scroll, pointer movement, and resize interactions in UI figures
  • Plots in Apps: Improved performance for polar plots, volume visualizations, plots with more than 16 axes, and older systems
  • Plots in Apps: Improved performance for plots with large numbers of markers
  • Live Editor: Improved performance when saving large live scripts or functions
  • Software Development Tools:
  • Projects: List all referenced projects of the current project
  • Projects: List impacted project files
  • Dependency Analyzer: Find required add-ons
  • Unit Testing Framework: Create test runners using alternative syntax
  • Unit Testing Framework: Initialize parameterization properties at suite creation time
  • Unit Testing Framework: Run tests in parallel on thread-based pool
  • Unit Testing Framework: Run tests in MATLAB Online interactively
  • App Testing Framework: Perform gestures on panels and tables
  • App Testing Framework: Close alert dialog box in front of figure window
  • Functionality being removed or changed
  • External Language Interfaces:
  • C++ Interface: Support for C++ language features
  • C++ Interface: Publisher options and analysis
  • Java Packages to be removed
  • Java Engine: MATLAB value object support
  • Python Interface and Engine: Version 3.6 support discontinued
  • Perl 5.32.0: MATLAB support on Windows
  • Hardware Support:
  • Support added for IMU sensors
  • New functionalities added to Raspberry Pi Resource Monitor app

New in MATLAB R2020b (Sep 16, 2020)

  • Environment:
  • MATLAB Online Accessibility: Use a screen reader to interact with the Command Window and create scripts and functions
  • Live Editor Images: Add alternative text to images
  • Live Editor Images: Change the size of images
  • Live Editor Hyperlinks: Navigate to existing files from a live script or live function using links
  • Live Editor Export: Export all live scripts and live functions in a folder to a standard format
  • matlabRelease Object: Query MATLAB Release Information
  • Query Parallel Functionality: Determine if support for Parallel Computing Toolbox functionality is available
  • Comparison Tool: Compare text files in MATLAB Online
  • Language and Programming:
  • pattern Object and Functions: Match patterns in text functions
  • extract Function: Extract substrings from strings
  • Functions: New validation functions for arguments and properties
  • underlyingType, isUnderlyingType, and mustBeUnderlyingType Functions: Query the underlying data type of classes
  • height and width Functions: Return number of rows or columns in an array
  • Class conversions: Assignment operations convert more classes into built-in data types
  • Functionality being removed or changed
  • Data Analysis:
  • Implicit Expansion: For calendarDuration, categorical, datetime, and duration arrays, automatically expand dimensions of length 1 when applying element-wise operations and functions
  • normalize Function: Scale data by interquartile range
  • groupsummary Function: Summarize data using functions that require multiple input arguments
  • fillmissing Function and Clean Missing Data Live Editor Task: Specify maximum gap size to fill
  • Clean Outlier Data Live Editor Task: Define outliers based on percentile thresholds
  • Functionality being removed or changed
  • Data Import and Export:
  • readstruct and writestruct functions: Read and write structured data in XML files
  • readlines function: Read the lines in a text file as a string array
  • Spreadsheet files: Customize formatting when writing data to spreadsheet files with PreserveFormat and AutoFitWidth
  • imread function and Tiff object: Read images from Aperio SVS and TIFF files containing JPEG2000 compression
  • ArrayDatastore object: Create datastores from in-memory data
  • Datastore: Transform multiple datastores using the transform function
  • FileDatastore object: Shuffle and create subsets of a FileDatastore
  • writeall function: Write data from text and spreadsheet files to different row groups in Parquet files
  • fileparts function: Parse file names specified as cell arrays of character vectors and string arrays
  • Audio devices: Refresh the available audio devices using the audiodevreset function
  • Audio files and web-based data: Read and write remotely stored audio files using audioread, audiowrite, and audioinfo
  • HDF5 files and web-based data: Read and write remotely-stored HDF5 files using existing HDF5 functions
  • HDF5 files: Read and write file names encoded using Unicode characters
  • Scientific File Format Libraries: NetCDF library upgraded to 4.7.3
  • Image File Format Libraries: LibTIFF library upgraded to version 4.1.0
  • Bluetooth Interface: Support for communicating with Bluetooth devices
  • TCP/IP Client Interface: New functions and properties
  • Serial Port Interface: Improved performance
  • Functionality being removed or changed
  • Mathematics:
  • Optimize Live E:ditor Task: Solve optimization problems interactively
  • pagemtimes Function: Perform matrix multiplication on pages of N-D arrays
  • pagetranspose and pagectranspose Functions: Transpose pages of N-D arrays
  • svdsketch Function: Compute SVD factors of low-rank matrix sketch
  • Functionality being removed or changed
  • Graphics:
  • bubblechart, bubblechart3, and polarbubblechart Functions: Create bubble charts in 2-D, 3-D, and in polar coordinates
  • Swarm charts and Scatter objects: Visualize distributions of discrete data
  • scatter Function: Vary the transparency across all points
  • tiledlayout and nexttile Functions: Improved placement of legends, and colorbars, and shared decorations
  • axis Function: Pad axis limits to show plotted data near the limits more clearly
  • Titles, Subtitles, and Axis Labels: Add subtitles to plots, and align titles and axis labels with the plot box
  • Data Tips: Customize data tip content on standalone visualizations
  • turbo Colormap: jet colormap alternative with more perceptually uniform transitions
  • Colormap Editor: Customize colormaps using modernized interface
  • boxchart Function: Use color to differentiate between box charts
  • im2gray and cmap2gray: Convert images and colormaps to grayscale
  • validatecolor Function: Calculate normalized RGB triplets for color names, hexadecimal color codes, or integer values
  • Markers: Specify horizontal or vertical line markers for plots
  • surfc and meshc Functions: Specify Z-level for contours on surface and mesh plots
  • animatedline Function: Create animated lines in polar plots
  • colororder Function: Control colors in geographic bubble charts
  • Functionality being removed or changed
  • App Building:
  • uitable Function: Configure column widths to use weighted variable or to automatically adjust to fit data
  • scroll Function: Scroll to the top or bottom of a text area programmatically
  • WindowStyle Property: Create modal UI figures
  • Icon Property: Specify custom icons for UI figure windows and toolbar push and toggle tools
  • WordWrap Property: Wrap long text to fit the width of certain UI components
  • Enable Property: Turn interaction off and on for buttons and panel groups
  • BackgroundColor Property: Set the background color for grid layouts
  • Custom Components: Develop your own class of UI components
  • App Designer: Allow only one running instance of your app at a time
  • App Designer: Change the stacking order of UI components
  • App Designer: Add and configure toolbar components on the App Designer canvas
  • App Designer: Draw UI components on the App Designer canvas
  • App Designer: Find differences and merge apps
  • Graphics Support: Create more plots in apps with full support for any type of axes
  • Graphics Support: Identify coordinates and display text by clicking or tapping
  • App Capture: Capture user interfaces using exportapp and getframe
  • App Testing Framework: Perform choose gestures on context menu items
  • App Testing Framework: Perform drag gestures on axes and UI axes
  • App Testing Framework: Perform gestures on push tools and toggle tools
  • Functionality Being Removed or Changed
  • Performance:
  • sum Function: Improved performance summing the first dimension of numeric arrays
  • polyfit Function: Improved performance fitting data
  • accumarray Function: Improved performance with fill values and certain function handles
  • spdiags Function: Improved performance constructing sparse banded matrices
  • uilistbox: Improved performance when setting multiple items in a list box
  • uitree: Improved performance when creating many nodes in a tree
  • Data Tip Markers: Improved rendering performance of data tip markers in surface plots of large data sets created in UI figures and MATLAB Online
  • Software Development Tools:
  • Code Compatibility Report: Unsupported Functionality Will Now Issue Warning
  • Dependency Analyzer: Export to archive and generate a dependency report
  • Source Control: Improved workflow to set up Git source control
  • Projects: Change project definition file type and preserve source control history
  • Unit Testing Framework: Run tests in parallel on clusters and clouds
  • Unit Testing Framework: Run tests in parallel with standalone applications
  • Unit Testing Framework: Report the validity of shared test fixtures
  • App Testing Framework: Perform choose gestures on context menu items
  • App Testing Framework: Perform drag gestures on axes and UI axes
  • App Testing Framework: Perform gestures on push tools and toggle tools
  • Functionality being removed or changed
  • External Language Interfaces:
  • C++ Interface: Support for nullptr
  • C++ Interface: Create interface with C++ source files
  • Python: Version 3.8 support
  • Python: Terminate Python interpreter and start new one in same MATLAB session
  • mxCreateString C Matrix API functions: UTF-8 support
  • MATLAB Data API: Create matlab::data::Object arrays
  • Compiler support changed for building C++ interfaces, MEX files, and standalone MATLAB engine and MAT-file applications
  • Functionality being removed or changed
  • Hardware Support:
  • Live Editor Task: Interactively capture images from USB Webcam interactively and generate MATLAB code in a live script.
  • Functionality being removed or changed

New in MATLAB R2020 (Mar 19, 2020)

  • Environment:
  • Profiler Flame Graphs: Investigate and improve the performance of your code visually
  • Live Editor Loop Execution: Improved performance when running loops in live scripts
  • Live Editor Animation Output: Improved performance when animating plots in live scripts
  • Live Editor Responsiveness: Improved performance with extended use
  • Live Editor Control Value Changes: Run all necessary code on value changes
  • File Encoding: Save MATLAB code files (.m) and other plain text files as UTF-8 encoded files by default
  • Multiple Sources in Help Browser: Search MathWorks documentation and custom documentation together in a single browser
  • Web Documentation: View MathWorks documentation on the web without logging in
  • Internationalization: UTF-8 as system encoding on Mac and Windows platforms
  • Language and Programming:
  • switch Function: Compare objects more flexibly
  • copyfile and movefile Functions: Access web-based storage services like Amazon Web Services and Azure Blob Storage
  • dbup and dbdown Commands: Switch between workspaces with one step
  • bin2dec and hex2dec Functions: Convert text that includes binary or hexadecimal prefixes and suffixes
  • dec2bin and dec2hex Functions: Convert negative numbers
  • complex Function: Create sparse complex arrays
  • Enumeration classes: Hide member names for compatible name changes
  • matlab.mixin.SetGet: Set priority for partial property name matching
  • Class logical conversions: Support logical conversion more flexibly when writing classes
  • Functionality being removed or changed
  • Data Analysis:
  • Live Editor Tasks: Interactively manipulate tables and timetables, and generate code
  • Basic Fitting Tool: Fit lines to plotted data using modernized interface
  • detrend Function: Ignore NaN values
  • accumarray Function: Maintain consistent output order on all platforms
  • leapseconds Function: List all leap seconds used by the datetime data type
  • timezones Function: Determine IANA Time Zone Database version
  • renamevars Function: Rename variables in table or timetable
  • rows2vars and unstack Function: Use naming rule to allow table and timetable variable names with any characters
  • containsrange, overlapsrange, and withinrange Functions: Determine if timetable row times intersect specified time range
  • tall Arrays: Operate on tall arrays with more functions, including groupfilter and matches
  • Functionality Being Removed or Changed
  • Data Import and Export:
  • Datastores: Write data from datastore to files using writeall
  • Datastores: Return timetables from tabularTextDatastore and spreadsheetDatastore objects
  • Datastores: Partition and shuffle TransformedDatastore and CombinedDatastore objects
  • Datastores: Process files and blocks within files iteratively using FileSet and BlockedFileSet objects
  • Parquet Files: Control encoding scheme and Parquet version when writing files
  • Text and Spreadsheet Files: Append, overwrite, or replace data using 'WriteMode' parameter
  • readtable Function: Uses results of detectImportOptions function by default
  • textscan, readtable, detectImportOptions, and setvaropts Functions: Read and import hexadecimal and binary literals
  • h5read and h5readatt: Read non-scalar string data as MATLAB string arrays
  • h5create and h5write: Write string data to HDF5 files
  • CDF Library: Upgraded to v3.7.0
  • Tiff Object: Read and write the values of the Rational Polynomial Coefficients tag
  • jsonencode: Customize encoding in MATLAB classes
  • jsonencode: Encode enumerations
  • Functionality being removed or changed
  • Mathematics:
  • nufft and nufftn Functions: Compute nonuniform fast Fourier transforms
  • sparse Function: Support for integer subscripts and logical aggregation
  • Graphics:
  • boxchart Function: Visualize grouped numeric data by using box charts
  • exportgraphics and copygraphics Functions: Save and copy graphics with improved support for publishing workflows
  • ChartContainer Class: Develop charts that display a tiling of Cartesian, polar, or geographic plots
  • Tiled Chart Layout: Position, nest, and change the grid size of layouts
  • pie Function: Specify a numeric format for the percentage labels
  • Axes Convenience Functions: Pass an array of axes or chart objects to convenience functions such as grid, hold, and box
  • SeriesIndex and NextSeriesIndex Properties: Control how plots cycle through colors and line styles
  • colororder Function: Control colors in scatter histograms and parallel plots
  • pareto Function: Specify the fraction of the cumulative histogram to include
  • Axes: Control margins for titles and labels by setting the InnerPosition and PositionContraint properties
  • Built-In Axes Interactions: Explore data with cursors that show available interactions
  • Built-In Axes Interactions: Customize built-in interactions on geographic axes
  • linkdata Function: Open dialog box to specify data sources using new syntax
  • Functionality being removed or changed
  • App Building:
  • uicontextmenu Function: Add and configure context menu components in apps and on the App Designer canvas
  • uitoolbar Function: Add custom toolbars to apps programmatically
  • Icon Property: Display SVG, animated GIF, or truecolor image array icons in buttons and tree nodes
  • Mouse Pointer: Change the mouse pointer symbol in apps
  • Graphics Support: Create annotations, brush data, configure data tips, save and copy graphics
  • GUIDE to App Designer Migration Tool for MATLAB: Migrate GUIDE apps to App Designer in less time and with fewer manual code updates
  • App Testing Framework: Perform press gestures with different selection types
  • Functionality Being Removed or Changed
  • Performance:
  • Live Editor Loop Execution: Improved performance when running loops in live scripts
  • Live Editor Animation Output: Improved performance when animating plots in live scripts
  • datetime, duration, and calendarDuration Data Type Indexing: Improved performance when assigning elements by subscripting
  • datetime Data Type Format Parsing: Improved performance when parsing format of text inputs
  • table Data Type Indexing: Improved performance when assigning elements by subscripting into table variables
  • Subscripted Reference: Improved performance for struct arrays stored in a property of an object
  • imread Function: Improved performance in reading JPEG images
  • readmatrix Function: Improved performance in reading data
  • ode15s, ode23t, and ode15i Solvers: Improved performance solving differential equations
  • transpose and ctranspose Functions: Improved performance on large arrays
  • ordschur and ordqz Functions: Improved performance operating on large matrices
  • sparse Function: Improved performance constructing sparse matrices
  • interp1 Function: Faster interpolation for small problem sizes
  • assert Function: Improved performance for most common use cases
  • nexttile Function: Improved performance when creating several axes in a tiled chart layout
  • App Designer Code View: Improved performance when displaying and editing code in App Designer
  • Graphics Rendering in UI Figures: Improved graphics rendering performance on large data sets in UI figures
  • Data Tip Markers: Improved rendering performance of data tip markers in line plots of large data sets created in UI figures and MATLAB Online:
  • Icon Property: Improved rendering performance for buttons and tree nodes with icons
  • Functionality being removed or changed
  • Software Development Tools
  • Dependency Analyzer: Improved navigation, filtering, and highlighting for project dependencies
  • Project Checks: Run all project checks programmatically
  • Project API: Get latest Git revision programmatically
  • Unit Testing Framework: Add custom details to TestResult objects
  • Unit Testing Framework: Assert that test session ran with no failure
  • Unit Testing Framework: Run tests from the Live Editor toolstrip
  • Unit Testing Framework: Generate test reports including test tags
  • App Testing Framework: Perform press gestures with different selection types
  • Mocking Framework: Add events to mock objects
  • Mocking Framework: Specify when framework should do nothing
  • Functionality being removed or changed:
  • External Language Interfaces
  • C++ Interface: MATLAB data type for C++ array and std::vector
  • C++ Interface: Supported data types
  • C++ Interface: Lifetime management of C++ objects
  • MATLAB Data Array: Support for N-D row-major memory layout
  • MATLAB COM Server: Register MATLAB without administrative privileges
  • Compiler support changed for building MEX files and standalone MATLAB engine and MAT-file applications
  • Functionality being removed or changed
  • Hardware Support:
  • MATLAB Support Package for Ryze Tello Drones: Control Ryze Tello drone from MATLAB and acquire sensor and image data
  • Support added for Raspberry Pi 4B model board
  • Deploy deep learning applications on Raspberry Pi hardware
  • Read GPS Data from GPS Receiver Connected to Arduino Hardware
  • Use BNO055 Sensor with Sensor Fusion and Tracking Toolbox, and Navigation Toolbox to Estimate Orientation
  • Enable Code Generation of MATLAB Arduino Functions Inside a MATLAB Function Block for I2C and SPI
  • Functionality being changed or removed

New in MATLAB R2019b (Sep 12, 2019)

  • Environment:
  • Live Editor Tasks: Add interactive 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: Scroll through and copy data in arrays such as 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 Code: Duplicate one or more lines of code
  • Live Editor Code: Suppress Code Analyzer warning messages
  • Live Editor Debugging: Set breakpoints for anonymous functions
  • Live Editor Internationalization: Add non-English language such as Chinese, Japanese, and Korean characters on Windows and macOS Platforms
  • Add-On Manager: Update MATLAB and other installed add-ons
  • Add-On Manager: Programmatically manage add-ons by name
  • Settings: Create persistent settings for custom apps, toolboxes, and across MATLAB sessions
  • MATLAB Drive: Share folders and collaborate with others
  • Functionality being removed or changed
  • Language and Programming:
  • size Function: Find lengths of multiple array dimensions at a time
  • matches Function: Determine if input strings are equal
  • Hexadecimal and Binary Numbers: Specify numbers using hexadecimal and binary literals
  • Indexing: Use dot indexing into function calls
  • System object authoring improvements: Property validation support and simplified class inheritance
  • Function Input Arguments: Declare function input arguments to restrict values
  • namedargs2cell Function: Convert structure containing name-value pairs to cell array
  • delete, dir, isfile, isfolder, and what Functions: Access web-based storage services like Amazon Web Services and Azure Blob Storage
  • Suggested Corrections: Correct errors with two new classes
  • error Function: Provide suggested fix for uncaught exception
  • Functionality being removed or changed
  • Data Analysis:
  • Live Editor Tasks: Interactively preprocess data and generate code
  • groupfilter Function: Filter data in a table, timetable, or matrix by group
  • datetime Data Type: Detect formats with fractional seconds when converting text that represents dates and times
  • 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, xcorr, and outerjoin
  • tall Arrays: Avoid running out of memory due to temporary copies of data
  • Data Import and Export:
  • detectImportOptions Function: Specify the type of import options for delimited or fixed-width text files
  • 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 file
  • VideoReader Object: Read frames in videos using frame index or time
  • VideoReader Object: Improved performance in generated code with row-major layout
  • Import Tool: Generate simpler code when importing from fixed-width text files
  • save Function: Save workspace variables to a MAT-file version 7 without compression
  • xmlread Function: Prevent reading of XML files that contain DOCTYPE declarations
  • imread function: Supports reading specified images from PGM, PBM, or PPM file formats
  • Scientific File Format Libraries: CFITSIO Library upgraded to version 3.450
  • Scientific File Format Libraries: LibTIFF Library upgraded to version 4.0.10
  • RESTful Functions: Support for digest authentication
  • tcpclient, read, and write Functions: Generate C and C++ code
  • Bluetooth Low Energy Interface: Support for scanning and interacting with peripheral devices
  • Serial Port Devices: New functions and properties
  • Functionality being removed or changed
  • Mathematics:
  • makima Function: Perform modified Akima cubic Hermite interpolation
  • Graphics:
  • Chart Container Class: Develop your own class of charts
  • tiledlayout and nexttile Functions: Create configurable layouts of plots in a figure
  • colororder Function: Control the colors in plots
  • Bar Charts: Create bar charts with improvements for stacking and locating the tips of bars
  • Data Tips: Create and customize data tips
  • dataTipInteraction Function: Pin data tips at cursor location
  • Axes Toolbar: Save or copy contents of axes as image
  • parallelplot Function: Zoom, pan, and rearrange coordinates interactively
  • Property Inspector: Update axis tick values and labels using clipboard data
  • Image Interpolation: Select an interpolation method for displaying images
  • legend Function: Create unlimited legend entries and specify categorical arrays
  • pcolor Function: Specify categorical, datetime, and duration data
  • Geographic Plots: Plot data on high-zoom-level basemaps
  • Geographic Plots: Create plots with improved basemap appearance
  • Geographic Axes: Display animations using comet or animatedline
  • Geographic Bubble Charts: Create charts with improved layout
  • Functionality being removed or changed
  • App Building:
  • uistyle Function: Create styles for rows, columns, or cells in a table UI component
  • uigridlayout Function: Configure grid rows and columns to adjust automatically to fit components
  • uitable Function: Sort table UI components interactively when using logical, numeric, string, or cell arrays
  • uihtml Function: Embed HTML, JavaScript, or CSS content in apps and on the App Designer canvas
  • App Designer: Convert components in a UI figure or container from pixel-based positioning to a grid layout manager
  • App Designer: Convert an existing app into an auto-reflowing app
  • App Designer: Suppress Code Analyzer warning messages
  • App Designer: Open App Designer from the MATLAB toolstrip
  • App Testing Framework: Perform gestures on polar axes and UI images
  • Functionality being removed or changed
  • Performance:
  • table Data Type Indexing: Improved performance when assigning elements by subscripting into large table variables
  • datetime, duration, and calendarDuration Data Type Indexing: Improved performance when assigning elements by subscripting into large arrays
  • datetime Data Type Indexing: Improved performance when referring or assigning to date and time components of datetime arrays
  • uitable Function: Faster performance when data type is numeric, logical, or a cell array of character vectors
  • unzip and gunzip Functions: Improved performance when extracting contents of zip files and GNU zip files
  • Software Development Tools:
  • Unit Testing Framework: Run tests in parallel with your custom plugins
  • Unit Testing Framework: Validate count in string constraints
  • Performance Testing Framework: Visually compare two TimeResult arrays
  • App Testing Framework: Perform gestures on polar axes and images
  • Projects: Delete project definition files
  • Compare Git Branches: Show differences and save copies
  • Functionality being removed or changed
  • External Language Interfaces:
  • C++ Interface: Options for publishing C++ interface library
  • C++ Interface: nullptr supported as output argument
  • C++ Interface: Read-only (const) object support
  • Java Interface: JRE version 1.8.0_202 support
  • Out-of-Process Execution of C++ MEX Functions: Customize environment variables
  • HTTP Web Services: Server authentication support for NTLM and Kerberos protocols
  • HTTP Web Services: Timeout options
  • Python Interface: Execute Python functions out of process
  • Python Interface and Engine: Version 3.5 support discontinued
  • Compiler support changed for building MEX files and standalone MATLAB engine and MAT-file applications
  • Functionality being removed or changed

New in MATLAB R2018b (Sep 13, 2018)

  • Live Editor:
  • Create scripts that not only capture your code – they tell a story you can share with others. Automated, contextual hints keep you moving quickly as you program, with results and visualizations displayed together with your code.
  • App Designer:
  • App Designer lets you create professional apps without having to be a professional software developer. Drag and drop visual components to lay out the design of your app, and use the integrated editor to quickly program the app’s behavior. You can share your apps by creating standalone desktop or web apps with MATLAB Compiler.
  • Data Analysis:
  • You’ve got data – don’t spend all your time preparing it for analysis. Use new tools and functions in MATLAB for importing, cleaning, filtering, and grouping your data, and start analyzing it more quickly.
  • Big Data:
  • There's no need to learn big data programming – tall arrays in MATLAB let you use the same code and syntax you're already used to, even if your datasets don’t fit in memory. And MATLAB works with the storage systems you already use, including traditional file systems, SQL and NoSQL databases, and Hadoop/HDFS.
  • Performance:
  • MATLAB runs your code almost twice as fast as it did just two years ago. And there’s no need to change a single line of your code.
  • Graphics:
  • The MATLAB graphics system makes creating and customizing plots easy, and new default colors, fonts, and styles make your data easier to interpret. Explore new plots, including:
  • geobubble
  • wordcloud
  • heatmap
  • polarplot
  • Team-Based Development:
  • As the size and complexity of your projects grow, MATLAB provides capabilities to support collaborative software development practices.
  • Focus on:
  • Object-oriented programming
  • Source control integration
  • Testing frameworks
  • Integration with C/C++, Java, .NET, and Python
  • Hardware Support:
  • MATLAB can control popular microcontrollers like Arduino and Raspberry Pi, acquire images from webcams, and even collect data from the sensors built into your smartphone.
  • Explore supported hardware:
  • Arduino
  • Raspberry Pi
  • USB webcams
  • iPhone, iPad, and Android devices
  • ThingSpeak IoT
  • Data Analytics:
  • With MATLAB, you can do data science yourself, no matter the business or engineering data you’re working with. Run your analytics anywhere, whether you’re deploying applications that run on traditional IT or embedded platforms.
  • Deep Learning:
  • MATLAB makes deep learning accessible for everyone, even if you’re not an expert. Design your own models, access the latest models, or import pretrained models from Caffe. Use NVIDIA GPUs to train them. Automatically generate CUDA code for embedded deployment.

New in MATLAB R2018a (9.4) (Mar 16, 2018)

  • 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
  • Comparison Tool: Find differences in live scripts and functions
  • Favorites: Rerun favorite commands
  • Toolbox Packaging: Specify portability information for custom toolboxes
  • Language and Programming:
  • Empty Arrays: Create complex empty arrays using functions such as zeros and ones
  • Code Compatibility Report: Generate compatibility report from Current Folder browser
  • timer Object: Access properties with multilevel indexing
  • Functionality being removed or changed
  • Mathematics:
  • graph and digraph Objects: Work with multigraphs that have multiple edges between two nodes
  • graph and digraph Objects: Calculate component sizes and weighted adjacency matrices
  • GraphPlot Object: Visualize graphs with additional options for 'force', 'force3', and 'circle' layouts
  • polyshape Objects: Analyze polygons with turningdist, nearestvertex, and overlaps functions
  • polyshape Objects: Return vertex map and accept arrays with compatible sizes for intersect, subtract, union, and xor functions
  • polybuffer Function: Create buffer around points or lines
  • triangulation Objects: Find neighboring vertices and locations of query points with improved performance
  • ode45 Function: Solve nonstiff differential equations faster
  • 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​ ​
  • Axes Toolbar: Add toolbars to your axes for quick access to pan, zoom, and other data exploration tools
  • Property Inspector: Modify graphics interactively with an improved property inspector
  • Polygon Object: Control color and transparency of hole edges
  • Functionality being removed or changed
  • 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
  • Datastore Functions: Seamlessly work with datasets stored on cloud and local machines
  • Datastore Functions: Read HDFS data more easily when using Hortonworks or Cloudera
  • readtable, detectImportOptions, datastore, and tabularTextDatastore Functions: Automatically detect and return duration data in text files
  • detectImportOptions Function: Control import properties of duration data
  • VideoReader Function: Read video files faster on all platforms
  • VideoWriter Function: Write video files faster on all platforms
  • openDiskFile Function: Read data files in FITS (Flexible Image Transport System) data format
  • webwrite Function: Support for NTLM authentication
  • Functionality being removed or changed
  • 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
  • tall Array Indexing: Use tall numeric arrays to index the first dimension
  • tall Arrays: Solve linear systems Ax = b
  • tall Arrays: Return group labels with findgroups
  • tall Arrays: Set date and time components of tall datetime and tall duration arrays
  • tall Arrays: Set properties of tall tables and tall timetables
  • Functionality being removed or changed
  • App Building:
  • App Designer: Create deployed web apps using MATLAB Compiler
  • App Designer: Add and configure tree components on the App Designer canvas
  • App Designer: Select from recently used argument sets when running apps with input arguments
  • App Designer: Edit axes title and label directly in the canvas
  • GUIDE: Migrate GUIDE apps to App Designer
  • 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
  • uitree Function: Create trees with editable node text in the running app
  • Component Text Alignment: Improved text alignment for labels, check boxes, and radio buttons
  • Functionality being removed or changed
  • 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
  • App Designer: Starting, loading, and layout tasks are faster
  • 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
  • Unit Testing Framework: Rerun failed tests with one click
  • Unit Testing Framework: Test if values point to existing files or folders with IsFile and IsFolder constraints
  • Unit Testing Framework: Test if two sets are the same with IsSameSetAs constraint
  • Unit Testing Framework: Select tests by test class hierarchy
  • Unit Testing Framework: Direct output stream to unique files for plugins
  • Unit Testing Framework: Increased access to parameterized testing properties
  • Unit Testing Framework: Compare cell arrays of character arrays using StringComparator
  • Unit Testing Framework: Comparison method for objects changed
  • Performance Testing Framework: Define multiple, labeled measurement boundaries in test methods
  • Mocking Framework: Specify default property values on mock object
  • Mocking Framework: Obtain interaction history for mock object
  • Mocking Framework: Construct mocks for classes that have Abstract properties with other attributes
  • 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++
  • Class Constructors: Author subclass without implementing a constructor solely to pass arguments through to a superclass constructor
  • Property Validation: Get information about property validation
  • Property Validation: Define validation for abstract properties
  • Functions: Call numArgumentsFromSubscript for object dot method from overloaded subsref
  • Classes: Concatenate matlab.lang.OnOffSwitchState enumeration members with nonmember char and string
  • Python Version 3.4: Support discontinued
  • Source Control Integration: View changes, save revisions, and manage repository locks
  • MATLAB Engine API for C++: Set and get a property value on an object in an object array
  • MATLAB Data API: Applications built with R2018a API do not run in MATLAB R2017b
  • MEX Functions: Build C MEX Files with Interleaved Complex API
  • MEX Functions: Release-specific build options
  • Version Embedded in MEX Files
  • Perl 5.26.1: MATLAB support
  • System objects: Create System Objects in MATLAB
  • System object support for strings
  • .NET: Supports string data type
  • Compiler support changed for building MEX files and standalone MATLAB engine and MAT-file applications
  • Functionality being removed or changed

New in MATLAB R2017b (9.3) (Sep 21, 2017)

  • 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​​​

New in MATLAB R2017a (9.2.0.538062) (Mar 9, 2017)

  • 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 double, datetime, 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 webread, webwrite, and websave​​​
  • Data Analysis:
  • tall Arrays: Operate on tall arrays with more functions, including ismember, sort, conv, 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
  • iPhone and Android Sensors: Log sensor data locally on Android or iOS devices for later analysis​​​​​
  • 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