MATLAB Answers

Check for existence of mat-file in search path

98 ビュー (過去 30 日間)
dm
dm 2012 年 5 月 8 日
コメント済み: Henrik 2016 年 7 月 6 日
Just came over an "interesting" problem. If I run exist('mandrill','file'), I get false back, which I normally would interpret as the (mat)file doesn't exist in the Matlab search path. However, imgdata=load('mandrill') works perfectly fine. Same applies for the 'seamount' image (or any other images that come along with Matlab/toolboxes).
How come Matlab knows where to look for the file/data when using load() and not when using exist()? Problem is that I'd like to have a test similar to
if ~exist('mandrill')
bla bla bla;
return;
else
bla bla bla;
return;
end
But at the moment this won't work. Any suggestions for how to solve this?
If it should matter I use Matlab R2012a.
Best regards, dm
  1 件のコメント
Henrik
Henrik 2016 年 7 月 6 日
Could be because "exist" is looking for a .m file when you don't specify the fileformat. If you instead write ~exist('mandrill.mat','file') it should work.

サインインしてコメントする。

採用された回答

dm
dm 2012 年 5 月 8 日
Always too fast to ask. Seems like just adding the extension works fine, e.g. exist('mandrill.mat') returns 2.
Problem solved.
  1 件のコメント
Jan
Jan 2012 年 5 月 8 日
It is recommended to specify the 2nd parameter for EXIST in every case. Otherwise EXIST could be very slow and the result can be surprising, e.g. if you have a folder of the same name.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by