八度:2个矩阵如何以这种方式成倍增加?

时间:2014-08-10 13:39:08

标签: octave

我想知道在不使用任何“for”循环(即矢量化)的情况下,以下两个矩阵是否可以在Octave中相乘:

D是具有m列的3×m矩阵,例如[d1c,d2c,d3c,d4c](其中m = 4,d * c表示3 x 1列向量)。

A是具有m行的m×2矩阵,例如[a1r;a2r;a3r;a4r](其中a * r表示1 x 2行向量)。

我想计算输出:

result = d1c * a1r + d2c * a2r + d3c * a3r + d4c * a4r;

其中每个d*c * a*r是一个3 x 2矩阵。

我想知道我可以将D视为具有矩阵/向量元素d*c的行向量,将A视为具有矩阵/向量元素a*r的列向量,然后执行特殊计算矩阵乘法:

result = D ?*? A; where "?*?" means a special multiplication as specified above

因此,当m很大时,这种向量化乘法可以更快地完成工作。

Octave中是否有内置函数/方法让我以这种方式完成任务?

任何想法。谢谢你的任何建议。

1 个答案:

答案 0 :(得分:0)

经过一些研究,我发现,实际上,正常的矩阵乘法会为我完成任务。那就是:

result = D * A;   # just use the normal matrix multiplication in Octave

不需要特殊的矩阵乘法。