我有大型数组P
,它在每次迭代中更改大小和值。我需要能够改变我的输出数组的标题以匹配给定的迭代,即对于bin 1.4我希望输出为p1.4或p14。更改for循环中每次迭代时的变量名称MATLAB
任何人都可以帮忙吗?
for bin = 1:0.1:2;
rows = find(DAT(:,27) > bin);
p{bin} = DAT(rows,:);
end
我有大型数组P
,它在每次迭代中更改大小和值。我需要能够改变我的输出数组的标题以匹配给定的迭代,即对于bin 1.4我希望输出为p1.4或p14。更改for循环中每次迭代时的变量名称MATLAB
任何人都可以帮忙吗?
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
但是,为什么你需要这个?考虑使用像容器这样的智能容器。地图:
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))
它可能更方便。
都很好。谢谢 – mallow 2013-03-14 14:58:29
怎么样
bins = 1:0.1:2;
for ii = 1: numel(bins)
bin = bins(ii);
rows = find(DAT(:,27) > bin);
p{ii} = DAT(rows,:);
end
'fprintf('p%.1f \ n',bin);'? – 2013-03-14 14:39:32
啊,变量名... – 2013-03-14 14:43:30