how to find nearest date and its corresponding value !
조회 수: 4 (최근 30일)
이전 댓글 표시
Hi,
I have one date/time array(A). and another mat file (AOD) which has first column of date/time and second column has values.
I need find date/time from (AOD) which is nearest to date/time of (A) and the correspoding values from AOD to that date.
and if it find two dates near to date/time from A(for eg two minutes earlier and two minutes later ). it should take earilier datetime !
In my result matrix I should have first column of date/time from file (A) and second column should be values from AOD which were measured at time somewhere near to date/time first colum !
i hope you understand my question. I am adding those two files here.
pardon my english !
댓글 수: 2
Turlough Hughes
2019년 10월 16일
Do you want to round the data to the nearest minute in that case?
If you take times in seconds there are no cases where a time in A is midway between two times in AOD.
채택된 답변
Andrei Bobrov
2019년 10월 16일
load('date.mat');
load('AOD.mat');
d = datetime(A,'ConvertFrom','datenum');
[lo,i] = ismembertol(AOD_440(:,1),A,1,'DataScale',1/8/60);
TT_out = array2timetable(AOD_440(lo,2),'RowTimes',d(i(lo)),'VariableNames',{'data'});
댓글 수: 3
Andrei Bobrov
2019년 10월 17일
편집: Andrei Bobrov
2019년 10월 17일
[~,i] = min(abs(AOD_440(:,1) - A(:)));
d = datetime(A,'ConvertFrom','datenum');
TT_out = array2timetable(AOD_440(i,2),'RowTimes',d,'VariableNames',{'data'});
or
T = timetable(AOD_440(:,2),'RowTimes',datetime(AOD_440(:,1),'ConvertFrom','datenum'));
d = datetime(A,'ConvertFrom','datenum');
TT_out = retime(T,d,'nearest');
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Propagation and Channel Models에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!