我有一个名为 bin_this 的变量元胞数组。我需要遍历它,访问每个变量,将数据分箱到该变量中,然后将分箱数据放入新创建的变量中。因此,如果数组包含 a、b、c....等。我需要创建一组新的分级变量 a_bin、b_bin、c_bin 等,而不破坏旧变量
问问题
214 次
1 回答
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
于 2013-05-17T22:38:05.213 回答