Loop filenames into cell array that has numbers
Show older comments
Hi I am trying to create a cell array that has strings in the first column and numbers in the second but I keep getting a conversion error
mat = dir('*.mat');
nmat = length(mat);
new = cell(nmat,2);
for q = 1:nmat
matdata = load(mat(q).name);
if isfield(matdata,'DATA') && isfield(matdata.DATA, 'FastResp')
new(q,1) = {mat(q).name};
new(q,2) = matdata.DATA.FastResp.counter;
end
end
Answers (1)
Rik
on 27 Jan 2018
mat = dir('*.mat');
nmat = length(mat);
new = cell(nmat,2);
for q = 1:nmat
matdata = load(mat(q).name);
if isfield(matdata,'DATA') && isfield(matdata.DATA, 'FastResp')
new{q,1} = mat(q).name;
if iscell(matdata.DATA.FastResp.counter)
new(q,2) = matdata.DATA.FastResp.counter;
else
new{q,2} = matdata.DATA.FastResp.counter;
end
end
end
Note that there might be a lot of empty cells if that check for fields fails.
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!