2014-10-14 3 views
0

이것은 정말 기본적인 질문입니다. 배열에 "relevant_IDs"가 있습니다. 변수 카테고리가 1 일 때 1에서 100까지의 값을 저장해야합니다. 카테고리가 2 인 경우 마찬가지로 101에서 200까지입니다. 따라서 카테고리가 10 일 때 901에서 1000까지입니다. 코드를 작성했지만 100을 삽입하지 않았습니다. 그것의 가치. 이 같은matlab : 배열에 요소 삽입

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 

답변

2

뭔가 일을하고해야 더 빨리 : 인덱스로 category 값을 사용하여 매트릭스에

relevant_IDs = (category - 1) * 100 + (1:100); 
1

또한 단지 전체를 생성 할 수 (1 ~ 1000 번호), 다음 인덱스 원하는 것을 얻으려면 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)