Row-wise concatenation of a cell array
11 次查看(过去 30 天)
显示 更早的评论
Apologies for what may be a banal question, but I'm having trouble with the following:
I'm writing code that involves tracking paths and filenames for 1-100 files, which I'm doing with a 2 X N (N = number of files) cell array, where the first row contains the path(s) and the second row contains the filename(s). As entries in the same column represent a single file, I need a way to concatenate every pair of entries (:,N) to assemble full paths in another cell array. Any suggestions on how best to do this (without loops, which I'm trying to avoid, unless I shouldn't be)?
Thanks!
-Davis
Thanks!
0 个评论
回答(1 个)
Andrei Bobrov
2011-12-22
try this code, I can not test it, now do not have access to MATLAB
data - your cell array (size 2xN)
out = arrayfun(@(i1)fullfile(data{:,i1}),(1:size(data,2))','un',0);
5 个评论
Neon Argentus
2020-5-15
For a data cell containing {'File_name', 'File_extention'} which is Nx2, then you can create a single-column cell {'File_name.File_extention'} at Nx1 with
= arrayfun(@(row)[(data{row,:})],(1:size(data,1))','UniformOutput', false);
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!