フィルターのクリア

how to process cell array

1 回表示 (過去 30 日間)
zhang
zhang 2012 年 8 月 6 日
Hi guys
I have two cell arrays A, B.
A = {[1 -1 1], [2 3 6 5]};
B = {[2 1], [1 4]};
B is the index for A.
I'd like to have a certain function A(B) give me
C = {[-1 1], [2 5]}.
Aside from cellfun, Is there any other ways to do this?
Thanks,
  2 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 8 月 6 日
what do you mean B is the index of A? and how C is related to A and B
zhang
zhang 2012 年 8 月 6 日
C{i} = A{i}(B{i})

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

回答 (1 件)

Honglei Chen
Honglei Chen 2012 年 8 月 6 日
編集済み: Honglei Chen 2012 年 8 月 6 日
c = cellfun(@(a,b) a(b),A,B,'UniformOutput',false)
or
c = arrayfun(@(x)A{x}(B{x}),1:length(A),'UniformOutput',false)
  2 件のコメント
Walter Roberson
Walter Roberson 2012 年 8 月 6 日
zhang specifically asked "aside from cellfun"
Honglei Chen
Honglei Chen 2012 年 8 月 6 日
編集済み: Honglei Chen 2012 年 8 月 6 日
Added a solution with arrayfun, but I don't know if arrayfun is ok

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

カテゴリ

Help Center および File ExchangeData Types についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by