【发布时间】:2013-04-04 11:01:54
【问题描述】:
我有一个由许多 (2x1) 矩阵组成的元胞数组 A。 我有另一个矩阵 B (2x2),我打算将它与单元格 A 的每个元素相乘。换句话说,数组 A 中的每个矩阵都必须与 B 相乘以生成另一个单元格数组 C(与 A 大小相同),包括2x1 矩阵。
视觉上,
B*|A{1,1} A{1,2} ... A{1,n}| = |C{1,1} C{1,2} ... C{1,n}|
|::::::::::::::::::::::::| |::::::::::::::::::::::::|
|A{m,1} A{m,2} ... A{m,n}| |C{m,1} C{m,2} ... C{m,n}|
这里,C{i,j}=B*A{i,j}
使用 cellfun 执行此操作非常慢。 有没有一种方法可以在不使用显式循环的情况下对其进行矢量化,并且无论 A 和 B 的大小如何(只要它们是可乘的)都可以加快运算速度?
【问题讨论】:
-
为什么要使用元胞数组?如果你不这样做,你可以使用 bsxfun
标签: matlab vectorization matrix-multiplication cells