Check for existence of mat-file in search path

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 Comment

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.

Sign in to comment.

 Accepted Answer

dm
dm on 8 May 2012
Always too fast to ask. Seems like just adding the extension works fine, e.g. exist('mandrill.mat') returns 2.
Problem solved.

1 Comment

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.

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Asked:

dm
on 8 May 2012

Commented:

on 6 Jul 2016

Community Treasure Hunt

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

Start Hunting!