2014-02-13 4 views
0

나는 옥타브 반환 quantiles 만들 수 없습니다. 예 :옥타브 quantile 및 백분위

a = 1:15; 
quantile(a) 
ans= 1 2 3 4 5 6 ... 15 

내가 좋아하는 뭔가를 기대하는 동안 : 내가 prctile하려고하면

ans= 1.0 4.5 8.0 11.5 15.0 

같은 일이 (가). 문제는 무엇입니까? 안부, 헬보

답변

0

옥타브는 각 열의 값을 계산하려고 시도하고있었습니다. 입력 내용이 행 벡터이므로 각 열에는 요소가 하나만 있으므로 이상한 동작이 발생합니다. 차원 (세 번째 입력 인수)을 지정하거나 열 벡터 (x(:) 사용)를 전달하여이 문제를 해결할 수 있습니다.

분명히 이것은 이전의 Matlab 동작 이었지만 이후 변경되었으며 Octave는 첫 번째 비 - 싱글 톤 차원을 사용합니다 (bug #40736 참조). 아직 출시되지 않은 개발 버전을 사용중인 경우 :

quantile (1:15) 
ans = 

    1.0000 4.2500 8.0000 11.7500 15.0000 
2
a = (1:15)'; 
quantile(a) 
ans = 

    1.0000 
    4.2500 
    8.0000 
    11.7500 
    15.0000