2014-12-04 5 views
0

저는 컴퓨터의 데이터 로깅과 연료 전지의 테스트 벤치에있는 다른 데이터 세트에서 얻은 커다란 데이터 세트를 가지고 있습니다.matlab에있는 데이터 세트에서 특정 양의 행 제거하기

내 컴퓨터가 최대 5 Hz를 기록 할 수 있기 때문에 벤치 마크가 10 Hz로 기록 될 수 있기 때문에 직면하는 문제는 데이터 사이에 동일한 시간이 있습니다.

예를 들어 데이터 세트가 100x1이고 또 다른 50x1이 10 초에 실행되지만. (홀수) 행을 삭제하고 100x1 데이터 세트의. (짝수) 행을 그대로두고 싶습니다. .

또는 컴퓨터를 2Hz로 로그온했지만 벤치가 여전히 10Hz라면 .1 .2 .3 .4 및 .6 .7 .8 .9를 제거하고 싶습니다. 그것 앞에있다.

+0

[mcve] (http://stackoverflow.com/help/mcve)를 게시하십시오. 도움이된다면 유용한 답을 얻을 수있는 가능성을 크게 높일 것입니다. – kkuilla

+0

코드를 작성하는 방법을 잘 모르겠습니다. –

답변

0

@kkuilla가 언급했듯이 예제없이 대답하기가 어렵습니다.

의견에서 언급 한 바와 같이
x = rand(100,1); %Generate sample data 
oddsubset = x(1:2:100); %Sample odd numbered points 
evensubset = x(2:2:100); %Sample even numbered points 
twohertzsubset = x(1:5:100); % Sample every 5th point 

, 이들의도 원래 변수에 할당 할 수 있습니다 :

는 여기에 당신이 찾고있는 생각의 기회입니다. 위의 예에서 재 할당은 여러 사례를보다 쉽게 ​​지원하기 위해 수행되었습니다.

x = x(1:2:100); % Keep only odd numbered points and overwrites the original variable 
+0

고마워. 내가 생각하기에 이것은 내가 원했던 것 같지만 포인트를 삭제하는 대신 새로운 배열을 만들어야한다는 생각이 들었다. –

+0

새 어레이를 만들 필요는 없습니다. 어레이 자체에 할당 할 수도 있습니다. 'x = x (1 : 2 : 100); –

관련 문제