这是一个非常基本的问题。我有一个数组“relevant_IDs”。当变量类别为1时,我需要在其中存储1到100个值。类似地,当类别为2时,101到200。因此,当类别为10时,直到901到1000。 我已经为它编写了代码,但它没有插入100个值。
Code:
for i=1: 1000
if(category==1 && i>0 && i< 101)
relevant_IDs(i) = i;
end
if(category==2 && i>100 && i< 201)
relevant_IDs(i) = i;
end
if(category==3 && i>200 && i< 301)
relevant_IDs(i) = i;
end
if(category==4 && i>300 && i< 401)
relevant_IDs(i) = i;
end
if(category==5 && i>400 && i< 501)
relevant_IDs(i) = i;
end
if(category==6 && i>500 && i< 601)
relevant_IDs(i) = i;
end
if(category==7 && i>600 && i< 701)
relevant_IDs(i) = i;
end
if(category==8 && i>700 && i< 801)
relevant_IDs(i) = i;
end
if(category==9 && i>800 && i< 901)
relevant_IDs(i) = i;
end
if(category==10 && i>900 && i< 1001)
relevant_IDs(i) = i;
end
end
答案 0 :(得分:2)
这样的事情应该有效并且更快:
relevant_IDs = (category - 1) * 100 + (1:100);
答案 1 :(得分:1)
您也可以生成整个事物(数字从1到1000),然后使用category
值作为索引索引到矩阵中以获得所需的relevant_IDs
:
relevant_IDs = reshape(1:1000, [100,10]).';
relevant_IDs(category,:) % this will return a 1x100 row vector
% (category is a number from 1 to 10)