how to find the index?

Hi all,
I am facing a trouble in extracting the indecies from the 3rd dimension of matrix using 'find' function.
for example : time is 251 * 28 * 20, where 20 is the time.
index = find(time>=datenum(2019,02,01)& time<=datenum(2019,02,07));
any help will be apprecited

 Accepted Answer

Ameer Hamza
Ameer Hamza on 5 Nov 2020
Edited: Ameer Hamza on 5 Nov 2020
By default, find() return linear indexes. To convert them to the dimension subscripts, you ind2sub()
index = find(time>=datenum(2019,02,01)& time<=datenum(2019,02,07));
[r, c, p] = ind2sub(size(time), index)
'p' is location in 3rd dimension.

5 Comments

thank you Ameer, but i get an empty index output :(
Should i run it over the third dim?
How the matrix 'time' is defined? Can you share it in a .mat file.
It is attached.
I don't get empty output on running this code. The output on my system is attached.
after checking with what I have, it is working!!
The problem is it was taking another set.
Thank you very much Ameer.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 5 Nov 2020

Commented:

on 5 Nov 2020

Community Treasure Hunt

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

Start Hunting!