Azzera filtri
Azzera filtri

add string to matrix/ array in loop

2 visualizzazioni (ultimi 30 giorni)
D.
D. il 15 Apr 2011
I wrote this function to get the full paths of all files in a specific folder:
function [ paths ] = getPaths(folder)
%GETPATHS Get full path of files containing a given folder
filelist = dir(folder);
filenames = {filelist.name};
paths = zeros(numel(filenames),1);
for k=3:numel(filenames)
[pathstr, name, ext] = fileparts(filenames{k});
current_path = [folder pathstr name ext];
paths(k) = current_path;
end
end
I get the error message:
??? In an assignment A(I) = B, the number of elements in B and
I must be the same.
Error in ==> getPaths at 10
paths(k) = current_path;
How can I add string to matrix/ array in loop?

Risposta accettata

Oleg Komarov
Oleg Komarov il 15 Apr 2011
fldr = 'C:\Users\Oleg\Desktop\';
s = dir(fldr);
strcat(fldr, {s(~[s.isdir]).name})
  1 Commento
D.
D. il 18 Apr 2011
this works with a '\' between path and file:
fldr = 'C:\Users\Oleg\Desktop\';
s = dir(fldr);
strcat(fldr, '\', {s(~[s.isdir]).name})
thank you!

Accedi per commentare.

Più risposte (1)

Andrei Bobrov
Andrei Bobrov il 15 Apr 2011
can so
...
paths = cell(numel(filenames),1);
for k=3:numel(filenames)
[pathstr, name, ext] = fileparts(filenames{k});
paths(k) = {folder pathstr name ext};
end
...

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by