如何将两行或两列相乘?

jml*_*jml 3 octave

a = [1, 2, 3];
b = [3, 2, 1];
c = a * b;
Run Code Online (Sandbox Code Playgroud)

产量

错误:运算符 *:不一致的参数(op1 是 1x3,op2 是 1x3)

为什么我不能将这两个相同大小的行相乘?我不应该为此运行 for 循环,但我不知道另一种方式......

我在这里看到了第 1.2.3 节,这表明(至少对我而言)我应该能够做到

Mik*_*ail 5

你做了 2 行,不能相乘。

矩阵乘法的一般形式是“行-点-列”,即取每一行与每一列的点积。在您的情况下,您有 1 行,但有 3 列(这不起作用!)。

a = [1, 2, 3];
b = [3, 2, 1];
c = a' * b;
Run Code Online (Sandbox Code Playgroud)

答案 =

 3     2     1
 6     4     2
 9     6     3
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明