How to merge multiple xyz files into 1 large array
4 views (last 30 days)
Show older comments
I have a set of 501 XYZ files which I load in as
for k = 1:501
% AIS SEC data
AIS_SEC{k} = importdata(['AIS_SEC(' num2str(k) ').xyz']);
end
This generates an 1x501 cell array in which all data are stored (see attachment). How can I merge all these data to have 1 large XYZ file?
For example, to concentrate X data, I tried:
for k = 1:501
my_field = sprintf('X%d', k);
variable.(my_field) = ([AIS_SEC{1,k}.data(:,1)]);
end
BUT: Dot indexing is not supported for variables of this type.
Thanks!
0 Comments
Answers (1)
meghannmarie
on 21 Oct 2019
Not all the cells in AIS_SEC are structures. For example AIS_SEC{1,33} is a cell array with a string in it.
You can skip those cells:
for k = 1:501
my_field = sprintf('X%d',k);
x = AIS_SEC{1,k};
if isstruct(x)
variable.(my_field) = ([x.data(:,1)]);
end
end
0 Comments
See Also
Categories
Find more on Whos 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!