这个矩阵乘法我有2矩阵A(n×m个)和B(NXD),并希望相乘逐元素 A的各列与
B的行有M列B中的A和n 1xd向量,所以结果是m×n×d矩阵。然后,我想总结(result_i,1)以获得m个1xd向量,我想应用vertcat来获取mxd矩阵。我正在使用for循环执行这个操作,而且它很慢,因为n和d很大。我如何在matlab中对此进行矢量化以使其更快?谢谢。如何向量化在Matlab
编辑:
你没事:我被我自己的问题弄糊涂了。我的意思是“乘以元素明智的 A的每列和一行B”是将A中列的n个元素与对应的n行B相乘。我想对一列A做什么为遵循(和我重复此为A的m列,然后vertcat的C的矢量合力得到一个MXD矩阵):
column_of_A =
3
3
1
B =
3 1 3 3
2 2 1 2
1 3 3 3
C = sum(diag(column_of_A)*B, 1)
16 12 15 18
如果将'A'的每一列与'B'的每一行相乘,则得到m * n个矩阵,而不是m。如果不是,那么你如何从'B'中选择一行作为'A'的给定列?它是提前给出的吗? – 2011-04-07 12:13:59
@Itamar Katz:我应该说将A_elementwise_的m列的每个元素与B的每一行相乘,即[1 2 3]'* [1 1] = [1 1; 2 2; 3 3]。 – Martin08 2011-04-07 12:36:29
这不是单元乘法,而是矩阵乘法。 – Jonas 2011-04-07 13:06:19