【发布时间】:2020-03-29 22:11:46
【问题描述】:
有没有办法更快地做到这一点?我需要运行这个计算大约一百万次。此外,矩阵 B 的大小为 20x150x250。
给定一个大小为1xsize_w 的向量dummy_t、标量m、标量k,d 和一个大小与B 相同的矩阵A。对于w,使得dummy_t(w) 小于m,我计算这个数量。否则数量保持不变。
for w=1:size_w
if dummy_t(w) <= m
B(dummy_t(w),w,k) = B(dummy_t(w),w,k) - d*A(dummy_t(w),w,k) ;
end
end
【问题讨论】:
-
不应该是
if dummy_t(w) <= m吗? -
什么是
cprime?请阅读minimal reproducible example,然后阅读edit您的问题。 -
B(dummy_t,w,k) = B(dummy_t,w,k)-d*A(dummy_t,w,k).*(dummy_t<=m) -
@David 你可能是这个意思: B(dummy_t(w),w,k) = B(dummy_t,w,k)-d*A(dummy_t(w),w,k) .*(dummy_t(w)
-
不,但我应该有
:而不是w。
标签: performance matlab loops