【发布时间】:2020-06-14 02:18:21
【问题描述】:
为了优化后续的嵌套循环,问题是如何处理对逐行求和的需求。
for i=1:N
for j=1:N
F(i,i)=(exp(-B(j,j))) * P(i,j)+ F(i,i);
end
end
具体来说,我想消除循环,根据这个solution 看起来是可以实现的,但问题是如何在每次迭代中存储F 的变化值。
我想出了这个主意:
for j=1:N
F(:)=(exp(-B(j,j))) * P(:,j)+ F(:);
end
使用此解决方案,F 将在每次迭代中被覆盖!!有什么想法吗?
【问题讨论】:
-
F、B和P的尺寸是多少?N的值是多少? -
@SardarUsama,所有矩阵都是
NxN和N=300。 -
你真的是指
F(i,i)=...吗?那永远不会为F的非对角元素分配任何值?那么为什么不将F设为向量呢?而且您只使用过B的对角线元素,对吗?
标签: matlab for-loop optimization