Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

How do I find output as the path of any input stored in cells?

1 Ansicht (letzte 30 Tage)
kd p
kd p am 3 Dez. 2017
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
Suppose I have the main folder 'X' which has a subfolder 'a'. now a is like a linear array with n elements. Now picking any random element out of it, the output should show the path i.e, X\a\n. Like 'a' there would be columnar till z. So it would be like a rectangular matrix. Need urgent help with this
  7 Kommentare
kd p
kd p am 4 Dez. 2017
Pardon me @Walter. Actually, I had a deadline and I'm new here.
kd p
kd p am 4 Dez. 2017
It is analogous to a subfolder. I used the word to describe the paths as output. Input would be like I said in the image, the output would be just the path of the element of the desired position.

Antworten (1)

Walter Roberson
Walter Roberson am 4 Dez. 2017
projectdir = fullfile('X', 'a');
dinfo = dir( projectdir );
dinfo(ismember({dinfo.name}, {'.', '..'})) = []; %remove . and ..
numentries = length(dinfo);
random_entry_idx = randi(numentries);
random_entry_filename = dinfo(random_entry_idx).name;
random_name = fullfile(projectdir, random_entry_filename);
  3 Kommentare
Walter Roberson
Walter Roberson am 5 Dez. 2017
Bearbeitet: Walter Roberson am 5 Dez. 2017
projectdir = fullfile('X', 'a');
if ~exist(projectdir, 'dir')
error('Folder "%s" does not exist relative to here', projectdir);
end
dinfo = dir( projectdir );
dinfo(ismember({dinfo.name}, {'.', '..'})) = []; %remove . and ..
numentries = length(dinfo);
if numentries == 0
error('Folder "%s" exists but has no files in it', projectdir);
end
random_entry_idx = randi(numentries);
random_entry_filename = dinfo(random_entry_idx).name;
random_name = fullfile(projectdir, random_entry_filename);
kd p
kd p am 5 Dez. 2017
Thank You, Walter. Could you kindly say what does the "remove '.' and '..' parts mean? Like I have to edit something in it or totally remove them? And besides, the code is showing error in the output

Diese Frage ist geschlossen.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by