MATLAB Changelog

What's new in MATLAB R2023b

Sep 14, 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
  • Functionality being removed or changed
  • 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
  • Functionality being removed or changed
  • 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 (May 13, 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 9.4 R2018a (Mar 15, 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
  • 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
  • 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
  • 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
  • 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
  • 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

New in MATLAB 9.3 R2017b (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​​​​​​​​​​​
  • Live Editor: Automatically match delimiters and wrap comments while editing code​​
  • Live Editor: View and scroll through table data, including variable and row names​​​​​​​​
  • Live Editor: Check code for errors and warnings using the message bar and message indicator
  • 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​​​​
  • Command Window: View updated display for cell arrays
  • Language and Programming
  • Code Compatibility Report: Generate a report that helps the updating of code to a newer MATLAB release​​
  • isStringScalar Function: Determine whether input is a string array with one element
  • convertStringsToChars and convertCharsToStrings Functions: Enable your code to accept all text types as inputs without otherwise altering your code
  • arrayfun, cellfun, and structfun Functions: Return object arrays as output arguments
  • Scripts: Run sections in scripts containing local functions
  • isfile and isfolder Functions: Determine if input is a file or a folder
  • Functionality being removed or changed
  • 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
  • eigs Function: Improved algorithm and new options
  • svds Function: Set options with name-value pairs
  • Interpolation Functions: Method for modified Akima cubic Hermite interpolation
  • convn Function: Compute convolutions on multidimensional arrays with improved performance
  • subgraph and highlight Functions: Specify graph nodes with logical vector
  • Functionality being removed or changed
  • 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
  • Chart Colors: Create bar and area charts with new default colors
  • Axes Object: Specify the target axes for more functions
  • Functionality being removed or changed
  • Data Import and Export
  • Custom Datastore: Build a customized datastore
  • datastore Function: Work with data stored in Windows Azure Blob Storage
  • datastore Function: Access Hadoop HDFS data more easily
  • FileDatastore Object: Create uniform output from datastore
  • HDF5 Functions: Create datasets, groups, attributes, links, and named datatypes using non-ASCII characters
  • Web services: Skip server name verification in certificates
  • jsonencode Function: Encode NaN and Inf as null
  • Functionality being removed or changed
  • 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
  • tall Array Indexing: Use subscripted assignment with tall arrays
  • tallrng Function: Control random number generator used by tall arrays
  • timetable Data Container: Specify whether each variable in a timetable contains continuous or discrete data using the VariableContinuity property
  • mink and maxk Functions: Find the k smallest or largest elements in an array
  • topkrows Function: Find the k top rows in sorted order for numeric arrays, tables, and timetables
  • 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
  • App Designer: Improved component Properties pane in Code View
  • App Designer: Edit tick labels for gauges, knobs, and sliders directly in the canvas
  • 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
  • iPhone and Android Sensors: Log sensor data locally on Android or iOS devices for later analysis​​​​​
  • 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​
  • Compiler support changed for building MEX files and standalone MATLAB engine and MAT-file applications
  • Python Version 3.6: MATLAB support
  • Perl 5.24.1: 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​​​
  • Unit Testing Framework: Generate HTML report of a test run​​
  • Unit Testing Framework: ​​Write tests as live scripts
  • Unit Testing Framework: Specify additional diagnostics to evaluate upon failures using the onFailure​​​​​​ method
  • Performance Testing Framework: Define multiple measurement boundaries in test methods
  • Mocking Framework: Construct mocks for classes that have Abstract methods with other attributes
  • Source Control Integration: Show differences from parent files and save copies in Git Branches
  • Functionality being removed or changed

New in MATLAB 9.2 R2017a (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: Use MATLAB through your web browser for teaching, learning, and convenient, lightweight access
  • Startup Folder Behavior Changes: Set initial working folder using new options and behaviors
  • Language and Programming:
  • string Arrays: Create string arrays using double quotes
  • String Functions: Return character arrays or cell arrays instead of string arrays
  • missing Function: Assign missing values in core data types, including double, datetime, categorical, 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
  • head and tail Functions: Return top or bottom rows of table or timetable
  • table Data Containers: Use row labels when performing join, sort, and grouping operations
  • Functionality being removed or changed
  • 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
  • histogram Function: Sort categorical bins by bar height, and limit the number of bins displayed
  • scatter Function: Create scatter plots of datetime and duration data
  • Scatter Plots: Create scatter plots with varying marker sizes faster
  • parula Colormap: Create plots with enhanced colors
  • Functionality being removed or changed
  • Data Import and Export:
  • ​datastore and tabularTextDatastore Functions: Automatically detect and return date and time data in text files​
  • datastore Function: Work with data in Amazon S3 cloud storage
  • 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​​​
  • save Function: Save workspace variables to a MAT-file with or without compression
  • writetable Function: Select preferred character encoding when writing to a file
  • NetCDF Functions: Create variable names and attributes containing non-ASCII characters
  • Webcam Support Package: GStreamer Upgrade on Linux
  • jsondecode converts JSON null values in numeric arrays to NaN
  • load and fopen Functions: Use the file separator character ('/') preceding a filename to indicate that the file is in the root folder
  • Functionality being removed or changed
  • Data Analysis:
  • tall Arrays: Operate on tall arrays with more functions, including ismember, sort, conv, and moving statistics functions
  • tall Arrays: Index tall arrays using sorted indices
  • tall Arrays: Work with out-of-memory, time-stamped data in a timetable
  • 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
  • histcounts Function: Bin datetime and duration data
  • 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
  • Moving Statistics Functions: Supply sample points for time-stamped and nonuniform data in moving statistics functions, such as movmean
  • prod and cumprod Functions: Ignore NaNs using 'omitnan'
  • Functionality being removed or changed
  • 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
  • App Designer: Include comet, graph, and digraph visualizations in apps
  • App Designer: Write ButtonDownFcn callbacks for graphics objects displayed in UI axes
  • App Designer: Edit table column headings directly in the canvas
  • App Designer: Disable automatic resize behavior when writing SizeChangedFcn callbacks
  • 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
  • App Designer: Load apps faster
  • Mathematics Functions: Various performance improvements
  • 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:
  • Class matlab.lang.OnOffSwitchState: Represent on and off as logical values
  • Object Properties: Validate object property values by their type, size, shape, or other parameters​​
  • Validation Functions: Validate that values meet specific criteria by calling the appropriate function
  • Mocking Framework: Isolate a portion of a system to test by imitating behavior of dependent components
  • Unit Testing Framework: Generate screenshots and figures during testing with ScreenshotDiagnostic and FigureDiagnostic
  • Unit Testing Framework: Capture screenshots and figures generated during tests using TestReportPlugin​
  • Unit Testing Framework: Control runtests function with debug, strict, and verbosity options​
  • Unit Testing Framework: Select tests by procedure name
  • Unit Testing Framework: Comparator for MATLAB tables
  • Performance Testing Framework: View statistics from test measurements with the sampleSummary method​​
  • Performance Testing Framework: Apply a function across test measurements with the samplefun method
  • Source Control Integration: Use Git Pull to fetch and merge in one step
  • MEX builds with 64-Bit API by default
  • MEX files and shared libraries: Diagnostic information displayed for failure to load
  • Java: Supports string data type
  • Python: Supports string data type
  • Python Version 3.3: Support discontinued
  • MATLAB ships with ActiveState Perl version 5.24 on Windows platforms
  • Compiler support changed for building MEX files and standalone MATLAB engine and MAT-file applications
  • Functionality being removed or changed

New in MATLAB 9.1 R2016b (Sep 14, 2016)

  • Desktop:
  • ​Live Editor: Pan, zoom, and rotate axes in output figures​
  • Live Editor: Create and edit equations interactively using the equation editor​
  • Live Editor: Create new sections and format text quickly using autoformatting​
  • Live Editor: Automatically rename all functions or variables in a live script
  • Live Editor: Drag and drop selected code and text within a live script and between other applications
  • Live Editor: View outputs sooner when running live scripts
  • Command Window: View updated display for arrays, including headers indicating class, size, and shape
  • Product Trials: Download trials for MathWorks products using Add-On Explorer​
  • Toolbox Packaging: Include live script examples, generate info.xml and helptoc.xml templates for custom documentation, and modify Java class path on installation
  • Preferences: Save preferences to new default location on Mac
  • Documentation: Find examples faster across MathWorks products
  • Documentation: Open and run examples in MATLAB
  • Language and Programming:
  • Functions in Scripts: Define local functions in scripts for improved code reuse and readability
  • string Array: Manipulate, compare, and store text data efficiently​
  • timetable Data Container: Manage time-stamped tabular data with time-based indexing and synchronization​​​
  • timerange Function: Access all data in a specified date and time range in a timetable
  • vartype Function: Access all variables of a specified datatype in a table
  • table Data Container: Reference all variables in a table with compatible types using the Variables property
  • dir Function: Search for folders and subfolders recursively
  • Search Path: Add folders to the MATLAB search path using relative paths
  • Search Path: Add folders to the MATLAB search path using the MATLABPATH environment variable on Windows
  • userpath Function: Update code to use simplified userpath on UNIX
  • regexp and regexpi Functions: Force output arguments into a cell array
  • regexptranslate Function: Replace matching patterns with escaped regular expression
  • Private Functions: Visibility rules changed
  • Message Identifiers: Update code to use modified error message identifiers
  • Functionality being removed or changed
  • Mathematics:
  • Implicit Expansion: Apply element-wise operations and functions to arrays with automatic expansion of dimensions of length 1
  • graph and digraph Objects: Compute graph isomorphism, biconnected components, cut vertices, and node condensation
  • graph and digraph Objects: Visualize graphs and networks in 3-D
  • digraph Object: Reverse edge directions in a directed graph using the flipedge function
  • conv2 Function: Compute 2-D convolutions with improved performance
  • Functionality being removed or changed
  • Graphics:
  • Date and Time Plotting: Use datetime or duration data in common plotting functions, and customize plots with datetime and duration rulers
  • polarscatter and polarhistogram Functions: Create scatter and histogram plots in polar coordinates
  • fimplicit and fimplicit3 Functions: Plot implicit functions of the form f(x,y) = 0 and f(x,y,z) = 0
  • Tick Formatting Functions: Customize text, position, rotation, and format for axis tick labels
  • errorbar Function: Create vertical and horizontal error bars and control hat width
  • plot Function: Control location and frequency of markers with the MarkerIndices property
  • histogram and histogram2 Functions: Create a histogram from precomputed bin counts
  • Contour Plots: Generate contour matrix with improved performance
  • Functionality being removed or changed
  • Data Import and Export:
  • readtable Function: Autom​atically detect and return date and time data in text and spreadsheet files
  • dete​ctImportOptions Function: Detect layout of text and Excel files and customize import options to readtable​
  • VideoReader Object: Read video frames more quickly from MP4 and MOV files on Windows systems
  • imageDa​tastore Function: Read batches of images for faster processing in machine learning and computer vision applications
  • TallDatastore Object: Efficiently retrieve preprocessed and cleaned-up data saved using the write function of the MATLAB tall arrays
  • jsondecode, jsonencode Functions: Encode and decode structured data in JSON-formatted text
  • writetable Function: Support for writing missing fields of a table to a spreadsheet file
  • readtable, textscan, tabularTextDatastore and spreadsheetTextDatastore Functions: Support string data type using the 'TextType' parameter
  • weboptions Function: Create custom HTTP headers and specify HTTPS certificates
  • Scientific File Format Libraries: CDF Library upgraded to version 3.6.1
  • Functionality being removed or changed
  • Data Analysis:
  • tall Arrays: Manipulate and analyze data that is too big to fit in memory
  • Missing Data Functions: Find, fill, and remove missing data from arrays or tables with ismissing, standardizeMissing, fillmissing, and rmmissing
  • Cumulative Functions: Ignore NaNs using 'omitnan' in cumsum, cummin, and cummax
  • discretize Function: Discretize datetime and duration arrays to separate time-stamped data into regular time intervals
  • Constrained Pan and Zoom: Pan or zoom in a single dimension for 2-D and 3-D plots
  • Functionality being removed or changed
  • App Building:
  • App Designer: Include common 2-D plots in apps, such as area, bar, contour, histogram, yyaxis, and function plots
  • App Designer: Create legends for 2-D plots in apps
  • App Designer: Embed tabular displays using uitable in apps
  • App Designer: Create callback functions that can be shared across multiple components
  • App Designer: Add, position, and resize labeled components, and create components with names derived from labels
  • App Designer: Edit spinners and numeric edit field values directly in the canvas and duplicate components into different parents
  • App Designer: Learn App Designer workflow by showing tips in the code view
  • App Designer Components: Position property uses 1-based origin
  • Edit Field Component: Use the ValueChangingFcn property to execute a callback when users edit the value in the UI
  • Positioning Containers Programmatically: Access the outer bounds and drawable area of containers such as panels and button groups
  • uisetcolor Function: Use the redesigned color picker to access recent colors and specify RGB values
  • App Packaging: Automatically include dependent files when packaging apps
  • Performance:
  • Graphics Display: Render plots with large numbers of markers faster using less memory
  • Execution Engine: Execute tight loops with scalar math faster​​
  • Execution Engine: Construct objects faster​​​
  • Hardware Support:
  • ​iPhone and Android Sensors: Log data from mobile sensors on the MathWorks Cloud over a Wi-Fi or cellular network​
  • Arduino: Write to shift registers
  • Raspberry Pi: Generate PWM signals and control servo motors from GPIO pins on Raspberry Pi
  • Raspberry Pi: Support for Raspberry Pi 3 Model B
  • Raspberry Pi: Read​ from sensors and write to the LED matrix on a Raspberry Pi Sense HAT​
  • Raspberry Pi: Run Linux and file management commands faster
  • Advanced Software Development:
  • matlab.net.http Object: Access HTTP services with low-level protocol control
  • MATLAB Engine API for Java: Run MATLAB code from Java programs
  • matlab.mixin.SetGet: Allow inexact property names by default in calls to set and get
  • matlab.mixin.SetGetExactNames: Require exact property names in calls to set and get
  • Unit Testing Framework: Generate Microsoft Word or Adobe PDF reports of a test run
  • Unit Testing Framework: Improve continuous integration workflows using TAP Version 13 protocol and YAML diagnostics with the TAPPlugin
  • Unit and Performance Testing Frameworks: Improve code reuse and readability by using local functions in script-based tests
  • Unit and Performance Testing Frameworks: Tests that qualify that an empty character vector is a substring now pass
  • Object Constructors: Construct objects faster with certain constraints
  • Java: Pass 0-length arrays
  • Python Version 3.5: MATLAB support
  • Python Version 3.3: Support to be phased out
  • Source Control Integration: Customize external source control tools to use MATLAB to compare and merge
  • Source Control Integration: Include Git Submodules
  • Source Control Integration: Fix problems with working copy locks using SVN Cleanup option.
  • Compiler support changed for building MEX files and standalone MATLAB engine and MAT-file applications
  • Functionality being removed or changed

New in MATLAB 9.0 R2016a (Mar 4, 2016)

  • Desktop:
  • Live Editor: Create and run live scripts with embedded output; add equations and images to enhance the interactive narrative
  • Toolboxes: Programmatically package and install custom MATLAB toolboxes with matlab.addons.toolbox package
  • Tab Completion: Complete parameter names and options in select MATLAB function calls
  • Pause Button: Pause the execution of a program from the Editor and enter debug mode
  • Language and Programming:
  • datetime Object: Set the default locale and format of datetime objects through the Preference panel
  • zeros, ones, and eye Functions: Create logical arrays
  • Mathematics:
  • Moving Statistics Functions: Calculate moving statistics using the movmean, movsum, movmedian, movmax, movmin, movvar, and movstd functions
  • datetime and duration Arrays: Compute standard deviations with std
  • datetime and duration Arrays: Ignore NaNs and NaTs using 'omitnan' or 'omitnat' in the functions mean, median, std, and sum
  • graph and digraph Classes: Analyze graphs and networks using centrality and nearest nodes functions
  • svds Function: Compute singular values with improved performance and convergence behavior with a wide variety of matrices
  • median Function: Compute medians with improved performance
  • cummin, cummax, cumprod, and cumsum Functions: Compute cumulative minimum, maximum, product, and sum with improved performance
  • Graphics:
  • polarplot Function: Plot data in polar coordinates and modify properties of polar axes
  • yyaxis Function: Create charts with two y-axes and customize each y-axis individually
  • Legend Object: Add legend title and create callbacks to highlight plots when clicking legend items
  • histogram2 Function: Enable data linking and brushing for bivariate histograms
  • Function Plots: Visualize mathematical expressions as parametric line, surface, and contour plots
  • Graphics Display: Render plots with large numbers of markers faster
  • 3-D Pan and Zoom: Explore data with improved pan and zoom behavior for axes in a 3-D view
  • App Building:
  • App Designer: Build MATLAB apps with line and scatter plots using an enhanced design environment and an expanded UI component set
  • Data Import and Export:
  • writetable Function: Write to text files significantly faster, especially for large files
  • readtable Function: Read from Excel files with faster performance
  • writetable Function: Write to Excel files on Mac and Linux platforms
  • spreadsheetDatastore Function: Import and process data from a collection of Excel files
  • datastore Function: Import a TabularTextDatastore object with improved file format detection
  • ImageDatastore Object: Specify image labels using the Labels property and process with splitEachLabel, countEachLabel, and shuffle functions
  • fileDatastore Function: Create a custom datastore for a file collection too large to fit in memory
  • readtable Function: Read text files with automatic detection of delimiters, header lines, and variable names
  • tabularTextDatastore and imageDatastore Functions: Create objects to import large text and image data collections
  • Performance:
  • Performance Testing Framework: Measure MATLAB code performance using the unit testing framework
  • Graphics Display: Render plots with large numbers of markers faster
  • writetable Function: Write to text files significantly faster, especially for large files
  • readtable Function: Read from Excel files with faster performance
  • median Function: Compute medians with improved performance
  • cummin, cummax, cumprod, and cumsum Functions: Compute cumulative minimum, maximum, product, and sum with improved performance
  • Hardware Support:
  • Raspberry Pi: Acquire images from USB webcams
  • Arduino: Build custom add-ons to interface with additional hardware and software libraries
  • Advanced Software Development:
  • Performance Testing Framework: Measure MATLAB code performance using the unit testing framework

New in MATLAB 8.6 R2015b (Sep 4, 2015)

  • Desktop:
  • Add-On Explorer: Add capabilities to MATLAB, including community-authored and MathWorks toolboxes, apps, functions, models, and hardware support
  • Documentation: Find information faster with redesigned Help navigation and browser-style keyboard shortcuts
  • Tab Completion: Complete commands with corrected capitalization
  • Command Suggestions: Get suggested corrections for mistyped function names when calling help command
  • Language and Programming:
  • findgroups and splitapply Functions: Split data into groups and apply functions to each group of data
  • NaT Function: Create array of Not-a-Time values
  • timezones Function: Display list of time zone names
  • help Command: Specify a variable as input to the help command instead of specifying the variable class name
  • Advanced Software Development:
  • MATLAB Interface to Python: Clear Python class definitions with clear classes command, useful when reloading revised Python classes
  • MATLAB Interface to Python: Pass a handle to a Python function to other Python functions called from MATLAB
  • MATLAB Engine for Python: Call MATLAB functions and objects from Python by connecting to a running session of MATLAB
  • MEX Compiler Support: Compile MEX files with freely available MinGW-w64 compiler on 64-bit Windows
  • Unit Testing Framework: Improve continuous integration workflows with diagnostics from the TAP plugin and a JUnit-style XML plugin
  • Unit Testing Framework: Customize the test runner with plugins that immediately report finalized results and perform system-wide qualifications
  • Unit Testing Framework: Run tests in parallel when available using the runtests function with the UseParallel option
  • Unit Testing Framework: Detect and prevent warnings issued by tests using the new FailOnWarningsPlugin
  • Mathematics:
  • graph and digraph Classes: Create, analyze, and visualize graphs and networks
  • histcounts2 Function: Bin bivariate data
  • deg2rad and rad2deg Functions: Convert between radians and degrees
  • datetime Arrays: Interpolate dates and times using interp1 function
  • duration Arrays: Perform computations on durations using interp1, eps, cummax, cummin, cumsum, mod, and rem functions
  • Data Import and Export:
  • Excel Spreadsheets: Read and write to the same spreadsheet repeatedly with improved performance of xlsread, xlswrite, readtable, and writetable functions
  • datastore Function: Import data from image collections that are too large to fit in memory as an ImageDatastore
  • datastore Function: Import data from text files with support for additional character encoding schemes with TabularTextDatastore
  • VideoReader Object: Read streams of data more quickly from video files on Mac
  • Graphics:
  • Graphics Display: Leverage DPI-aware MATLAB graphics for Apple Retina displays and high-resolution displays on Windows
  • Axes Object: Set the location of each axis in a plot to cross at the origin
  • Numeric Ruler Object: Customize tick format, exponent, and text style to control the appearance of an individual axis in a plot
  • histogram2 Function: Plot bivariate histograms with control over bins, normalization, and display
  • MATLAB Charts: Use transparency in bar, scatter, and area charts
  • GUI Building:
  • UI Display: Create DPI-aware UIs for Apple Retina displays and high-resolution displays on Windows
  • Performance:
  • MATLAB Execution Engine: Run programs faster with redesigned architecture
  • table Data Type: Access data with improved performance when using dot-parentheses
  • Categorical Arrays: Create a larger number of categories, with improved memory efficiency and performance
  • Hardware Support:
  • Raspberry Pi 2 Model B: Acquire sensor and image data from Raspberry Pi 2 boards using the MATLAB Support Package for Raspberry Pi Hardware
  • BeagleBone Black: Acquire sensor and image data from BeagleBone Black boards using the MATLAB Support Package for BeagleBone Black Hardware
  • iOS Sensors: Acquire sensor data from Apple iOS mobile devices using the MATLAB Support Package for Apple iOS Sensors

New in MATLAB 8.5 R2015a (Mar 6, 2015)

  • Highlights:
  • Integration of documentation for custom toolboxes into the MATLAB Help Browser
  • Scale mapreduce algorithms to MATLAB Distributed Computing Server for data-intensive applications
  • Support for Arduino Leonardo and other Arduino boards
  • Desktop:
  • Documentation: Integrate documentation for custom toolboxes into the MATLAB Help Browser
  • Documentation: Determine when feature introduced
  • Array Size Limit: Limit maximum array size to prevent unintended creation of very large matrices
  • Tab Completion: Complete class properties and methods while editing class definition files
  • User Interface Preferences: Control user interface language
  • Language and Programming:
  • repelem Function: Repeat copies of array elements to create a larger array
  • sort Function: Now preserves shape of cell array of string inputs
  • isenum Function: Determine if variable is enumeration
  • milliseconds Function: Convert duration to number of milliseconds
  • Publishing Markup: Include external file content
  • fullfile Function: Maintain all double-dot symbols
  • Python Objects: Indexing Support
  • Python Version 3.4: MATLAB Support
  • MATLAB Engine for Python: Support for startup options
  • MATLAB Engine for Python: Support for Unicode in Python 2.7
  • Conversion of Character Arrays to Java Strings: Preserve null characters
  • WSDL Web Services Documents: Limitations
  • Unit Testing Framework: Tag tests for categorization and selection
  • Unit Testing Framework: Run tests in parallel
  • Unit Testing Framework: Share variables between tests in scripts
  • Unit Testing Framework: Use prebuilt test fixtures
  • Unit Testing Framework: Compare objects using isequaln
  • Unit Testing Framework: Use homogeneous expected causes with Throws constraint
  • Git Source Control Integration: View branch details and delete branches
  • C Matrix Library: New functions
  • Mathematics:
  • discretize Function: Group numeric data into bins or categories
  • Descriptive Statistics: Omit NaN values in basic statistical calculations, including max, min, mean, median, sum, var, std, and cov
  • ismembertol and uniquetol Functions: Perform set comparisons using a tolerance
  • Random Numbers: Generate random numbers using the double-precision, SIMD-oriented Fast Mersenne Twister (dSFMT) algorithm
  • nearestNeighbor Function: Determine nearest alphaShape boundary point
  • Data Import and Export:
  • Datastore: Read one complete file with 'file' option for ReadSize property
  • Datastore: Read data in parallel from a datastore with partition function using Parallel Computing Toolbox
  • webwrite Function: Send data to RESTful Web services using HTTP POST method
  • webread and websave Functions: Request data from RESTful Web services using HTTP POST method
  • xlsread and readtable Functions: Read larger spreadsheet files from Excel software
  • textscan and readtable Functions: Return consistent results when reading quoted strings
  • Scientific File Format Libraries: Upgrades
  • Graphics:
  • drawnow Function: Improve performance in animation loops with new option
  • Performance:
  • MapReduce: Run mapreduce algorithms on any computer cluster that supports parallel pools using MATLAB Distributed Computing Server
  • Interpolation Functions: Execute faster with multithreaded calculations
  • Hardware Support:
  • IP camera: Acquire video directly from Internet Protocol cameras
  • BeagleBone Black Hardware: Access BeagleBone Black hardware with the MATLAB Support Package for BeagleBone Black Hardware
  • Arduino Hardware: Access to Arduino Leonardo and other boards with the MATLAB Support Package for Arduino Hardware
  • Arduino Hardware: New configurePin function

New in MATLAB 8.3 R2014b (Oct 3, 2014)

  • Desktop:
  • Git and Subversion source control system integration through Current Folder browser, including syncing from Web-hosted repositories such as those on GitHub
  • Packaging of custom MATLAB toolboxes into a single, installable file
  • Dialog box for managing custom MATLAB toolboxes
  • Preference for controlling the initial working folder, with the option to start in the folder from your previous MATLAB session
  • Copying and pasting variables in the Workspace browser
  • Self-paced eLearning available from within MATLAB
  • New startup switch to opt out of automatically switching to software OpenGL
  • Color settings preferences in Comparison Tool
  • Automatic file saving when you click away from the Editor
  • Language and Programming:
  • datetime, duration, and calendarDuration arrays for efficient computation, comparison, and formatted display of dates and times
  • Suggested corrections for syntax errors in the Command Window
  • Suggested MathWorks products for undefined functions
  • Create multiple search indexes for help files you create
  • py package for using Python functions and objects in MATLAB, and an engine interface for calling MATLAB from Python
  • matlab.wsdl.createWSDLClient function for accessing SOAP-based Web services
  • Graphics objects in MEX-files use object handles instead of numeric handles
  • Workflow improvements when editing classdef files, including immediate impact on existing and new workspace variables
  • MATLAB errors attempting to define listener for nonobservable property
  • Script-based tests in unit testing framework
  • Plugin to report code coverage in unit testing framework
  • Control logging and verbosity in unit testing framework
  • Constraint for scalar values in unit testing framework
  • Test suites from packaged functions and scripts
  • Failure of unit tests using a relative tolerance when the expected value is infinite and the actual value is finite
  • rmdir treatment of asterisk as literal character on Linux and Mac
  • Functionality being removed or changed
  • Mathematics:
  • histcounts function for binning numeric data
  • triangulation functions nearestNeighbor and pointLocation for identifying the closest vertex and enclosing triangle or tetrahedron for specified point
  • Option for interpolating to 'next' and 'previous' neighbors with the interp1 function and griddedInterpolant class
  • Option for rounding numbers to a specified number of decimal or significant digits using the round function
  • boundary function and alphaShape class for creating a conforming boundary around a discrete set of points
  • cummin and cummax functions for computing cumulative minimum and maximum of an array
  • Reverse accumulation option for the cumsum, cummin, cummax, and cumprod functions
  • Median and mode calculations of categorical data
  • Functionality being removed or changed
  • Data Import and Export:
  • Faster data import from text files using Import Tool, and readtable and textscan functions
  • Import of data as categorical and datetime arrays using the readtable and textscan functions
  • Data import from text files and collections of text files that do not fit into memory with datastore
  • VideoReader performance improvements and ability to start reading from a specified time in the video
  • tcpclient function for reading and writing data from network connected devices and servers using socket-based connections
  • webread function for importing online data including JSON, CSV, and image data
  • Reading non-ASCII encoded files with readtable function
  • Writing quoted strings with writetable function
  • hdftool functionality will not be removed
  • Functionality being removed or changed
  • Hardware Support:
  • Documentation installation with hardware support package
  • Support package for Android sensors
  • Support package for Arduino hardware
  • Support package for LEGO MINDSTORMS EV3 hardware
  • Graphics:
  • Major update of MATLAB graphics system
  • New look of MATLAB graphics with improved clarity and aesthetics
  • Improved infrastructure based on MATLAB objects
  • Rotatable axis tick labels
  • Automatic update of datetime and duration tick labels with plot function
  • histogram function for plotting histograms
  • animatedline function for creating line animations
  • Display of multilingual text and symbols
  • Support for multiple colormaps in single figure
  • Pie charts of categorical data with automatic slice labels
  • Image conversion functions rgb2gray and im2double, no longer requiring Image Processing Toolbox
  • imshow function for displaying images from matrices or files, no longer requiring Image Processing Toolbox
  • savefig option that creates more compact files
  • Compatibility considerations for graphics changes
  • Properties and syntaxes being removed or changed
  • Save and print functionality being removed or changed
  • GUI Building:
  • uitab and uitabgroup components for creating user interfaces with tabbed panels
  • Changes introduced with new graphics system
  • Functionality being removed or changed
  • Performance and Big Data:
  • Big data analysis on your desktop that can scale to Hadoop with mapreduce
  • Improved performance for sorting categorical data with sort
  • typecast function performance improvements with long vectors
  • The performance of the typecast function improves for long input vectors.

New in MATLAB 8.3 R2014a (Mar 7, 2014)

  • Desktop:
  • Pop-up Command History for recalling, viewing, filtering, and searching recently used commands in the Command Window
  • Merge option in MATLAB Comparison Tool for resolving differences between text files
  • Saving workspace variables and their values to a MATLAB script
  • Korean and Chinese localization available on Windows and Mac platforms
  • MathWorks file properties displayed for .SLX, .SLXP, and .MLAPPINSTALL files in file browsers and search engines on Windows and Mac systems
  • Language and Programming:
  • Suggested corrections for mistyped, user-defined functions in the Command Window
  • Streamlined MEX compiler setup and improved troubleshooting
  • Multidimensional array support for flipud, fliplr, and rot90 functions
  • Option for circshift to operate on a specified dimension
  • Changes to empty string matching with validatestring
  • matlab.lang.makeValidName and matlab.lang.makeUniqueStrings functions for constructing unique MATLAB identifiers
  • details function displays details about arrays
  • Changes to passing empty object to isprop
  • Behavior change of fullfile function output
  • Support array-creation functions in your class
  • Custom plugins in unit testing framework
  • Test parameterization and selection in unit testing framework
  • matlab.unittest plugin for Test Anything Protocol (TAP) output
  • Output stream direction for matlab.unittest plugins
  • Comparator for MATLAB objects in unit testing framework
  • Changes to compiler support for building MEX-files
  • Changes to External Programming Language Interfaces documentation
  • Functionality being removed or changed
  • Mathematics:
  • isdiag, isbanded, issymmetric, ishermitian, istril, istriu, and bandwidth functions for testing matrix structure
  • sylvester function for solving the Sylvester equation
  • Option for eig function for computing left eigenvectors
  • Option for rand, randi, and randn functions for creating arrays of random numbers that match data type of an existing variable
  • Integer type support for mean
  • complex function with one complex input
  • Change to ind2sub and sub2ind functions with nondouble inputs
  • Data Import and Export:
  • Webcam support for previewing and acquiring live images and video
  • Raspberry Pi hardware support for controlling devices such as motors and actuators, and for capturing live data from sensors and cameras directly from MATLAB
  • readtable improvements for reading spreadsheet and text files
  • Functionality being removed or changed
  • GUI Building:
  • Panel Display in GUIDE Layout Area
  • Functionality being removed or changed
  • Performance:
  • conv2 function performance improvements with three inputs
  • filter function performance improvements for FIR and IIR

New in MATLAB 8.2 R2013b (Sep 6, 2013)

  • Language and Programming:
  • table data container for managing, sorting, and filtering mixed-type tabular data
  • categorical array for ordered and unordered categorical data
  • timeit function for robust time estimates of function execution
  • localfunctions function for getting handles to all local functions in a file
  • Functions for writing, executing, and verifying tests using the matlab.unittest testing framework without creating custom classes
  • matlab.mixin.CustomDisplay utility class to write custom display methods
  • flip function, a faster and more memory efficient alternative to flipdim for flipping arrays and vectors
  • Desktop:
  • Improved viewing and editing of one-dimensional structure arrays in the Variables editor
  • Improved management of a large number of open files, figures, and documentation pages
  • Expand all option for opening collapsed sections in documentation pages for printing and in-page searching
  • Java integration updated to version 7, providing access to new Java features and bug fixes
  • Bundling of Java on Mac, removing dependency on Apple supplied Java runtime
  • Graphics:
  • Mac support for copying figures in vector formats to other applications
  • GUI Building:
  • Custom icons for MATLAB apps you create
  • Performance:
  • repmat with numeric, char, and logical types
  • Linear algebra functions on computers with new AMD processors

New in MATLAB 8.1 R2013a (Mar 8, 2013)

  • Desktop:
  • Option to add separators between controls on the quick access toolbar
  • Additional icon choices, auto-scaled thumbnails, and text-formatting options for customizing descriptions of MATLAB apps
  • Left-aligned table of contents for navigating in the Help browser and online Documentation Center
  • Search term highlighting and content expansion in the Help browser
  • Context menu items in Help and Web browsers for zooming, page navigation, and saving
  • Removal of Handle Graphics support under -nojvm startup option
  • -noFigureWindows startup option suppresses figures on Linux and Mac platforms
  • No default keyboard shortcut for overwrite mode
  • Support requests using prerelease versions
  • Language and Programming:
  • matlab.unittest package, an xUnit-style testing framework for the MATLAB language that allows writing and running unit tests, and analyzing test results
  • strsplit and strjoin functions for splitting and joining strings
  • Additional validateattributes options for checking array size and shape
  • Help text for enumerations and events
  • Removal of support for .jar documentation files
  • Changes to Microsoft .NET Framework support
  • Changes to compiler support for building MEX-files
  • Changes to subclasses of built-in classes
  • Conversion of error and warning message identifiers
  • No strict-match requirements for month formats when converting date strings
  • Date functions error on out-of-range quarter values
  • String representations of large integers using exponential notation
  • Do not use classpath.txt file to modify Java static path
  • Functionality being removed or changed
  • Mathematics:
  • scatteredInterpolant and griddedInterpolant support for extrapolation
  • Syntax for ones, zeros, and other functions for creating arrays that match attributes of an existing variable
  • Integer type support for prod, cumsum, cumprod, median, mode, and number theory functions
  • flintmax function for largest consecutive integer in floating-point format
  • Scale option for airy function
  • scatteredInterpolant class that replaces TriScatteredInterp
  • triangulation class to replace TriRep
  • delaunayTriangulation class to replace DelaunayTri
  • Set functions behavior change
  • Functionality being removed or changed
  • Graphics:
  • gobjects function for preallocating graphics handle array
  • Functionality being removed or changed
  • Data Import and Export:
  • Reading and writing indexed and grayscale AVI files with VideoReader and VideoWriter objects
  • Writing MPEG-4 H.264 files on Mac with VideoWriter object
  • Tiff object improvements for reading and writing RGB-class TIFF images
  • Importing non-ASCII encoded files with textscan function
  • Multichannel JP2 support in imread function
  • Previous behavior change of xlsread function output
  • Authentication, user name, and password inputs for urlread and urlwrite functions
  • Additional audio and video file reading capabilities using Import Wizard and importdata function
  • sound function nonblocking
  • Functionality being removed or changed
  • Performance:
  • fft function performance improvements on computers with new Intel and AMD processors
  • permute function performance improvements for 3-D and higher dimensional arrays

New in MATLAB 8.0 R2012b (Sep 12, 2012)

  • Desktop:
  • Toolstrip that replaces menus and toolbars in MATLAB Desktop
  • Apps gallery that presents apps from the MATLAB product family
  • Single-file application packaging as a MATLAB App Installer file for inclusion in the apps gallery
  • Redesigned Help with improved browsing, searching, and filtering
  • Viewing of multiple documentation pages simultaneously with tabbed browsing
  • Suggested corrections for mistyped functions and variables in the Command Window
  • Full-screen view mode on Mac operating systems
  • Changes to -nojvm startup option on Mac
  • Tabs in MATLAB Web browser
  • Direct access to run configurations from the Run button
  • Multiple vector creation from single selection in Variables editor
  • Language and Programming:
  • Abstract attribute for declaring MATLAB classes as abstract
  • Diagnostic message improvements when attempting to create an instance of an abstract class
  • Handle and dynamicprops do not support the empty static method
  • Switch uses eq to compare enumerations
  • Cannot specify property attributes multiple times
  • Discontinued compiler support for building MEX-files
  • Jagged array support for .NET
  • Java exceptions accessible to MATLAB code
  • Ability to add jar files to static Java class path
  • Preservation of string functions for backwards compatibility
  • Conversion of Error and Warning Message Identifiers
  • Mathematics:
  • Performance improvements and multithreading for airy, psi, and Bessel functions
  • ddensd function that solves delay differential equations of neutral type with state-dependent delays
  • Signed integer support for bit-wise operations
  • atan2d function that calculates four-quadrant inverse tangent with result in degrees
  • Complex number support for trigonometry degree functions
  • Functionality being removed or changed
  • Data Import and Export:
  • Data import from delimited and fixed-width text files using Import Tool
  • Single-step import of numbers, text, and dates as column vectors from a spreadsheet with Import Tool
  • audioread and audioinfo functions for reading MP3, MPEG-4 AAC, WAVE, and other audio files
  • audiowrite function for writing MPEG-4 AAC, WAVE, and other audio files
  • Reading and writing of BigTIFF image files larger than 4 GB
  • Reading of XLSM, XLTX, and XLTM files on all platforms with xlsread function
  • xlsread function now supporting named ranges on all platforms
  • Multiple delimiter support in textscan function
  • Timeout, user agent, and character encoding inputs for urlread and urlwrite functions
  • Functionality being removed or changed

New in MATLAB 7.13 R2012a (Mar 2, 2012)

  • Development Environment:
  • Sorting and transposing matrices and selecting noncontiguous parts of a matrix in the 
Variable Editor (2:17)
  • Text markup option to enable syntax highlighting (2:05) for commented MATLAB code in published scripts
  • Improved rendering of HTML in the MATLAB Web Browser, especially on 64-bit Windows
  • Performance and Large Data Set Handling:
  • List of allowed classes to control access to class properties, methods, and events
  • List of allowed classes to control subclassing of a class using the AllowedSubClasses attribute
  • Mathematics:
  • Numerical integration functions (integral, integral2, integral3) with additional algorithms, options, and improper integrals
  • Improved performance of arithmetic operators and other basic math functions for integer, single, and double data types
  • Improved performance of interpolation functions: interp2, interp3, and intern
  • File I/O and External Interfacing:
  • Reading of Excel .xlsx files on Mac and Linux with xlsread, including the ability to specify sheet and range
  • Creation of MPEG-4 H.264 files for Web video publishing with VideoWriter on Windows 7
  • fitswrite function for writing FITS files
  • Access to remote netCDF files with the OPenDAP protocol

New in MATLAB 7.13 (Dec 2, 2011)

  • Development Environment:
  • Startup Accelerator for faster MATLAB startup on Windows, especially on Windows XP, and for network installations
  • Spreadsheet Import Tool (6:51) that provides more options for selecting and loading mixed textual and numeric data
  • Readability and navigation improvements to warning and error messages in the MATLAB command window
  • Automatic variable and function renaming (2:52) in the MATLAB Editor
  • Performance and Large Data Set Handling:
  • Increased performance in the MATLAB class system, especially for complex data structures
  • matfile function (6:10) to load or save portions of an array in a MAT-file
  • Mathematics:
  • griddedInterpolant object for more control, better performance, and memory efficiency in interpolation for gridded data
  • File I/O and External Interfacing:
  • MPEG-4 and MOV file support in VideoReader on Microsoft® Windows 7
  • NetCDF 4.1.2 support that provides cache size control for increased performance with large chunked NetCDF files
  • Exchange of multidimensional arrays and cell arrays directly between MATLAB and Microsoft .NET

New in MATLAB 7.12 (Apr 8, 2011)

  • Development Environment:
  • Improvements to Mac platform look and feel, including placement of the MATLAB menu bar at the top of the screen
  • Redesigned Plot Catalog (4:14) that makes it easier to browse and discover both relevant and available plots, including toolbox plots
  • Submission of support requests (2:06) to MathWorks Technical Support from within MATLAB
  • Comparison Tool that highlights and merges differences in MAT-file variable values and excludes specified files, folders, and unchanged text
  • Language and Programming:
  • Custom creation of MATLAB classes whose objects can be combined into heterogeneous arrays
  • New copyable class, providing default copy behavior for custom handle classes
  • Mathematics:
  • Performance improvements for matrix transpose, element-wise single precision functions, sparse matrix indexed assignment, and many linear algebra functions
  • rng function (5:50) for controlling random number generation
  • ichol function for incomplete Cholesky factorization
  • File I/O and External Interfacing:
  • New functions for reading and writing NetCDF and HDF5 files

New in MATLAB 7.11 (Sep 3, 2010)

  • Development Environment:
  • Editor highlighting enhanced (4:21) to show all uses of a variable or subfunction and identify shared variables
  • Ability to manage ZIP files as folders (2:13) in the Current Folder Browser
  • File previews in Current Folder Browser (1:18) that show image file contents and unsaved content in MATLAB files
  • Access to additional toolbox plots in the Plot Selector, including plots for System Identification, Mapping, and Bioinformatics Toolboxes
  • Comparison Tool enhanced, allowing comparison among ZIP files, folders, and Simulink manifests, and improving MAT-file comparisons
  • Language and Programming:
  • Ability to define custom enumerated data types (7:33) with sets of named values
  • Mathematics:
  • Support for arithmetic on 64-bit integer types
  • File I/O and External Interfacing:
  • New VideoWriter object (3:17) for creating Motion JPEG and uncompressed AVI files larger than 2 GB
  • netCDF 4.0.1 support, enabling use of HDF5 as the data storage layer for the netCDF API
  • Enhanced interface to Microsoft® .NET framework, supporting delegates and interaction with Microsoft Office products

New in MATLAB 7.10 (Mar 5, 2010)

  • Development Environment:
  • Ability to zip and unzip files and folders in the Current Folder browser to simplify sharing of files
  • New visual cues in the Current Folder browser to show directories on the MATLAB path
  • Enhanced tab completion in the MATLAB Editor with support for local variables, subfunctions, and nested functions
  • Expanded access in the plot selector to plots from the Curve Fitting, Filter Design, Image Processing, and Signal Processing Toolboxes
  • Enhanced File and Folder Comparison Tool, highlighting changes within lines in file comparisons, and sorting results by name, type, size, or timestamp in folder comparisons
  • Performance and Large Data Set Handling:
  • Multithreaded computation support for long vector fft, conv2, integer conversion, and integer arithmetic functions
  • Performance improvements for mrdivide, convn, histc, sortrows, and sparse matrix indexed assignment

New in MATLAB 7.9 (Oct 22, 2009)

  • Development Environment:
  • New File Exchange desktop tool (4:51), providing direct access to user-contributed files on MATLAB Central
  • Enhanced Plot Selector in the Workspace browser (3:26), providing access to additional plot types and customization of plot favorites
  • Enhanced Current Folder browser (2:18), providing improved navigation, display, and searching for files
  • Customizable keyboard shortcuts (4:15), including consistent defaults for the MATLAB Editor and Command Window
  • Enhanced Help browser (1:21), providing more detailed search results with grouping by product and result type
  • Expanded MATLAB file publishing (0:38), providing support for PDF as an output file format
  • Language and Programming:
  • Ability to specify unused input and output arguments (2:49) to a function with the tilde (~) character
  • File I/O and External Interfacing:
  • mmreader function expanded to support Motion JPEG 2000 files
  • New Tiff object to write tiled images and a broad set of metadata within TIFF files
  • Expanded low-level HDF5 file access to support H5L, H5O, and H5DS interfaces
  • Support for MATLAB scalar indexing into Microsoft .NET Framework arrays
  • Performance and Large Data Set Handling:
  • Ability to perform FFTs on vectors larger than 2 GB
  • Multithreaded computation support for sort, filter, bsxfun, sparse matrix QR decomposition, gamma functions, and error functions
  • Sparse matrix performance improvements for basic math, binary and relational operators, and exponential functions

New in MATLAB 7.8 (Mar 6, 2009)

  • Development Environment:
  • Expanded M-Lint code-checker messages, providing more detailed explanations of warnings and errors within the MATLAB Editor.
  • Mathematics:
  • Significant enhancements to computational geometry functionality, providing improved robustness and memory efficiency for Delaunay triangulation and scattered-data interpolation.
  • File I/O and External Interfacing:
  • Ability to call .NET classes from MATLAB, providing direct access to a wide variety of software components.
  • Expanded mmreader multimedia reader support for Linux platforms.
  • Platform, Performance, and Large Data Set Handling:
  • Multithreaded computation support for fft, sum, prod, min, and max.

New in MATLAB 7.7 (Oct 9, 2008)

  • Function browser that enables finding appropriate functions while typing in the Editor and Command Window.
  • Function hints that provide reminders of arguments while typing.
  • Updated Current Directory browser, providing enhanced navigation, filtering, and file previews.
  • New containers.Map data structure, enabling implementation of look-up tables and similar constructs, such as a fast string-to-value index.
  • Enhanced doc command, providing automatic display of formatted documentation for user-written classdef files.
  • Enhanced random-number generation, including new algorithms and the ability to create multiple independent streams.
  • Enhanced mathematical libraries to use Intel MKL v10.0.3
  • File I/O and External Interfacing - Support for new file formats, including NetCDF (reading and writing) and JPEG2000 (reading).