cell array indexing oddity
Ältere Kommentare anzeigen
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 Kommentare
Walter Roberson
am 29 Jul. 2021
Could you confirm that you want 2:2:end, every other row "skipping one each time", and not 2:end (every row skipping one row, namely row 1) ?
imported_data{1,1} is not necessarily the same datatype as the other entries in the cell.
imported_data{2:2:end,7}
Could you confirm that is what you are using? If there are at least 4 rows, that would be "cell expansion", resulting in a "comma separated list" of values, rather than a single value. You would often then need to capture the values somehow, such as {imported_data{2:2:end,7}} or vertcat(imported_data{2:2:end,7}) or horzcat(imported_data{2:2:end,7})
Robert Scott
am 29 Jul. 2021
You're going to have to demonstrate a working example of your problem.
A = num2cell(reshape(1:70,10,[]))
vertcat(A{2:2:end,7})
Robert Scott
am 29 Jul. 2021
Robert Scott
am 29 Jul. 2021
Bearbeitet: Robert Scott
am 29 Jul. 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.
Antworten (1)
Image Analyst
am 29 Jul. 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
Kategorien
Mehr zu Logical finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!