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

  0 Comments

Sign in to comment.

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

  0 Comments

Sign in to comment.


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.

  0 Comments

Sign in to comment.

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