2017-02-26 1 views
-1

나는 eta (54 × 1800)이라는 매트릭스를 가지고있다.매트릭스에서 선택 인덱스 기본 열을 선택하는 방법은 무엇입니까?

result = eta(:, 86:90:1800); 

을하지만, 여기에 나는 연속 5 열86,87,88,89,90 각각은 차이 90를 선택해야합니다 : 특정 행과 열을 선택 일반적으로 우리가 사용합니다. 예 : 86, 87, 88, 89, 90 이후에 176, 177, 178, 179, 180을 받고 싶습니다.

result=eta(:,[86:90:1800,87:90:1800,88:90:1800,89:90:1800,90:90:1800]); 

그러나 연속 컬럼의 결과를 제공하지 않습니다

나는이 시도.

+1

게시물의 형식을 올바르게 지정할 수 있습니까? 이 텍스트 벽을 읽는 것은 어렵습니다. – Adriaan

답변

1

첫 번째 인덱스가 a (= 86), b (= 1800)와 차이가 d (= 90), 당신은 할 것입니다 추출하는 영역의 끝을 경우 :

s = a:d:b; % create all start indices 
k = cumsum([s; ones(4,numel(s))],1) % compute all consecutive indices 
result = eta(:,k(:)); % exctract all indeces using linear index for the column subscript 
+0

@thanks Sardar usama, Andriaan and M usman, –

0

노력이

mat=rand(54,1800); %your eta matrix 
mywish=[86:1:90]; %your wish to select consective columns 
for i=1:length(mywish) 
    results=mat(:,mywish(i):90:1800) %getting the column interval 90 
end 
관련 문제