我正在将 ac 程序移植到 matlab 以模拟一些数学问题。我在 matlab 中重写了所有代码,但我发现在一个循环中花费了太多时间。我不知道是否有更好的方法来计算以下而不是使用 for 语句
我在一个结构中定义了大约 1000 个矩阵(所有相同的维度)
A{1} = 矩阵1 A{2} = 矩阵2 ... A{1000} = 矩阵1000
B 是与 A{n} 维数相同的常数矩阵
我想计算 A{n} 和 B 的逐元素生成,并将所有结果元素的总和返回到
for k=1:1000
AllSum(k) = sum(sum(A{k}.*B))
end
A 的大小取决于参数,典型大小为 300x300。如果我运行一次上述循环,速度还可以。但是该循环将在另一个块中执行,该块将被调用多次,因此需要很长时间才能找到所有总和。我想知道有没有什么办法可以提升它。谢谢