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: Automatically detect and return date and time data in text and spreadsheet files
- detectImportOptions 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
- imageDatastore 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).