Check if time equals time frame

3 vues (au cours des 30 derniers jours)
Bas
Bas le 15 Nov 2016
Réponse apportée : Jan le 15 Nov 2016
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?

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Data Types dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by