我有一个名为bin_this的变量单元格数组。我需要遍历它,访问每个变量,bin中该变量中的数据,并将binned数据放入新创建的变量中。 所以如果数组包含a,b,c ....等。 我需要创建一组新的分箱变量 a_bin,b_bin,c_bin等 没有摧毁旧的
答案 0 :(得分:0)
如果你的数据是一个单元格数组,这里是如何循环它:
bin_this = {[1, 2, 3, 4],[5, 6, 7, 6],[1, 2, 3, 7]} % example data
s = size(bin_this)
binnedResults = cell(s);
for t = 1:s(2)
data = bin_this{t}; % access data
binnedData = hist(data);
binnedResults{t} = binnedData; %store data
end
如果您的数据是结构数组,并且您想要为其添加字段,请按以下步骤操作:
bin_this = struct('a', [1, 2, 3, 4], 'b', [5, 6, 7, 6], 'c', [1, 2, ...
3, 7]);
newFields = struct('a','a_bin','b','b_bin','c','c_bin'); % define the new field names
fields = fieldnames(bin_this); % get the field names from bin_this
for t = 1:length(fields)
f = fields{t};
data = bin_this.(f); % get the data with a particular field name
binnedData = hist(data);
newField = newFields.(f); % get the new field name
bin_this.(newField) = binnedData; % add the binned data to the original structure with
% a new field name.
end