1
ネストされたセル配列でセル関数を使用できるかどうかを知りたいと思います。Matlabのネストされたセル配列のセル関数
私は3x3セルアレイABを持っているとしましょう。それぞれの要素は3x3セルアレイであり、各要素は例えば3x3マトリックスです。
A=cell(3,3);
AB=A;
for i=1:1:3
for j=1:1:3
AB{i,j}=cell(3,3)
end
end
私はその後、各マトリックスに操作をしたいので、セル配列の各要素の各要素(申し訳ありません、それは恐ろしい音)で、どのように機能するでしょうか?
あなたはこのようなもので、行列の行の合計を構築したい場合などは、だろう...
AB2=cellfun(@sum,AB);
または
AB2=cellfun(@sum,AB{:,:});
しかし、これは動作しません。私は匿名関数を使って複数の組み合わせを試みましたが、どちらもうまくいきませんでした。 これを行う方法はありますか、またはcellfunをループに入れる必要はありますか?
私はあなたの助けに感謝します。
アンナ
すばやく返信いただきありがとうございます。 私は最初のオプションで試してみましたが動作しますが、セル配列の2番目の部分で操作を続ける必要があります - セル配列 '{a、b、c、d}'について - cとdの要素。これを 'cell2mat'を使って以下の演算のための行列に変換したいのであれば、入れ子になったセル配列の形を保つ必要があり、' cell2mat'を使って2つの入れ子にした 'cellfun'を使うことができます「合計」の。 – AnnaGT
2番目のオプションが遅いと述べたので、これを行う方法は他にありますか?あるいは、セル配列が '{a、b、c、d}'の形をしている場合、 '{a、b}'を '[c、d]'を含むセル配列として保持する行列にcとdを変換する方法があります。 ? もう一度ご協力いただきありがとうございます。 – AnnaGT
@Annaあなたが何を意味するのか分かりません。申し訳ありません。おそらく小さな数値例が助けになるでしょう –