How to get specific values from matrix in column 1, based on values in other columns?

3 views (last 30 days)
Natasha Taylor
Natasha Taylor on 19 Aug 2020
Commented: Natasha Taylor on 19 Aug 2020
I have a matrix called sub01T2 (36x3 double)- this data is provided in the attachment;
0.47 0 1
11.55 1 1
17.98 1 0
25.23 1 1
38.35 1 0
65.73 2 1
119.34 2 0
153.61 2 1
200.19 2 0
282.04 1 1
309.26 0 0
I am trying to get the time values, which are in column 1 of my matrix. I have predefined the onset times by giving them column 2 value 1 and column 3 value of 1.
I was wondering how I can create a new array, that will just have the values from column 1 that has column 2 and 3 equal 1.
I tried;
narrow_onset = find(sub01T2(:,2)==1 & sub01T1(:,3)==1), but this only gives the row location, but I want the actual values from those rows from column.
I was wondering if someone could please help me figure out what I'm doing wrong here?

Accepted Answer

SAA
SAA on 19 Aug 2020
If I understood your question correctly this should work:
a = find(sub01T2(:,2)==1 & sub01T2(:,3)==1);
b = sub01T2(a,1);
you are getting the row that your value is in but you're not doing anyhting with it find only gives you an index.
  1 Comment
Natasha Taylor
Natasha Taylor on 19 Aug 2020
Yes, that is correct. I see, I didn't fully understand the find function.
Your answer is correct. Thank you so much!

Sign in to comment.

More Answers (1)

Community Treasure Hunt

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

Start Hunting!