How to get specific values from matrix in column 1, based on values in other columns?
18 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Natasha Taylor
el 19 de Ag. de 2020
Comentada: Natasha Taylor
el 19 de Ag. de 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?
0 comentarios
Respuesta aceptada
SAA
el 19 de Ag. de 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.
Más respuestas (1)
Binbin Qi
el 19 de Ag. de 2020
clear;clc;close all
load sub-01_T2_planktimes
R = accumarray(sub01T2(:,2:3)+1,sub01T2(:,1),[], @(x){x});
R{2,2}
ans =
11.5500
25.2300
282.0400
Ver también
Categorías
Más información sobre Multidimensional Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!