【发布时间】:2014-10-03 10:44:38
【问题描述】:
我想知道以下 2 个矩阵是否可以在 Octave 中以这种方式相乘而不使用任何“for”循环(即矢量化):
D 是具有 m 列的 3 x m 矩阵,例如[d1c,d2c,d3c,d4c](其中 m=4,d*c 表示 3 x 1 列向量)。
A 是一个 m x 2 矩阵,有 m 行,例如[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 中是否有任何内置函数/方法可以让我以这种方式完成任务?
任何想法。感谢您的任何建议。
【问题讨论】:
标签: octave