|
|
|
This page lists changes introduced in MATLAB versions that are the most
|
|
|
|
relevant to Dynare development. This information mostly comes from the [MATLAB
|
|
|
|
Release Notes](https://fr.mathworks.com/help/matlab/release-notes.html).
|
|
|
|
|
|
|
|
# MATLAB 24.2 (R2024b)
|
|
|
|
|
|
|
|
- New [package manager](https://www.mathworks.com/help/matlab/matlab_prog/use-the-matlab-package-manager-to-organize-and-distribute-code.html)
|
|
|
|
- New `isapprox` function for determining approximate equality of elements in two arrays
|
|
|
|
- New `RegularizationFactor` name-value argument to the `lsqminnorm` function,
|
|
|
|
for Tikhonov regularization to the least-squares solution
|
|
|
|
- Many I/O functions can now directly read data online using an HTTP/HTTPS URL,
|
|
|
|
notably:
|
|
|
|
+ `isfile`, `dir`, `copyfile`, and `exist`
|
|
|
|
+ `fopen`, `fread`, `fgets`, `fgetl`, `feof`, `fclose`, `ferror`, `fseek`, `ftell`, `fscanf`,
|
|
|
|
`frewind`, and `fileread`
|
|
|
|
+ `h5disp`, `h5info`, `h5read`, `h5readatt`, `H5F.open`, and `H5F.is_hdf5`
|
|
|
|
- Dictionaries in JSON files can now be read and written using the
|
|
|
|
`readdictionary` and `writedictionary` functions
|
|
|
|
- Symbolic links support
|
|
|
|
+ new `createSymbolicLink` and `isSymbolicLink` functions
|
|
|
|
+ new `ResolveSymbolicLinks` name-value argument with the `delete` and
|
|
|
|
`rmdir` functions
|
|
|
|
+ new `CopyLinkBehavior` name-value argument with the `copyfile` function
|
|
|
|
+ new `MoveLinkBehavior` name-value argument with the `movefile` function
|
|
|
|
- When reading spreadsheet files, the behavior for merged cells can now be
|
|
|
|
controlled using new `MergedCellColumnRule` and `MergedCellRowRule`
|
|
|
|
name-value arguments of `readtable`, `readtimetable`, `readmatrix`,
|
|
|
|
`readcell`, `readvars` and `detectImportOptions`
|
|
|
|
- The `zip` and `unzip` functions now support password-encrypted files
|
|
|
|
- The `sftp` function now accepts a timeout value and supports passphrases and
|
|
|
|
certificates
|
|
|
|
- The `summary` function now works on array data, including `numeric`, `logical`,
|
|
|
|
`datetime`, `duration`, and `calendarDuration` types
|
|
|
|
- The `isbetween` function now works on numeric, nonnumeric, or tabular input data
|
|
|
|
- The `rmmissing` and `rmoutliers` functions now accept an argument for
|
|
|
|
defining the location of missing entries or outliers using array or table
|
|
|
|
- The `table` and `timetable` data types now have a `VariableTypes` property
|
|
|
|
for specifying the data types of their variables
|
|
|
|
- New `violinplot` function for creating violin plots for grouped numeric data
|
|
|
|
- New `compassplot` function to plot one or more sets of arrows originating
|
|
|
|
from the origin in polar coordinates
|
|
|
|
- New `constantplane` function to create infinite planes for highlighting
|
|
|
|
regions of interest in 3-D plots
|
|
|
|
- New `IconColumnWidth` property of a `Legend` object for controlling the width
|
|
|
|
of the legend icons and the width of the legend box
|
|
|
|
- New `Labels` and `LabelLocation` properties of a `Bar` object for adding
|
|
|
|
labels to ends of bars in bar charts
|
|
|
|
- The `tiledlayout` can now be called without dimensions or tile arrangement
|
|
|
|
argument
|
|
|
|
- The MAT-file version can now be specified with the `savefig` function
|
|
|
|
|
|
|
|
# MATLAB 24.1 (R2024a)
|
|
|
|
|
|
|
|
- Local functions can now be defined anywhere in scripts
|
|
|
|
- Packages (“+” folders) are now called “namespaces” (this is only a change in
|
|
|
|
terminology, not in functionality)
|
|
|
|
- New `createArray` function for generating arrays of specified class and size
|
|
|
|
- New `islocalmin2` and `islocalmax2` for finding local extrema in 2 dimensions
|
|
|
|
- New `clip` function for clipping values to a specific range
|
|
|
|
- New `Weights` parameter to the `mean` and `median` functions
|
|
|
|
- The `iqr` function can now return the first and third quartiles of the input
|
|
|
|
data by using a 2nd output argument
|
|
|
|
- New `openedFiles` function that returns the file identifiers of all open
|
|
|
|
files as a row vector
|
|
|
|
- New `pagelsqminnorm` that calculate minimum-norm least-squares solutions to
|
|
|
|
systems of linear equations in N-D arrays
|
|
|
|
- New `pagepinv` function that calculates Moore-Penrose pseudoinverses of pages
|
|
|
|
of N-D array
|
|
|
|
- The `spdiags` function now supports implicit expansion for the diagonal
|
|
|
|
elements argument Bin. You can specify the diagonal elements as a matrix,
|
|
|
|
vector, or scalar, and the function expands the values if the argument is
|
|
|
|
specified as a vector or scalar.
|
|
|
|
- New `fpolarplot` function for plotting mathematical expressions in polar
|
|
|
|
coordinates
|
|
|
|
- The Python Interface now converts between MATLAB and Python dictionaries, and
|
|
|
|
between MATLAB tables and Python Pandas DataFrames
|
|
|
|
|
|
|
|
# MATLAB 23.2 (R2023b)
|
|
|
|
|
|
|
|
- New dictionary functions: `configureDictionary`, `lookup`, `insert`, `remove`
|
|
|
|
- New `mustBeSparse` validation function
|
|
|
|
- New `resize`, `paddata` and `trimdata` functions for changing the size of
|
|
|
|
data by adding or removing elements
|
|
|
|
- New `smoothdata2` function for smoothing noisy data in two dimensions
|
|
|
|
- New `kde` function for estimating a probability function by using kernel density estimation for univariate data
|
|
|
|
- New syntax for the `rng` and `tallrng` functions where only the algorithm is
|
|
|
|
specified (but not the seed, which then defaults to zero)
|
|
|
|
- The `readstruct` and `writestruct` functions can now manipulate JSON files
|
|
|
|
- New `cmdsep` function which returns the (shell) command separator for the
|
|
|
|
current platform
|
|
|
|
- New `expmv` function for computing a matrix exponential multiplied by a
|
|
|
|
vector
|
|
|
|
- New `piechart` and `donutchart` functions for creating configurable,
|
|
|
|
interactive pie and donut charts
|
|
|
|
- New `Direction` property of the `legend` function for controlling the order
|
|
|
|
of legend entries
|
|
|
|
- New `xscale`, `yscale` and `zscale` functions for quickly change between
|
|
|
|
logarithmic and linear axes scales after plotting
|
|
|
|
- New `xsecondarylabel`, `ysecondarylabel`, and `zsecondarylabel` functions for
|
|
|
|
creating, deleting, or modifying secondary axis labels
|
|
|
|
- New `xregion` and `yregion` functions for creating unbounded regions and
|
|
|
|
specifying multiple regions as matrix
|
|
|
|
- New `gitrepo` object for manipulating git repositories
|
|
|
|
|
|
|
|
# MATLAB 9.14 (R2023a)
|
|
|
|
|
|
|
|
- Warning about indexing with no subscripts (`MATLAB:subscripting:noSubscriptsSpecified`) has been removed
|
|
|
|
- New `combinations` function for generating all element combinations of arrays
|
|
|
|
- `head` and `tail` functions now work on arrays
|
|
|
|
- New `pageeig` function for calculating eigenvalues and eigenvectors of the
|
|
|
|
pages of N-D arrays. In this context, the N-D array is treated as a container
|
|
|
|
for several 2-D matrices.
|
|
|
|
- The `randi` function can now create random logical arrays
|
|
|
|
- Many functions for descriptive statistics and arithmetic (e.g. `max`, `min`, `mean`, `std`, `var`, `median`, `sum`, `prod`, `cummax`, `cummin`, `cumsum`, `cumprod`) now accept the `omitmissing` and `includemissing` options (the former being the default) (the older `omitnan` and `includenan` options are still supported)
|
|
|
|
|
|
|
|
# MATLAB 9.13 (R2022b)
|
|
|
|
|
|
|
|
- New `dictionary` object (hash table)
|
|
|
|
- Validation of output arguments in functions and class methods
|
|
|
|
- New `mape` and `rmse` functions for calculating forecast errors (mean absolute percentage and root mean-squared)
|
|
|
|
- New `isuniform` function for determining if vector is uniformly spaced
|
|
|
|
- The `stackedplot` function can now plot variables from multiple input tables or timetables
|
|
|
|
- The `detrend` function can now detrend data in a table or timetable.
|
|
|
|
- New `pagenorm` function for calculating norms using pages of N-D arrays
|
|
|
|
- The `errorbar` function can now plot multiple lines with error bars at once
|
|
|
|
- New `tightPosition` function for getting the location and size of axes plotting area
|
|
|
|
- New `tilenum` and `tilerowcol` functions for convert between rows and columns and tile numbers in tiled chart layouts
|
|
|
|
- New Code Analyzer app (and programmatic interface through `codeAnalyzer`)
|
|
|
|
|
|
|
|
# MATLAB 9.12 (R2022a)
|
|
|
|
|
|
|
|
- New `allfinite`, `anynan` and `anymissing` functions to examine the elements of an input array
|
|
|
|
- The `quantile`, `prctile` and `iqr` functions are now part of core MATLAB (they were previously in the Statistics and Machine Learning Toolbox
|
|
|
|
- The `rms` (root mean square) function is now part of core MATLAB (it was previously in the Signal Processing toolbox)
|
|
|
|
- The `std` and `var` functions now optionally return the mean as second output argument
|
|
|
|
- New `writelines` function for writing plain text to a file
|
|
|
|
- New `pagemldivide`, `pagemrdivide`, and `pageinv` functions: Solve linear equations and calculate matrix inverses using pages of N-D arrays
|
|
|
|
- New `tensorprod` function: Calculate tensor products between two arrays
|
|
|
|
- The `round` function has a new `TieBreaker` name-value argument to specify how to break ties.
|
|
|
|
- `null` and `orth` functions have a new option to specify tolerance to treat singular values below a threshold as zero
|
|
|
|
- The `norm` function can now calculate Frobenius norm on N-D arrays
|
|
|
|
- The `equilibrate` function now has an option with values of `"vector"` or `"matrix"` to specify whether the output arguments are returned as vectors or matrices
|
|
|
|
- The `rand`, `randi`, and `randn` functions now support complex input and a `RandStream` object for the `"like"` syntax
|
|
|
|
- The `eps`, `flintmax`, `intmax`, `intmin`, `realmax` and `realmin` functions now accept the `"like"` syntax to return scalars based on a prototype object
|
|
|
|
- `qr` and `gsvd` have a new `"econ"` option for economy-size decompositions
|
|
|
|
- The syntax `R = qr(A)` now always returns `R` as an upper-triangular matrix, regardless of whether `A` is full or sparse (behaviour change)
|
|
|
|
- New Code Compatibility Analyzer app
|
|
|
|
|
|
|
|
# MATLAB 9.11 (R2021b)
|
|
|
|
|
|
|
|
- New `parfeval` syntax for parallelizing calls to a function
|
|
|
|
- New `trenddecomp` function for trend/cycle decomposition
|
|
|
|
- New `ComparisonMethod` option to `min` and `max` functions
|
|
|
|
- New `sftp` function for transferring files from/to SSH servers
|
|
|
|
- New `outputFormat` option of the `svd` function
|
|
|
|
- New `exportgraphics` function to append graphics to an existing PDF file
|
|
|
|
- New `pyrun` and `pyrunfile` functions to run Python code
|
|
|
|
|
|
|
|
# MATLAB 9.10 (R2021a)
|
|
|
|
|
|
|
|
- New `name=value` syntax for passing name-value arguments
|
|
|
|
- `format` function can now get and set display format
|
|
|
|
- `fillmissing` function now accepts a custom method
|
|
|
|
- `normalize` is now able to normalize multiple data sets with same parameters
|
|
|
|
- XML support in `readtable`, `readtimetable`, `writetable`, `writetimetable`,
|
|
|
|
`detectImportOptions`
|
|
|
|
- Read over HTTP or HTTPS support for `readtable`, `readtimetable`, `readvars`,
|
|
|
|
`readstruct`, `readmatrix`, `readcell`, `readlines`, `detectImportOptions`
|
|
|
|
and others
|
|
|
|
- New `PrettyPrint` option to `jsonencode` for adding indentation
|
|
|
|
|
|
|
|
# MATLAB 9.9 (R2020b)
|
|
|
|
|
|
|
|
- New `pattern` and `extract` functions for string manipulation
|
|
|
|
- New `mustBe*` functions for input validation
|
|
|
|
- New `height` and `width` functions
|
|
|
|
- New `readstruct` and `writestruct` functions for reading/writing structured
|
|
|
|
data in XML files
|
|
|
|
- New `readlines` function to read a whole text file as a string array
|
|
|
|
- New `pagemtimes` function for batch matrix multiplication
|
|
|
|
- New `svdsketch` function for computing SVD factors of low-rank matrix sketch
|
|
|
|
- New `matlabRelease` and `isMATLABReleaseOlderThan` functions, meant as
|
|
|
|
replacements for `ver` and `verLessThan` respectively
|
|
|
|
- C Matrix API `mxCreateString` function now accepts UTF-8 encoded data
|
|
|
|
- C MEX API `mexPrintf`, `mexEvalString`, `mexEvalStringWithTrap`,
|
|
|
|
`mexErrMsgIdAndTxt` and `mexWarnMsgIdAndTxt` functions now accept UTF-8
|
|
|
|
encoded data
|
|
|
|
|
|
|
|
# MATLAB 9.8 (R2020a)
|
|
|
|
|
|
|
|
- The `sparse` function now accepts vectors of integer data type for its `i` and `j` arguments
|
|
|
|
- Support for sparse complex arrays
|
|
|
|
|
|
|
|
# MATLAB 9.7 (R2019b)
|
|
|
|
|
|
|
|
- It’s now possible to use the dot-indexing operator on a function call, e.g.
|
|
|
|
`createStruct(3).aField`
|
|
|
|
- The `size` function now accepts a vector dimension argument to query multiple
|
|
|
|
array dimension lengths at a time
|
|
|
|
- It’s now possible to restrict the possible values of input arguments to a
|
|
|
|
function, using function argument validation
|
|
|
|
- Numbers can be specified using hexadecimal or binary literals
|
|
|
|
- New `matches` function to determine if two input strings are equal
|
|
|
|
- New `namedargs2cell` function to convert structure containing name-value
|
|
|
|
pairs to cell array
|
|
|
|
- The `error` function now accepts a suggested fix for an uncaught exception
|
|
|
|
(should be the first argument, as a `Correction` instance)
|
|
|
|
- New `groupfilter` function for filtering data in a table, timetable, or
|
|
|
|
matrix by group
|
|
|
|
- New `sheetnames` function to get names of worksheets from spreadsheet file
|
|
|
|
- New `makima` function for performing modified Akima cubic Hermite
|
|
|
|
interpolation
|
|
|
|
- New `tiledlayout` function for creating tiled chart layout (now recommended
|
|
|
|
over `subplot`)
|
|
|
|
|
|
|
|
# MATLAB 9.6 (R2019a)
|
|
|
|
|
|
|
|
- New `append` function for combining strings
|
|
|
|
- The `min` and `max` functions:
|
|
|
|
+ now return index information corresponding to the minimum and maximum
|
|
|
|
values When simultaneously operating on more than one dimension
|
|
|
|
+ now return the linear indices corresponding to the minimum and maximum values of
|
|
|
|
the input array using the `'linear'` option
|
|
|
|
- New `readmatrix`, `readvars`, and `readcell` functions for reading tabular
|
|
|
|
data as a matrix, variables, or a cell array
|
|
|
|
- New `writematrix` and `writecell` functions for writing tabular data from a
|
|
|
|
matrix or cell array to a text or spreadsheet file
|
|
|
|
- New functions `matchpairs` and `equilibrate` for solving assignment problems
|
|
|
|
- New `xcorr` and `xcov` functions for compute cross-correlation and
|
|
|
|
cross-covariance (they were previously in the Signal Processing toolbox, now
|
|
|
|
they are in MATLAB core)
|
|
|
|
- The `detrend` function can now remove piecewise polynomial trends, set
|
|
|
|
continuity requirements, and specify sample points
|
|
|
|
- It is now possible to provide a suggested fix for an uncaught exception in
|
|
|
|
the `MException` class, using the `addCorrection` method and the `Correction` class
|
|
|
|
- New `parallelplot` function for visualizing tabular or matrix data with
|
|
|
|
multiple columns by using a parallel coordinates plot
|
|
|
|
- The `grouptransform` function now operates on arrays
|
|
|
|
|
|
|
|
# MATLAB 9.5 (R2018b)
|
|
|
|
|
|
|
|
- It is now possible to use string arrays where character vectors or cell
|
|
|
|
arrays of character vectors were previously accepted; using double quotes
|
|
|
|
everywhere is now encouraged
|
|
|
|
- New `convertContainedStringsToChars` function to convert string arrays at any
|
|
|
|
level of cell array or structure
|
|
|
|
- The following functions now accept a vector dimension argument to specify
|
|
|
|
multiple operating dimensions at a time, as well as the option `'all'` to
|
|
|
|
specify all dimensions of an array: `all`, `any`, `bounds`, `max`, `mean`,
|
|
|
|
`median`, `min`, `mode`, `prod`, `std`, `sum`, `var`
|
|
|
|
- New `sinpi` and `cospi` functions for computing the sine and cosine of multiples of π
|
|
|
|
- `readwrite` and `writetable` are now able to manipulate Excel files on Windows without launching Microsoft Excel
|
|
|
|
- New `grouptransform` function for transforming by groups on tables and timetables
|
|
|
|
- New `groupsummary` function to perform group summary computations on matrices
|
|
|
|
- New `rmoutliers` function for removing outliers in an array, table, or timetable
|
|
|
|
|
|
|
|
# MATLAB 9.4 (R2018a)
|
|
|
|
|
|
|
|
- New interleaved complex ABI for MEX files
|
|
|
|
- New C++ MEX interface
|
|
|
|
- New `normalize` function for normalizing array, table, and timetable data
|
|
|
|
- Possibility of creating complex empty arrays using functions such as `zeros`
|
|
|
|
and `ones` with the `'like'` option, or with the `complex([])` syntax
|
|
|
|
|
|
|
|
# MATLAB 9.3 (R2017b)
|
|
|
|
|
|
|
|
- New `isfile` and `isfolder` functions
|
|
|
|
- New `decomposition` object to solve linear systems repeatedly with improved
|
|
|
|
performance
|
|
|
|
- New `lsqminnorm` function to find minimum-norm solution of underdetermined
|
|
|
|
linear system
|
|
|
|
- New `dissect` function to reorder sparse matrix columns using nested
|
|
|
|
dissection ordering
|
|
|
|
- New `vecnorm` function to compute vector-wise norms of arrays
|
|
|
|
- New values for the `sigma` option of `eigs`
|
|
|
|
- The `eigs` and `svds` functions now accept name-value pairs for options
|
|
|
|
- The `griddedInterpolant`, `interp1`, `interp2`, `interp3`, and `interpn`
|
|
|
|
functions now support the interpolation method `'makima'`, which is the
|
|
|
|
modified Akima cubic Hermite interpolation method.
|
|
|
|
- New `tallrng` function for controlling random number generation for tall arrays
|
|
|
|
- New `isStringScalar` function for determining whether input is a string array
|
|
|
|
with one element
|
|
|
|
- New `convertStringsToChars` and `convertCharsToStrings` functions to enable
|
|
|
|
one’s code to accept all text types as inputs without otherwise altering the
|
|
|
|
code
|
|
|
|
- The `arrayfun`, `cellfun`, and `structfun` functions can return object arrays
|
|
|
|
of any data type, so long as the objects can be concatenated
|
|
|
|
- New `geobubble`, `wordcloud` and `binscatter` graphics functions
|
|
|
|
- The `bar` function makes it possible to control individual bar colors
|
|
|
|
- The `jsonencode` function encodes MATLAB `NaN` and `Inf` values in JSON as
|
|
|
|
null, unless asked otherwise with the `'ConvertInfAndNaN'` option set to false.
|
|
|
|
- New `ischange` function to detect abrupt changes in data
|
|
|
|
- New `islocalmin` and `islocalmax` functions to detect local minima and maxima in data
|
|
|
|
- New `mink` and `maxk` functions for finding the k smallest or largest elements in an array
|
|
|
|
|
|
|
|
# MATLAB 9.2 (R2017a)
|
|
|
|
|
|
|
|
- String arrays can now be constructed using double quotes
|
|
|
|
- New `bounds` function for simultaneously determine the smallest and largest
|
|
|
|
elements of an array
|
|
|
|
- New `'omitnan'` option for the `prod` and `cumprod` functions
|
|
|
|
- New `movmad` and `movprod` functions for computing moving median absolute
|
|
|
|
deviation and moving product of an array
|
|
|
|
- New `missing` function to represent missing data in various types of
|
|
|
|
containers and objects
|
|
|
|
- New `issortedrows` to determine if matrix or table rows are sorted
|
|
|
|
- New `'ComparisonMethod'` and `'MissingPlacement'` options for the `sort` and
|
|
|
|
`sortrows` functions
|
|
|
|
- New `'monotonic'`, `'strictmonotonic'`, `'strictascend'`, and
|
|
|
|
`'strictdescend'` options to the `issorted` function
|
|
|
|
- The data type of the output argument for the `compose`, `extractAfter`,
|
|
|
|
`extractBefore`, `extractBetween`, `join`, `split`, and `splitlines`
|
|
|
|
functions is now the same as the type of input arguments (they would always
|
|
|
|
return string arrays in R2016b)
|
|
|
|
- New `head` and `tail` functions for returning the top or bottom rows of table
|
|
|
|
or timetable
|
|
|
|
- New `heatmap` function
|
|
|
|
- New `-nocompression` option to the `save` command
|
|
|
|
- `jsondecode` now converts JSON null values in numeric arrays to `NaN`
|
|
|
|
- New `isoutlier` and `filloutliers` functions for detecting and replacing
|
|
|
|
outliers in an array or table
|
|
|
|
- New `smoothdata` function for smoothing noisy data in an array or table with
|
|
|
|
filtering or local regression
|
|
|
|
- New `summary` function for calculating summary statistics and variable
|
|
|
|
information in tables and timetables
|
|
|
|
|
|
|
|
# MATLAB 9.1 (R2016b)
|
|
|
|
|
|
|
|
- Adds “automatic broadcasting”, also known as “implicit expansion” (`bsxfun`
|
|
|
|
becomes therefore essentially useless)
|
|
|
|
- It is now possible to define local functions in scripts
|
|
|
|
- New `contains` function
|
|
|
|
- New `join`, `split`, `splitlines`, `compose`, `extractAfter`,
|
|
|
|
`extractBefore`, `extractBetween` functions
|
|
|
|
- New `jsondecode` and `jsonencode` functions
|
|
|
|
- Introduces string arrays (with function `string`)
|
|
|
|
- New `ismissing`, `standardizeMissing`, `fillmissing`, and `rmmissing`
|
|
|
|
functions for finding, filling, and removing missing data from arrays or
|
|
|
|
tables
|
|
|
|
- The `dir` function now accepts wildcards
|
|
|
|
- New `timetable` data container and `timerange` function
|
|
|
|
|
|
|
|
# MATLAB 9.0 (R2016a)
|
|
|
|
|
|
|
|
- No more 32-bit support
|
|
|
|
- `writetable` is now able to write Excel files on GNU/Linux and macOS
|
|
|
|
|
|
|
|
# MATLAB 8.6 (R2015b)
|
|
|
|
|
|
|
|
# MATLAB 8.5 (R2015a)
|
|
|
|
|
|
|
|
- New `mxIsScalar` function in MEX interface (but the function was apparently already present in R2014a, though not officially supported nor defined in headers)
|
|
|
|
- New `webwrite` function
|
|
|
|
- First version to officially support Windows 10, see https://fr.mathworks.com/matlabcentral/answers/223444-is-matlab-compatible-with-windows-10
|
|
|
|
- Many functions for descriptive statistics and arithmetic (e.g. `max`, `min`, `mean`, `std`, `var`, `median`, `sum`) now accept the `omitnan` and `includenan` options (the former being the default)
|
|
|
|
|
|
|
|
# MATLAB 8.4 (R2014b)
|
|
|
|
|
|
|
|
- New `webread` function
|
|
|
|
|
|
|
|
# MATLAB 8.3 (R2014a)
|
|
|
|
|
|
|
|
- Support for new Ethernet interface naming under GNU/Linux (older versions are
|
|
|
|
difficult to install on modern GNU/Linux systems), see https://fr.mathworks.com/matlabcentral/answers/73938-activating-on-linux-without-eth0
|
|
|
|
- New `isdiag`, `isbanded`, `issymmetric`, `ishermitian`, `istril`, `istriu`,
|
|
|
|
and `bandwidth` functions for testing matrix structure
|
|
|
|
- New `sylvester` function for solving the Sylvester equation
|
|
|
|
|
|
|
|
# MATLAB 8.2 (R2013b)
|
|
|
|
|
|
|
|
- New `readtable` and `writetable` function (the latter not yet capable of writing Excel files on GNU/Linux and macOS, and needing Microsoft Excel installed on Windows)
|
|
|
|
|
|
|
|
# MATLAB 8.1 (R2013a)
|
|
|
|
|
|
|
|
- New option `stable` to `intersect` and other set manipulation functions
|
|
|
|
- New `strsplit` and `strjoin` functions
|
|
|
|
|
|
|
|
# MATLAB 8.0 (R2012b)
|
|
|
|
|
|
|
|
- Syntax for abstract classes
|
|
|
|
|
|
|
|
# MATLAB 7.14 (R2012a)
|
|
|
|
|
|
|
|
- `xlsread` now natively supports `.xlsx` files on all platforms (no need to
|
|
|
|
have Microsoft Office installed)
|
|
|
|
|
|
|
|
# MATLAB 7.13 (R2011b)
|
|
|
|
|
|
|
|
- New `narginchk` function
|
|
|
|
|
|
|
|
# MATLAB 7.12 (R2011a)
|
|
|
|
|
|
|
|
- New random number generators interface (`rng`, `getGlobalStream` and `setGlobalStream` functions)
|
|
|
|
- New `ichol` function
|
|
|
|
|
|
|
|
# MATLAB 7.11 (R2010b)
|
|
|
|
|
|
|
|
- New `isrow`, `iscolumn` and `ismatrix` functions
|
|
|
|
|
|
|
|
# MATLAB 7.10 (R2010a)
|
|
|
|
|
|
|
|
- Ships with MKL 10.2, which fixes a nasty bug in `dgges` (for which a
|
|
|
|
workaround has been implemented in the `mjdgges` MEX) |
|
|
|
This page lists changes introduced in MATLAB versions that are the most
|
|
|
|
relevant to Dynare development. This information mostly comes from the [MATLAB
|
|
|
|
Release Notes](https://fr.mathworks.com/help/matlab/release-notes.html).
|
|
|
|
|
|
|
|
# MATLAB 24.2 (R2024b)
|
|
|
|
|
|
|
|
- New [package manager](https://www.mathworks.com/help/matlab/matlab_prog/use-the-matlab-package-manager-to-organize-and-distribute-code.html)
|
|
|
|
- New `isapprox` function for determining approximate equality of elements in two arrays
|
|
|
|
- New `RegularizationFactor` name-value argument to the `lsqminnorm` function,
|
|
|
|
for Tikhonov regularization to the least-squares solution
|
|
|
|
- Many I/O functions can now directly read data online using an HTTP/HTTPS URL,
|
|
|
|
notably:
|
|
|
|
+ `isfile`, `dir`, `copyfile`, and `exist`
|
|
|
|
+ `fopen`, `fread`, `fgets`, `fgetl`, `feof`, `fclose`, `ferror`, `fseek`, `ftell`, `fscanf`,
|
|
|
|
`frewind`, and `fileread`
|
|
|
|
+ `h5disp`, `h5info`, `h5read`, `h5readatt`, `H5F.open`, and `H5F.is_hdf5`
|
|
|
|
- Dictionaries in JSON files can now be read and written using the
|
|
|
|
`readdictionary` and `writedictionary` functions
|
|
|
|
- Symbolic links support
|
|
|
|
+ new `createSymbolicLink` and `isSymbolicLink` functions
|
|
|
|
+ new `ResolveSymbolicLinks` name-value argument with the `delete` and
|
|
|
|
`rmdir` functions
|
|
|
|
+ new `CopyLinkBehavior` name-value argument with the `copyfile` function
|
|
|
|
+ new `MoveLinkBehavior` name-value argument with the `movefile` function
|
|
|
|
- When reading spreadsheet files, the behavior for merged cells can now be
|
|
|
|
controlled using new `MergedCellColumnRule` and `MergedCellRowRule`
|
|
|
|
name-value arguments of `readtable`, `readtimetable`, `readmatrix`,
|
|
|
|
`readcell`, `readvars` and `detectImportOptions`
|
|
|
|
- The `zip` and `unzip` functions now support password-encrypted files
|
|
|
|
- The `sftp` function now accepts a timeout value and supports passphrases and
|
|
|
|
certificates
|
|
|
|
- The `summary` function now works on array data, including `numeric`, `logical`,
|
|
|
|
`datetime`, `duration`, and `calendarDuration` types
|
|
|
|
- The `isbetween` function now works on numeric, nonnumeric, or tabular input data
|
|
|
|
- The `rmmissing` and `rmoutliers` functions now accept an argument for
|
|
|
|
defining the location of missing entries or outliers using array or table
|
|
|
|
- The `table` and `timetable` data types now have a `VariableTypes` property
|
|
|
|
for specifying the data types of their variables
|
|
|
|
- New `violinplot` function for creating violin plots for grouped numeric data
|
|
|
|
- New `compassplot` function to plot one or more sets of arrows originating
|
|
|
|
from the origin in polar coordinates
|
|
|
|
- New `constantplane` function to create infinite planes for highlighting
|
|
|
|
regions of interest in 3-D plots
|
|
|
|
- New `IconColumnWidth` property of a `Legend` object for controlling the width
|
|
|
|
of the legend icons and the width of the legend box
|
|
|
|
- New `Labels` and `LabelLocation` properties of a `Bar` object for adding
|
|
|
|
labels to ends of bars in bar charts
|
|
|
|
- The `tiledlayout` can now be called without dimensions or tile arrangement
|
|
|
|
argument
|
|
|
|
- The MAT-file version can now be specified with the `savefig` function
|
|
|
|
|
|
|
|
# MATLAB 24.1 (R2024a)
|
|
|
|
|
|
|
|
- Local functions can now be defined anywhere in scripts
|
|
|
|
- Packages (“+” folders) are now called “namespaces” (this is only a change in
|
|
|
|
terminology, not in functionality)
|
|
|
|
- New `createArray` function for generating arrays of specified class and size
|
|
|
|
- New `islocalmin2` and `islocalmax2` for finding local extrema in 2 dimensions
|
|
|
|
- New `clip` function for clipping values to a specific range
|
|
|
|
- New `Weights` parameter to the `mean` and `median` functions
|
|
|
|
- The `iqr` function can now return the first and third quartiles of the input
|
|
|
|
data by using a 2nd output argument
|
|
|
|
- New `openedFiles` function that returns the file identifiers of all open
|
|
|
|
files as a row vector
|
|
|
|
- New `pagelsqminnorm` that calculate minimum-norm least-squares solutions to
|
|
|
|
systems of linear equations in N-D arrays
|
|
|
|
- New `pagepinv` function that calculates Moore-Penrose pseudoinverses of pages
|
|
|
|
of N-D array
|
|
|
|
- The `spdiags` function now supports implicit expansion for the diagonal
|
|
|
|
elements argument Bin. You can specify the diagonal elements as a matrix,
|
|
|
|
vector, or scalar, and the function expands the values if the argument is
|
|
|
|
specified as a vector or scalar.
|
|
|
|
- New `fpolarplot` function for plotting mathematical expressions in polar
|
|
|
|
coordinates
|
|
|
|
- The Python Interface now converts between MATLAB and Python dictionaries, and
|
|
|
|
between MATLAB tables and Python Pandas DataFrames
|
|
|
|
|
|
|
|
# MATLAB 23.2 (R2023b)
|
|
|
|
|
|
|
|
- New dictionary functions: `configureDictionary`, `lookup`, `insert`, `remove`
|
|
|
|
- New `mustBeSparse` validation function
|
|
|
|
- New `resize`, `paddata` and `trimdata` functions for changing the size of
|
|
|
|
data by adding or removing elements
|
|
|
|
- New `smoothdata2` function for smoothing noisy data in two dimensions
|
|
|
|
- New `kde` function for estimating a probability function by using kernel density estimation for univariate data
|
|
|
|
- New syntax for the `rng` and `tallrng` functions where only the algorithm is
|
|
|
|
specified (but not the seed, which then defaults to zero)
|
|
|
|
- The `readstruct` and `writestruct` functions can now manipulate JSON files
|
|
|
|
- New `cmdsep` function which returns the (shell) command separator for the
|
|
|
|
current platform
|
|
|
|
- New `expmv` function for computing a matrix exponential multiplied by a
|
|
|
|
vector
|
|
|
|
- New `piechart` and `donutchart` functions for creating configurable,
|
|
|
|
interactive pie and donut charts
|
|
|
|
- New `Direction` property of the `legend` function for controlling the order
|
|
|
|
of legend entries
|
|
|
|
- New `xscale`, `yscale` and `zscale` functions for quickly change between
|
|
|
|
logarithmic and linear axes scales after plotting
|
|
|
|
- New `xsecondarylabel`, `ysecondarylabel`, and `zsecondarylabel` functions for
|
|
|
|
creating, deleting, or modifying secondary axis labels
|
|
|
|
- New `xregion` and `yregion` functions for creating unbounded regions and
|
|
|
|
specifying multiple regions as matrix
|
|
|
|
- New `gitrepo` object for manipulating git repositories
|
|
|
|
|
|
|
|
# MATLAB 9.14 (R2023a)
|
|
|
|
|
|
|
|
- Warning about indexing with no subscripts (`MATLAB:subscripting:noSubscriptsSpecified`) has been removed
|
|
|
|
- New `combinations` function for generating all element combinations of arrays
|
|
|
|
- `head` and `tail` functions now work on arrays
|
|
|
|
- New `pageeig` function for calculating eigenvalues and eigenvectors of the
|
|
|
|
pages of N-D arrays. In this context, the N-D array is treated as a container
|
|
|
|
for several 2-D matrices.
|
|
|
|
- The `randi` function can now create random logical arrays
|
|
|
|
- Many functions for descriptive statistics and arithmetic (e.g. `max`, `min`, `mean`, `std`, `var`, `median`, `sum`, `prod`, `cummax`, `cummin`, `cumsum`, `cumprod`) now accept the `omitmissing` and `includemissing` options (the former being the default) (the older `omitnan` and `includenan` options are still supported)
|
|
|
|
|
|
|
|
# MATLAB 9.13 (R2022b)
|
|
|
|
|
|
|
|
- New `dictionary` object (hash table)
|
|
|
|
- Validation of output arguments in functions and class methods
|
|
|
|
- New `mape` and `rmse` functions for calculating forecast errors (mean absolute percentage and root mean-squared)
|
|
|
|
- New `isuniform` function for determining if vector is uniformly spaced
|
|
|
|
- The `stackedplot` function can now plot variables from multiple input tables or timetables
|
|
|
|
- The `detrend` function can now detrend data in a table or timetable.
|
|
|
|
- New `pagenorm` function for calculating norms using pages of N-D arrays
|
|
|
|
- The `errorbar` function can now plot multiple lines with error bars at once
|
|
|
|
- New `tightPosition` function for getting the location and size of axes plotting area
|
|
|
|
- New `tilenum` and `tilerowcol` functions for convert between rows and columns and tile numbers in tiled chart layouts
|
|
|
|
- New Code Analyzer app (and programmatic interface through `codeAnalyzer`)
|
|
|
|
|
|
|
|
# MATLAB 9.12 (R2022a)
|
|
|
|
|
|
|
|
- New `allfinite`, `anynan` and `anymissing` functions to examine the elements of an input array
|
|
|
|
- The `quantile`, `prctile` and `iqr` functions are now part of core MATLAB (they were previously in the Statistics and Machine Learning Toolbox
|
|
|
|
- The `rms` (root mean square) function is now part of core MATLAB (it was previously in the Signal Processing toolbox)
|
|
|
|
- The `std` and `var` functions now optionally return the mean as second output argument
|
|
|
|
- New `writelines` function for writing plain text to a file
|
|
|
|
- New `pagemldivide`, `pagemrdivide`, and `pageinv` functions: Solve linear equations and calculate matrix inverses using pages of N-D arrays
|
|
|
|
- New `tensorprod` function: Calculate tensor products between two arrays
|
|
|
|
- The `round` function has a new `TieBreaker` name-value argument to specify how to break ties.
|
|
|
|
- `null` and `orth` functions have a new option to specify tolerance to treat singular values below a threshold as zero
|
|
|
|
- The `norm` function can now calculate Frobenius norm on N-D arrays
|
|
|
|
- The `equilibrate` function now has an option with values of `"vector"` or `"matrix"` to specify whether the output arguments are returned as vectors or matrices
|
|
|
|
- The `rand`, `randi`, and `randn` functions now support complex input and a `RandStream` object for the `"like"` syntax
|
|
|
|
- The `eps`, `flintmax`, `intmax`, `intmin`, `realmax` and `realmin` functions now accept the `"like"` syntax to return scalars based on a prototype object
|
|
|
|
- `qr` and `gsvd` have a new `"econ"` option for economy-size decompositions
|
|
|
|
- The syntax `R = qr(A)` now always returns `R` as an upper-triangular matrix, regardless of whether `A` is full or sparse (behaviour change)
|
|
|
|
- New Code Compatibility Analyzer app
|
|
|
|
|
|
|
|
# MATLAB 9.11 (R2021b)
|
|
|
|
|
|
|
|
- New `parfeval` syntax for parallelizing calls to a function
|
|
|
|
- New `trenddecomp` function for trend/cycle decomposition
|
|
|
|
- New `ComparisonMethod` option to `min` and `max` functions
|
|
|
|
- New `sftp` function for transferring files from/to SSH servers
|
|
|
|
- New `outputFormat` option of the `svd` function
|
|
|
|
- New `exportgraphics` function to append graphics to an existing PDF file
|
|
|
|
- New `pyrun` and `pyrunfile` functions to run Python code
|
|
|
|
|
|
|
|
# MATLAB 9.10 (R2021a)
|
|
|
|
|
|
|
|
- New `name=value` syntax for passing name-value arguments
|
|
|
|
- `format` function can now get and set display format
|
|
|
|
- `fillmissing` function now accepts a custom method
|
|
|
|
- `normalize` is now able to normalize multiple data sets with same parameters
|
|
|
|
- XML support in `readtable`, `readtimetable`, `writetable`, `writetimetable`,
|
|
|
|
`detectImportOptions`
|
|
|
|
- Read over HTTP or HTTPS support for `readtable`, `readtimetable`, `readvars`,
|
|
|
|
`readstruct`, `readmatrix`, `readcell`, `readlines`, `detectImportOptions`
|
|
|
|
and others
|
|
|
|
- New `PrettyPrint` option to `jsonencode` for adding indentation
|
|
|
|
|
|
|
|
# MATLAB 9.9 (R2020b)
|
|
|
|
|
|
|
|
- New `height` and `width` functions (can be used as a replacement for `rows` and `columns` that are present in Octave and that we reimplemented as missing functions; NB: the MATLAB documentation erroneously says that these functions were introduced in R2013b)
|
|
|
|
- New `pattern` and `extract` functions for string manipulation
|
|
|
|
- New `mustBe*` functions for input validation
|
|
|
|
- New `readstruct` and `writestruct` functions for reading/writing structured
|
|
|
|
data in XML files
|
|
|
|
- New `readlines` function to read a whole text file as a string array
|
|
|
|
- New `pagemtimes` function for batch matrix multiplication
|
|
|
|
- New `svdsketch` function for computing SVD factors of low-rank matrix sketch
|
|
|
|
- New `matlabRelease` and `isMATLABReleaseOlderThan` functions, meant as
|
|
|
|
replacements for `ver` and `verLessThan` respectively
|
|
|
|
- C Matrix API `mxCreateString` function now accepts UTF-8 encoded data
|
|
|
|
- C MEX API `mexPrintf`, `mexEvalString`, `mexEvalStringWithTrap`,
|
|
|
|
`mexErrMsgIdAndTxt` and `mexWarnMsgIdAndTxt` functions now accept UTF-8
|
|
|
|
encoded data
|
|
|
|
|
|
|
|
# MATLAB 9.8 (R2020a)
|
|
|
|
|
|
|
|
- The `sparse` function now accepts vectors of integer data type for its `i` and `j` arguments
|
|
|
|
- Support for sparse complex arrays
|
|
|
|
|
|
|
|
# MATLAB 9.7 (R2019b)
|
|
|
|
|
|
|
|
- It’s now possible to use the dot-indexing operator on a function call, e.g.
|
|
|
|
`createStruct(3).aField`
|
|
|
|
- The `size` function now accepts a vector dimension argument to query multiple
|
|
|
|
array dimension lengths at a time
|
|
|
|
- It’s now possible to restrict the possible values of input arguments to a
|
|
|
|
function, using function argument validation
|
|
|
|
- Numbers can be specified using hexadecimal or binary literals
|
|
|
|
- New `matches` function to determine if two input strings are equal
|
|
|
|
- New `namedargs2cell` function to convert structure containing name-value
|
|
|
|
pairs to cell array
|
|
|
|
- The `error` function now accepts a suggested fix for an uncaught exception
|
|
|
|
(should be the first argument, as a `Correction` instance)
|
|
|
|
- New `groupfilter` function for filtering data in a table, timetable, or
|
|
|
|
matrix by group
|
|
|
|
- New `sheetnames` function to get names of worksheets from spreadsheet file
|
|
|
|
- New `makima` function for performing modified Akima cubic Hermite
|
|
|
|
interpolation
|
|
|
|
- New `tiledlayout` function for creating tiled chart layout (now recommended
|
|
|
|
over `subplot`)
|
|
|
|
|
|
|
|
# MATLAB 9.6 (R2019a)
|
|
|
|
|
|
|
|
- New `append` function for combining strings
|
|
|
|
- The `min` and `max` functions:
|
|
|
|
+ now return index information corresponding to the minimum and maximum
|
|
|
|
values When simultaneously operating on more than one dimension
|
|
|
|
+ now return the linear indices corresponding to the minimum and maximum values of
|
|
|
|
the input array using the `'linear'` option
|
|
|
|
- New `readmatrix`, `readvars`, and `readcell` functions for reading tabular
|
|
|
|
data as a matrix, variables, or a cell array
|
|
|
|
- New `writematrix` and `writecell` functions for writing tabular data from a
|
|
|
|
matrix or cell array to a text or spreadsheet file
|
|
|
|
- New functions `matchpairs` and `equilibrate` for solving assignment problems
|
|
|
|
- New `xcorr` and `xcov` functions for compute cross-correlation and
|
|
|
|
cross-covariance (they were previously in the Signal Processing toolbox, now
|
|
|
|
they are in MATLAB core)
|
|
|
|
- The `detrend` function can now remove piecewise polynomial trends, set
|
|
|
|
continuity requirements, and specify sample points
|
|
|
|
- It is now possible to provide a suggested fix for an uncaught exception in
|
|
|
|
the `MException` class, using the `addCorrection` method and the `Correction` class
|
|
|
|
- New `parallelplot` function for visualizing tabular or matrix data with
|
|
|
|
multiple columns by using a parallel coordinates plot
|
|
|
|
- The `grouptransform` function now operates on arrays
|
|
|
|
|
|
|
|
# MATLAB 9.5 (R2018b)
|
|
|
|
|
|
|
|
- It is now possible to use string arrays where character vectors or cell
|
|
|
|
arrays of character vectors were previously accepted; using double quotes
|
|
|
|
everywhere is now encouraged
|
|
|
|
- New `convertContainedStringsToChars` function to convert string arrays at any
|
|
|
|
level of cell array or structure
|
|
|
|
- The following functions now accept a vector dimension argument to specify
|
|
|
|
multiple operating dimensions at a time, as well as the option `'all'` to
|
|
|
|
specify all dimensions of an array: `all`, `any`, `bounds`, `max`, `mean`,
|
|
|
|
`median`, `min`, `mode`, `prod`, `std`, `sum`, `var`
|
|
|
|
- New `sinpi` and `cospi` functions for computing the sine and cosine of multiples of π
|
|
|
|
- `readwrite` and `writetable` are now able to manipulate Excel files on Windows without launching Microsoft Excel
|
|
|
|
- New `grouptransform` function for transforming by groups on tables and timetables
|
|
|
|
- New `groupsummary` function to perform group summary computations on matrices
|
|
|
|
- New `rmoutliers` function for removing outliers in an array, table, or timetable
|
|
|
|
|
|
|
|
# MATLAB 9.4 (R2018a)
|
|
|
|
|
|
|
|
- New interleaved complex ABI for MEX files
|
|
|
|
- New C++ MEX interface
|
|
|
|
- New `normalize` function for normalizing array, table, and timetable data
|
|
|
|
- Possibility of creating complex empty arrays using functions such as `zeros`
|
|
|
|
and `ones` with the `'like'` option, or with the `complex([])` syntax
|
|
|
|
|
|
|
|
# MATLAB 9.3 (R2017b)
|
|
|
|
|
|
|
|
- New `isfile` and `isfolder` functions
|
|
|
|
- New `decomposition` object to solve linear systems repeatedly with improved
|
|
|
|
performance
|
|
|
|
- New `lsqminnorm` function to find minimum-norm solution of underdetermined
|
|
|
|
linear system
|
|
|
|
- New `dissect` function to reorder sparse matrix columns using nested
|
|
|
|
dissection ordering
|
|
|
|
- New `vecnorm` function to compute vector-wise norms of arrays
|
|
|
|
- New values for the `sigma` option of `eigs`
|
|
|
|
- The `eigs` and `svds` functions now accept name-value pairs for options
|
|
|
|
- The `griddedInterpolant`, `interp1`, `interp2`, `interp3`, and `interpn`
|
|
|
|
functions now support the interpolation method `'makima'`, which is the
|
|
|
|
modified Akima cubic Hermite interpolation method.
|
|
|
|
- New `tallrng` function for controlling random number generation for tall arrays
|
|
|
|
- New `isStringScalar` function for determining whether input is a string array
|
|
|
|
with one element
|
|
|
|
- New `convertStringsToChars` and `convertCharsToStrings` functions to enable
|
|
|
|
one’s code to accept all text types as inputs without otherwise altering the
|
|
|
|
code
|
|
|
|
- The `arrayfun`, `cellfun`, and `structfun` functions can return object arrays
|
|
|
|
of any data type, so long as the objects can be concatenated
|
|
|
|
- New `geobubble`, `wordcloud` and `binscatter` graphics functions
|
|
|
|
- The `bar` function makes it possible to control individual bar colors
|
|
|
|
- The `jsonencode` function encodes MATLAB `NaN` and `Inf` values in JSON as
|
|
|
|
null, unless asked otherwise with the `'ConvertInfAndNaN'` option set to false.
|
|
|
|
- New `ischange` function to detect abrupt changes in data
|
|
|
|
- New `islocalmin` and `islocalmax` functions to detect local minima and maxima in data
|
|
|
|
- New `mink` and `maxk` functions for finding the k smallest or largest elements in an array
|
|
|
|
|
|
|
|
# MATLAB 9.2 (R2017a)
|
|
|
|
|
|
|
|
- String arrays can now be constructed using double quotes
|
|
|
|
- New `bounds` function for simultaneously determine the smallest and largest
|
|
|
|
elements of an array
|
|
|
|
- New `'omitnan'` option for the `prod` and `cumprod` functions
|
|
|
|
- New `movmad` and `movprod` functions for computing moving median absolute
|
|
|
|
deviation and moving product of an array
|
|
|
|
- New `missing` function to represent missing data in various types of
|
|
|
|
containers and objects
|
|
|
|
- New `issortedrows` to determine if matrix or table rows are sorted
|
|
|
|
- New `'ComparisonMethod'` and `'MissingPlacement'` options for the `sort` and
|
|
|
|
`sortrows` functions
|
|
|
|
- New `'monotonic'`, `'strictmonotonic'`, `'strictascend'`, and
|
|
|
|
`'strictdescend'` options to the `issorted` function
|
|
|
|
- The data type of the output argument for the `compose`, `extractAfter`,
|
|
|
|
`extractBefore`, `extractBetween`, `join`, `split`, and `splitlines`
|
|
|
|
functions is now the same as the type of input arguments (they would always
|
|
|
|
return string arrays in R2016b)
|
|
|
|
- New `head` and `tail` functions for returning the top or bottom rows of table
|
|
|
|
or timetable
|
|
|
|
- New `heatmap` function
|
|
|
|
- New `-nocompression` option to the `save` command
|
|
|
|
- `jsondecode` now converts JSON null values in numeric arrays to `NaN`
|
|
|
|
- New `isoutlier` and `filloutliers` functions for detecting and replacing
|
|
|
|
outliers in an array or table
|
|
|
|
- New `smoothdata` function for smoothing noisy data in an array or table with
|
|
|
|
filtering or local regression
|
|
|
|
- New `summary` function for calculating summary statistics and variable
|
|
|
|
information in tables and timetables
|
|
|
|
|
|
|
|
# MATLAB 9.1 (R2016b)
|
|
|
|
|
|
|
|
- Adds “automatic broadcasting”, also known as “implicit expansion” (`bsxfun`
|
|
|
|
becomes therefore essentially useless)
|
|
|
|
- It is now possible to define local functions in scripts
|
|
|
|
- New `contains` function
|
|
|
|
- New `join`, `split`, `splitlines`, `compose`, `extractAfter`,
|
|
|
|
`extractBefore`, `extractBetween` functions
|
|
|
|
- New `jsondecode` and `jsonencode` functions
|
|
|
|
- Introduces string arrays (with function `string`)
|
|
|
|
- New `ismissing`, `standardizeMissing`, `fillmissing`, and `rmmissing`
|
|
|
|
functions for finding, filling, and removing missing data from arrays or
|
|
|
|
tables
|
|
|
|
- The `dir` function now accepts wildcards
|
|
|
|
- New `timetable` data container and `timerange` function
|
|
|
|
|
|
|
|
# MATLAB 9.0 (R2016a)
|
|
|
|
|
|
|
|
- No more 32-bit support
|
|
|
|
- `writetable` is now able to write Excel files on GNU/Linux and macOS
|
|
|
|
|
|
|
|
# MATLAB 8.6 (R2015b)
|
|
|
|
|
|
|
|
# MATLAB 8.5 (R2015a)
|
|
|
|
|
|
|
|
- New `mxIsScalar` function in MEX interface (but the function was apparently already present in R2014a, though not officially supported nor defined in headers)
|
|
|
|
- New `webwrite` function
|
|
|
|
- First version to officially support Windows 10, see https://fr.mathworks.com/matlabcentral/answers/223444-is-matlab-compatible-with-windows-10
|
|
|
|
- Many functions for descriptive statistics and arithmetic (e.g. `max`, `min`, `mean`, `std`, `var`, `median`, `sum`) now accept the `omitnan` and `includenan` options (the former being the default)
|
|
|
|
|
|
|
|
# MATLAB 8.4 (R2014b)
|
|
|
|
|
|
|
|
- New `webread` function
|
|
|
|
|
|
|
|
# MATLAB 8.3 (R2014a)
|
|
|
|
|
|
|
|
- Support for new Ethernet interface naming under GNU/Linux (older versions are
|
|
|
|
difficult to install on modern GNU/Linux systems), see https://fr.mathworks.com/matlabcentral/answers/73938-activating-on-linux-without-eth0
|
|
|
|
- New `isdiag`, `isbanded`, `issymmetric`, `ishermitian`, `istril`, `istriu`,
|
|
|
|
and `bandwidth` functions for testing matrix structure
|
|
|
|
- New `sylvester` function for solving the Sylvester equation
|
|
|
|
|
|
|
|
# MATLAB 8.2 (R2013b)
|
|
|
|
|
|
|
|
- New `readtable` and `writetable` function (the latter not yet capable of writing Excel files on GNU/Linux and macOS, and needing Microsoft Excel installed on Windows)
|
|
|
|
|
|
|
|
# MATLAB 8.1 (R2013a)
|
|
|
|
|
|
|
|
- New option `stable` to `intersect` and other set manipulation functions
|
|
|
|
- New `strsplit` and `strjoin` functions
|
|
|
|
|
|
|
|
# MATLAB 8.0 (R2012b)
|
|
|
|
|
|
|
|
- Syntax for abstract classes
|
|
|
|
|
|
|
|
# MATLAB 7.14 (R2012a)
|
|
|
|
|
|
|
|
- `xlsread` now natively supports `.xlsx` files on all platforms (no need to
|
|
|
|
have Microsoft Office installed)
|
|
|
|
|
|
|
|
# MATLAB 7.13 (R2011b)
|
|
|
|
|
|
|
|
- New `narginchk` function
|
|
|
|
|
|
|
|
# MATLAB 7.12 (R2011a)
|
|
|
|
|
|
|
|
- New random number generators interface (`rng`, `getGlobalStream` and `setGlobalStream` functions)
|
|
|
|
- New `ichol` function
|
|
|
|
|
|
|
|
# MATLAB 7.11 (R2010b)
|
|
|
|
|
|
|
|
- New `isrow`, `iscolumn` and `ismatrix` functions
|
|
|
|
|
|
|
|
# MATLAB 7.10 (R2010a)
|
|
|
|
|
|
|
|
- Ships with MKL 10.2, which fixes a nasty bug in `dgges` (for which a
|
|
|
|
workaround has been implemented in the `mjdgges` MEX) |