Deactivation switch for implicit expansion
8 views (last 30 days)
Show older comments
Matt J on 29 Dec 2016
Commented: Donald Guy on 28 Sep 2021
Jan on 7 Jan 2019
Maybe running the code and exhaustive unit-tests in R2016a is the best option for debugging. It will not only reveal implicit expansion problems, but all other incompatibilities with older software also. Unfortunately this requires a conservative programming style, e.g. to avoid modern strings defined with double quotes.
John D'Errico on 20 Feb 2018
Edited: John D'Errico on 20 Feb 2018
I believe it is not possible to disable the expansion. Personally, I like having it, just that people don't like change. There is some risk in implicit expansion, in that MATLAB novices will sometimes get hurt.
Now, could they introduce a settable flag, telling MATLAB to not use expansion? Yes, they surely could do so. The problem is then code written is no longer portable. Move your code to another computer that has the flag set off or on, and suddenly your code will not work. Or if your code sets the flag and someone uses your code, then suddenly you may have effectively introduced a bug into their code.
So, sorry but IMO, a flag or preference that can disable expansion is a bad idea.
Could you disable it yourself? I suppose you could overload the affected operators, checking for any case of implicit expansion. If you find it, then trap out with an error, saying that implicit expansion is just wrong in your humble opinion, and you won't allow it to work on your system. If no expansion is detected, then use the built-in operator. Yes, it will slow down your code. But it would work.
Donald Guy on 28 Sep 2021
These comments are spot-on, and exactly what I have encountered from my viewpoint as another "novice" who has used Matlab for >20 years.
More Answers (1)
Jan on 19 Feb 2018
I'm convinced, that there is no switch to disable it. Otherwise it would have been mentioned in the forum.
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!