【发布时间】:2013-08-28 18:25:39
【问题描述】:
我有一个矩阵A 和一个三维矩阵B。我想总结(i)
A(i,:)*B(i,:,:),
但i 没有循环。
【问题讨论】:
-
不确定这是否是您所需要的,但是如何:
M=bsxfun(@times,A(i,:),B(i,:,:)); sum(M(:))也许您可以展示如何使用循环来实现,然后我们可以看到如何对其进行矢量化。 -
有助于准确地给出矩阵的尺寸,然后我们可以发布更精确的答案。使用 bsxfun 可能是你最好的选择,就像 Dennis 使用的那样
-
@DennisJaheruddin,但我不想使用循环(在您的版本中由
i提供) -
@АлександрКуракин 您可能希望在最终结果中避免使用它们。但是,如果您没有准确地向我们展示您想要发生的事情,我们需要猜测您想要实现的目标。希望 Amro 能够在他的回答中做到这一点。
-
是的,我以我理解的方式发布了该问题的解决方案。如果不匹配,那么您需要进一步解释。无论哪种方式,我都会投票搁置,直到您明确表示您在问。
标签: matlab matrix octave vectorization matrix-multiplication