One of the really missing things in MATLAB is a version history of specific functions. As a MATLAB user for 25 years, I have a lot of MATLAB code that contains functions that have been modified, exchanged, or completely disappeared. I am mainly concerned with functions from the Signal Processing Toolbox, but this can also be due to the fact that I use this toolbox the longest.
With each new version of MATLAB, detailed release notes are released. It is advisable for each user of the software to read these notes carefully in order to avoid surprises when using older code. Of course there are surprises of a positive nature when I spend hours and days of coding of function to perfom a specific task, before one of my doctoral students reminds me that there is a new and – so I often have to admit – much more elegant function to do the job.
Occasionally, however, the surprises are also unpleasant, especially when code in my textbooks no longer works or results in different numerical and / or graphical results. As a recent example, I discussed the new function cwt to calculate the continue 1D wavelet transform now using an FFT-based algorithm, different from the old function with the same name. Other examples of functions from the Signal Processing Toolbox, which have a very varied history over the past 25 years, are functions for calculating a power spectrum.
In these cases, a version history of individual functions – in addition to the release notes – would be very helpful. The m-Files of specific functions, such as spectrogram, contains the information of the first appearance of the function, such as “Copyright 1988-2016 MathWorks, Inc.”, without more detailed information about the modifications of the functions through time.
A solution for creating a version history is the search for specific functions in the release notes. First, navigate to the toolbox in the documentation which includes the function, as an example, spectrogram. If you do not know which toolbox contains the function then simply search the full documentation for function’s name, which yields the information “Documentation > Signal Processing Toolbox > Spectral Analysis > Time-Frequency Analysis”.
Then navigate to the Release Note of the Signal Processing Toolbox and use the function name “spectrogram” in the Text Filter. The search result lists all changes of spectrogram for each release. I think MathWorks has done a lot in the past two years to improve the documentation of the functions. A version history for each of the functions would nevertheless be a useful extension.