我有八个八度的列向量:
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)
我做错了什么?
答案 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