cell array indexing oddity
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
i have a large cell array of type cell
when i do this
test{2:2:end,7} i get back cells
when i do this i get back ints that are in the cell
test{1,1}
Its very frustrating, I wanted to access all the rows from 2 to the end skipping one in the midding of col 7
Why is that so hard?
It works for a single instance but cant do it in a vectorized form
6 comentarios
DGM
el 29 de Jul. de 2021
A = num2cell(reshape(1:70,10,[]))
A{2:2:end,7} % output is multiple scalars
vertcat(A{2:2:end,7}) % output is a single column vector
You need to deal with the fact that that expression has multiple outputs.
Respuestas (1)
Image Analyst
el 29 de Jul. de 2021
I know you said you tried using cell2mat(), but you must have not used it correctly. Try using cell2mat() like this:
test = num2cell(reshape(1:80,10,[])) % 10 rows by 8 columns
% Take contents of 7th column and even numbered rows.
% 7th column has 10 elements.
out = cell2mat(test(:,7)); % Get 7th column.
out = out(2:2:end) % Every other element to give 5 elements.
whos test
whos out
0 comentarios
Ver también
Categorías
Más información sobre Data Type Conversion 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!