MATLAB Answers

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

2 views (last 30 days)
Yunhui Zhou
Yunhui Zhou on 25 Dec 2018
Answered: Steven Lord on 25 Dec 2018
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

Answers (3)


Walter Roberson
Walter Roberson on 25 Dec 2018
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

Steven Lord
Steven Lord on 25 Dec 2018
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.

Tags

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by