2012-03-06 3 views
0

scatter (timesRefined, upProb) 여기서 timesRefined는 각 항목이 8:32와 같은 시간에 해당하는 문자열 인 셀 배열입니다. 21.122와 upProb는 단순히 셀 배열과 길이가 같은 숫자의 벡터입니다. 가장 편리한 방법은 무엇입니까?셀 배열에 대해 벡터 플로팅

답변

1

당신은 datenum

>> timesRefined = {'8:32:21.122','9:30:54.123'}; 
>> datenum(timesRefined) 
ans = 

      734869.355800023 
      734869.396459757 

결과 수는 시대에서 일 같은 날짜 표현으로 날짜의 숫자 표현으로 timesRefined 셀을 변환 할 수 있습니다. 당신은 일, 단지 시간과 관련, 어느 날 내에 포함 된 관찰 결과를 제공하지 않기 때문에, 당신은 단순히 datenum 출력의 소수 부분 수행 할 수 있습니다

>> datestr(mod(datenum(timesRefined),1)) 
ans = 

8:32 AM 
9:30 AM 

scater(mod(datenum(timesRefined),1),upProb)

편집을 수행합니다

으로 당신이 당신의 x 값으로 직접 datenum의 결과를 사용하여 사용할 수 Pursuit 지적 datetick('x','HH:MM:SS.FFF')

+1

날짜를 수정하는 대신'datetick ('x', 'HH : MM : SS.FFF')'를 사용하여 눈금 레이블을 조정할 수 있습니다. – Pursuit

+0

Thanks @Pursuit, 좋은 지적. 답변을 수정했습니다. – foglerit

0

strsplit from the Matlab file exchange이 도움이됩니다. 모든 값이 숫자 인 경우 매트릭스가 반환됩니다.

timestr = '8:32:21.122'; 
timenum = strsplit(timestr,':'); 
convmat = [60*60; 60; 1]; 
time_in_seconds = sum(timenum .* convmat); 
관련 문제