2016-11-09 18 views
0

1×10のAという名前のセル配列を作成しました。各要素には100×5の行列が含まれています。したがって、100x5の10個の行列が得られます。しかし、私はループにセル配列のすべての行列を配置したい。 Bが100x5行列である場合、Cは100x1ベクトル、cは定数であり、ループは次のようになります。エンドxでループ内のセル配列の要素から行列を減算する方法はありますか?

for t=1:100; 
    j=1:5; 
     x=c*inv((B(t,j)-A(t,j))*((B(t,j)-A(t,j))')*(A(t,j)-C(t,1)*ones(1,5)); 
    end; 
end; 

行列100x5の10個の要素を含有する1×10セルアレイを提供すべきです。

私は助けていただきありがとうございます。前もって感謝します!

+1

'A'はセル配列なので、どこかで' A {k} 'というセルを参照してはいけませんか?また、 'A'、' c'、 'B'、' C'の実例と、あなたが解決しようとしていることの数学的表現を投稿することも役に立ちます。 –

+0

それで、あなたはこれが次のようになるはずです:t = 1:100; j = 1:5; (B(t、j)-A {k(t、j)}))*(A(t、j) (t、j)-C(t、1)* ones(1,5)); end; end; – user7137145

答えて

0

質問が正しく理解されている場合は、セル配列へのアクセス方法を尋ねています。 iは、セル配列をインデックスします。次に、A{i}を呼び出すことによって、セル配列のi番目のエントリにアクセスできます。次に、あなたのコードは次のとおりです。

for i=1:10 
    for t=1:100 
     j=1:5 
      x{i}=c*inv((B(t,j)-A{i}(t,j))*((B(t,j)-A{i}(t,j))')*(A{i}(t,j)-C(t,1)*ones(1,5)); 
     end 
    end 
end 

あなたの問題について、あなたは行列表記でそれを書き込むことによってループの2つの中間を排除できるかどうかを考えてもよいでしょう。これは、最小自乗推定量((X'X)^(-1)*X'y)に似ていますが、要素ごとの逆数が私を捨てています。

関連する問題