Hello,
I'm facing the following problem.
I have a matrix A(1000x1) containing time values in terms of time steps. I want to generate a matrix which identifies the events that fit within a certain time frame with respect to the time value in that row.
Example:
A(1,1)= 50
A(2,1)= 51
A(3,1)= 52
A(4,1)= 60
A(5,1)= 61
Now I want to generate a matrix B which shows the events that occur within the time frame A(1,1):(A(1,1)+4) in the first row of matrix B. And do that for every row in A. So B should be:
B(1,:)= [2 3]
B(2,:)= [3]
B(3,:)= []
B(4,:)= [5]
B(5,:)= []
Can anyone help me with this?

 채택된 답변

Jan
Jan 2016년 11월 15일

0 개 추천

B = cell(1, numel(A));
for k = 1:numel(A)
B{k} = find(and(A > A(k), A <= A(k) + 4));
end

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Types에 대해 자세히 알아보기

질문:

Bas
2016년 11월 15일

답변:

Jan
2016년 11월 15일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by