2014-04-14 3 views
1

셀 배열 raweeg 각 셀은 첫 번째 열에 시간대가 있고 두 번째 열에 일부 마커가있는 행렬이라고 가정 해 보겠습니다. 마커가 -1이 아닌 시점을 저장하는 벡터를 만들려고합니다. 나는 크기가 1x1 인 0의 벡터를 만들고 루프에 다음 값을 추가하는 비 우아하고 (작동하지 않는) 방법을 찾았습니다.루프의 벡터에 요소를 추가하는 방법

P .: 정확히 96 개의 "- 1"이 아닌 값과 해당 시간 지점이 있습니다.

startpoints = zeros(1,1); 

for i = length(raweeg{1,1}(:,1)) 
    if raweeg{1,1}(i,2) ~= -1 
    startpoints(end+1,1) = raweeg{1,1}(i,1); 
    end 
end 

raweeg 주어진 셀에 대해,이처럼

+0

행운을 보냅니다. 오류는 '1 :'이 누락 된 것으로 식별되며 벡터화 된 솔루션이 제공됩니다. 작동하는 경우 동의하십시오. 감사! :) – chappjc

+0

고마워요! 나는 시스템에 익숙하지 않고 약간 혼란 스럽다. – user3503398

답변

1

에게 벡터화를 감사 :

startpoints = raweeg{1,1}(raweeg{1,1}(:,2) ~= -1, 1); 

이이 logical indexing이라고합니다.

마커가 부동 소수점 계산으로 생성되지 않았거나 비교가 자주 실패 할 가능성이 높습니다.


P.

for i = 1:length(raweeg{1,1}(:,1))

또는 더 나은, for i = 1:size(raweeg{1,1},1)을 : 코드에서 문제가되어야 for 루프 문이다.

"1:"부분을 제외하고는 마지막 반복 인 하나의 반복 만 있습니다.

관련 문제