我有大数组P
,它在每次迭代中改变大小和值。我需要能够更改输出数组的标题以匹配给定的迭代,即对于bin 1.4,我希望输出为p1.4或p14。
有人可以帮忙吗?
for bin = 1:0.1:2;
rows = find(DAT(:,27) > bin);
p{bin} = DAT(rows,:);
end
答案 0 :(得分:4)
如果我理解正确,代码是
for bin = 1:0.1:2;
rows = find(DAT(:,27) > bin);
current_p = DAT(rows,:);
eval(sprintf('p%0.f=current_p;', bin * 10));
end
但你为什么需要这个呢?考虑使用像containers.Map:
这样的更智能的容器p = containers.Map('KeyType', 'double', 'ValueType', 'double')
for bin = 1:0.1:2
rows = find(DAT(:,27) > bin);
p(bin) = DAT(rows,:);
end
disp(p(1.2))
它可能更方便。
答案 1 :(得分:1)
怎么样
bins = 1:0.1:2;
for ii = 1: numel(bins)
bin = bins(ii);
rows = find( DAT(:,27) > bin );
p{ii} = DAT(rows,:);
end