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 件のコメント

Triveni
Triveni 2016 年 2 月 22 日
try
Cell_P{:}
Matthew
Matthew 2016 年 2 月 22 日
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);

サインインしてコメントする。

 採用された回答

Stephen23
Stephen23 2016 年 2 月 22 日
編集済み: Stephen23 2016 年 2 月 22 日

0 投票

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

1 件のコメント

Lunatix
Lunatix 2016 年 2 月 23 日
Oh my god! thanks! I don't know how, but works!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMultidimensional Arrays についてさらに検索

タグ

質問済み:

2016 年 2 月 22 日

コメント済み:

2016 年 2 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by