0

我有两个八度的列向量:

a=[1;2;3;4;5;6;7]

b=[7;6;5;4;3;2;1]

我想将这两个向量相乘:

a*b 和 a*b' 都给出错误:

error: operator *: nonconformant arguments (op1 is 7x1, op2 is 7x1)

我究竟做错了什么?

4

1 回答 1

0

a*b不起作用,因为您不能将 7x1 向量乘以 7x1 向量。正如评论中提到的那样,a*b'有效(因为现在您将 7x1 向量乘以 1x7 向量,得到一个 7x7 矩阵),a.*b(逐元素乘法)也是如此。这是我在 Octave 3.6.2 中得到的:

>> a*b
error: operator *: nonconformant arguments (op1 is 7x1, op2 is 7x1)
>> a*b'
ans =

    7    6    5    4    3    2    1
   14   12   10    8    6    4    2
   21   18   15   12    9    6    3
   28   24   20   16   12    8    4
   35   30   25   20   15   10    5
   42   36   30   24   18   12    6
   49   42   35   28   21   14    7

>> a.*b
ans =

    7
   12
   15
   16
   15
   12
    7
于 2013-10-23T11:21:59.890 回答