将两个列向量乘以八度

时间:2013-10-23 10:43:53

标签: octave

我有八个八度的列向量:

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)

我做错了什么?

1 个答案:

答案 0 :(得分: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