数学の問題をシミュレーションするために、acプログラムをmatlabに移植しています。すべてのコードをmatlabで書き直しましたが、1つのループで時間がかかりすぎることがわかりました。forステートメントを使用する代わりに以下を計算するより良い方法があるかどうかわかりません
構造内に約1000個の行列(すべて同じ次元)が定義されています
A {1} = matrix1 A {2} = matrix2 ... A {1000} = matrix1000
Bは、A{n}と同じ次元の定数行列です。
A {n}とBの要素ごとの生成を計算し、結果のすべての要素の合計を次のように返します。
for k=1:1000
AllSum(k) = sum(sum(A{k}.*B))
end
Aのサイズはパラメータによって異なります。通常のサイズは300x300です。上記のループを1回実行すると、速度は問題ありません。ただし、そのループは何度も呼び出される別のブロック内で実行されるため、すべての合計を見つけるのに非常に長い時間がかかります。それを後押しする方法はあるのだろうか。ありがとう