Problems with indexing into an array with nan (indexing on 2 variables)
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi All,
I'm having trouble using a logical variable ( Bandphase_logical = 9x5272240 logical) to find "true" events in another variable ( bandphase = 3x5272240 single). I think part of my problem is that the "bandphase" variable contains NaNs and I am trying to index over 2 different variables (see below).
"Bandphase_logical" contains 1's where an event occurs across a time series (5272240 samples). "bandphase" contains radian values across the entire timeseries (5272240 samples). Each row contains different frequency bands, and has a "NaN" where that sample does that have a frequency.
I'd like to do something along the lines of (I'd to create a loop where the bandphase variable changes adaptively with how many rows it has and same with the Bandphase_logical variable [e.g.: if bandphase had 5 rows and Bandphase_logical had 12 rows]):
bandphase(1,:)(Bandphase_logical(1,:)
bandphase(1,:)(Bandphase_logical(2,:)
.
.
bandphase(1,:)(Bandphase_logical(9,:)
bandphase(2,:)(Bandphase_logical(1,:)
bandphase(2,:)(Bandphase_logical(2,:)
.
.
bandphase(2,:)(Bandphase_logical(9,:)
bandphase(3,:)(Bandphase_logical(1,:)
bandphase(3,:)(Bandphase_logical(2,:)
.
.
bandphase(3,:)(Bandphase_logical(9,:)
I'd greatly appreciate any help! I'm thoroughly confused.
PK
0 comentarios
Respuesta aceptada
Stephen23
el 23 de Ag. de 2018
Editada: Stephen23
el 23 de Ag. de 2018
for ii = 1:size(bandphase,1)
for jj = 1:size(Bandphase_logical,1)
tmp = bandphase(ii,:);
tmp(Bandphase_logical(jj,:))
end
end
To store the output (of different sizes) use a cell array:
S = [size(bandphase,1),size(Bandphase_logical,1)];
C = cell(S);
for ii = 1:S(1)
for jj = 1:S(2)
tmp = bandphase(ii,:);
C{ii,jj} = tmp(Bandphase_logical(jj,:))
end
end
mat = padcat(C{:})
5 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrix Indexing 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!