Matlab R2018b cannot check whether builtin function 'addvars.m' exist

Hi, I found that Matlab R2018b cannot check whether the builtin function 'addvars.m' exist. On my machine:
>> exist('addvars.m')
ans =
0
>> exist('addvars')
ans =
0
>> exist('plot')
ans =
5
However, if I type:
edit addvars
It can open this builtin function (C:\Program Files\MATLAB\R2018b\toolbox\matlab\datatypes\@tabular\addvars.m). I need to check whether it exists to make my code backward compatitable. What is the reason for this issue?
Edit: A screenshot
addvarsbug.PNG

Risposte (3)

The inside of @ directories are not considered to be on the search path. When exist() is passed a file name, it only examines the search path. When exist() is passed the name of a function, it only examines the search path.
The addvars that exist() is finding is considered a method of class tabular
Instead of checking the existence of a particular file, I recommend using the verLessThan function to determine if the MATLAB session you're using is sufficiently new to have a particular piece of functionality. This avoids false positives where your user may create a script, function, or class file named addvars in a release earlier than its introduction as a method for table and timetable arrays in release R2018a.

Categorie

Prodotti

Release

R2018b

Tag

Richiesto:

il 25 Dic 2018

Risposto:

il 25 Dic 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by