2

各要素がセル配列自体 [9x2] であるセル配列 A [1x80] があります。A の選択されたセルのグループを表すベクトル B もあり、選択された各セルの要素 {2,2} を抽出したいと考えています。

シンプルにやってみた

A(1,B){2,2}

しかし、もちろんうまくいきません....助けてもらえますか?

4

3 に答える 3

2

この回答は @Dan のものと同じですが、必要に応じてパフォーマンスを向上させるために単純な for ループを使用します。

% If you know that the numel of elements returned by {2,2} will always be one:
nElem = numel(B);
ret(1,nElem)=0;

for k=1:nElem

  ret(k) = A{1,B(k)}{2,2}

end

次の答えは間違っています。B の最初の要素から {2,2} インデックスのみを返します。

subsref([A{1,B}],struct('type','{}','subs',{{2,2}}))

あなたがやっていることのように聞こえます( and を使用していませんcellfun。ループでこの操作を実行している場合は、遅いarrayfunため、より良いでしょう)

こちらsubsrefのドキュメントを参照してください

より長いパスは次のようになります。

temp = [A{1,B}]
temp{2,2}
于 2013-08-22T13:42:27.613 に答える