2016-06-15 7 views
0

나는 배열의 0이 아닌 열의 배열을 가지는데, 이것은 엄청나게 증가하지만 간격으로 구분됩니다. 0이 아닌 열의 평균을 취할 필요가 있지만 나누기와 관련하여. 배열 (처음에 여분이 때 기본 신호의 변화이다) 별도로 평균 열 [1,2,3,4,5,6][7,8,9,10]배열을 끊어지지 않는 증가 시퀀스로 나누기

a = [2,3,4,5,6,8,9,10] 

I가 필요했다 예를 들어

.

이 코드 :

output = accumarray(cumsum([0; diff(a(:))] < 0)+1, a, [], @(x) {x})

감소 불거 증가하는 순서로 배열을 분할한다.

배열을 간격으로 점차 증가하는 시퀀스로 나누려면 어떻게해야합니까?

답변

3

알아 냈어!

output = accumarray(cumsum([0; diff(a(:))] > 1)+1, a, [], @(x) {x}) 

이 작업을 수행합니다.

diff (a (:))가 1보다 큰지 확인해야했습니다.