How do I remove individual columns from each cell in cell array?

1 vue (au cours des 30 derniers jours)
lil brain
lil brain le 27 Fév 2022
Réponse apportée : Voss le 27 Fév 2022
Hi,
I have this cell array "baskets_data" where each cell contains a matrix that is 21 columns long.
baskets_data =
19×1 cell array
{1617×21 cell}
...
For every cell in this cell array, I want to select 9 pre-specified columns and leave out the rest. Namely, 1-3, 8-10 and 15-17.
I have written this code:
for i = 1:length(baskets_data)
baskets_xyz = baskets_data{i}(:,[1:3,8:10,15:17]);
end
But as a result I only get a baskets_xyz = 979×9 cell array.
How can I get the cell array to look as follows:
baskets_xyz =
19×1 cell array
{1617×9 cell}
...
Thank you!

Réponse acceptée

Voss
Voss le 27 Fév 2022
load('baskets_data.mat');
disp(baskets_data);
{1617×21 cell} { 846×21 cell} {3812×21 cell} { 530×21 cell} {5463×21 cell} { 601×21 cell} { 998×21 cell} {1125×21 cell} { 645×21 cell} { 955×21 cell} {1747×21 cell} { 965×21 cell} { 546×21 cell} {1211×21 cell} {3023×21 cell} { 941×21 cell} { 915×21 cell} {2942×21 cell} { 979×21 cell}
baskets_xyz = cell(size(baskets_data));
for i = 1:numel(baskets_data)
baskets_xyz{i} = baskets_data{i}(:,[1:3,8:10,15:17]);
end
disp(baskets_xyz);
{1617×9 cell} { 846×9 cell} {3812×9 cell} { 530×9 cell} {5463×9 cell} { 601×9 cell} { 998×9 cell} {1125×9 cell} { 645×9 cell} { 955×9 cell} {1747×9 cell} { 965×9 cell} { 546×9 cell} {1211×9 cell} {3023×9 cell} { 941×9 cell} { 915×9 cell} {2942×9 cell} { 979×9 cell}

Plus de réponses (0)

Catégories

En savoir plus sur Data Types dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by