How look for value inside Cell_array?

I've a cell_array of data, the dimension is 'Cell_P' 10x1, inside every cell there is a matrix 25x16. I need six columns of the matrix, and I can find these because I know the values of parameters inside. I need to make a new cell_array with inside 10 matrix 25x6.
I would like insert as input six values, identify the columns where the values are, create a new cell_array with just that column.
How can I do it?

2 Commenti

An example of inputs and desired outputs would be helpful.
That said, I would guess that something like this is what you're going for, tweaked as appropriate for your exact data types and structures.
%If your inputs are numerical
cellIndex = cellfun(@(x) ismember(x,myInputValues),inputCellArray(1,:));
outputArray = inputCellArray(:,cellIndex);
%if your inputs are strings
cellIndex = ismember(inputCellArray(1,:),myInputValues);
outputArray = inputCellArray(:,cellIndex);

Accedi per commentare.

 Risposta accettata

Stephen23
Stephen23 il 22 Feb 2016
Modificato: Stephen23 il 22 Feb 2016
Try this:
% fake data:
for k = 10:-1:1
inp{k} = repmat(randperm(16),25,1);
end
% extract only columns that contain an element in vec:
vec = [2,3,6,9,11,14];
out = inp;
for k = 1:numel(out)
out{k} = out{k}(:,any(ismember(out{k},vec),1));
end

Più risposte (0)

Richiesto:

il 22 Feb 2016

Commentato:

il 23 Feb 2016

Community Treasure Hunt

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

Start Hunting!

Translated by