randomly access a file in matlab

f = dir( myfolder ); ridx = randi(numel(f)); disp( ['Chosen file is: ' f(ridx).name] );
when I run this code for 5 files in the directory the numel shows me 7 instead of 5 with two files with the names of '.' and '.." how can I ommit these two files??

Answers (2)

Please specify the type of data you are reading from the current folder in this line.
f = dir(['myfolder\*.jpg']);
or any other formats.
"." is the current folder, while ".." is the parent folder. You can exclude them explicitly:
f = dir(myfolder);
name = {f.name};
f(strcmp(name, '.') || strcmp(name, '..')) = [];

Categories

Asked:

on 17 Aug 2013

Community Treasure Hunt

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

Start Hunting!