MATLAB Answers

Compatibility : get the Matlab minimum version required to run a program

1 view (last 30 days)
Nicolas Douillet
Nicolas Douillet on 25 Nov 2019
Edited: Rik on 25 Nov 2019
Hey,
Is there a way to automatically know which Matlab minimum version your .m program is compatible with ? Something like the ver command maybe ?
Thanks for help.
Nicolas

  0 Comments

Sign in to comment.

Accepted Answer

Rik
Rik on 25 Nov 2019
Edited: Rik on 25 Nov 2019
The only reliable way I have found is to actually test it. An alternative is to carefully read the documentation of every function you use to determine if you're using a syntax that was introduced later.
Edit: for a really high-level view of the changes from release to release, see this thread.

  2 Comments

Nicolas Douillet
Nicolas Douillet on 25 Nov 2019
Yeah, looks reasonnable.
I run 2019b -the latest version-, so I would need to check all the previous ones I guess...
However, targeting the specific functions I use is quite a sure path, I agree.
The same for toolboxes, but in this case it is easier since I do not use -by far- all the toolboxes.
Thanks
Rik
Rik on 25 Nov 2019
I haven't used it myself, but toggleToolbox might be helpful in checking what works without which toolbox.
I wouldn't test it on all releases. It depends on how far back you want to go. Personally I try to make sure my code runs of version 6.5, which often requires a different implementation (and is overkill for just about any use case).
You can generally assume if something works on two releases it will work on the releases in between, but there are some caveats. I would suggest running the current release, an early HG2 release (2014b or later), and a late HG1 release (2014a or older). Add 2011a if you want to cover 99% of users. I couldn't get anything between v7 and 2011a to work on a 64 bit Windows 10 (and even 2011a requires RunAsDate to get the splash).
If you go extreme you can also check v6.5, which is hit or mis whether or not it will run on Windows 10. I would say it is more than reasonable to assume that if someone is running a version older than 6.5 they should be able to adapt the code themselves. Especially as ~ to suppress an unused output and @ to create an anonymous function will trigger syntax errors.

Sign in to comment.

More Answers (0)

Sign in to answer this question.