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

1 回表示 (過去 30 日間)
Yunhui Zhou
Yunhui Zhou 2018 年 12 月 25 日
回答済み: Steven Lord 2018 年 12 月 25 日
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

回答 (3 件)

madhan ravi
madhan ravi 2018 年 12 月 25 日
P.S - I received the same answer as you(2018b).

Walter Roberson
Walter Roberson 2018 年 12 月 25 日
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 2018 年 12 月 25 日
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.

カテゴリ

Help Center および File ExchangeEnvironment and Settings についてさらに検索

タグ

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by