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