我有一个大数组P
,它在每次迭代中都会改变大小和值。我需要能够更改输出数组的标题以匹配给定的迭代,即对于 bin 1.4,我希望输出为 p1.4 或 p14。
任何人都可以帮忙吗?
for bin = 1:0.1:2;
rows = find(DAT(:,27) > bin);
p{bin} = DAT(rows,:);
end
如果我理解正确,代码是
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))
可能更方便。
怎么样
bins = 1:0.1:2;
for ii = 1: numel(bins)
bin = bins(ii);
rows = find( DAT(:,27) > bin );
p{ii} = DAT(rows,:);
end