问题描述
八度语法允许“添加”行向量和列向量以产生矩阵:
3 * [1:4] + 4 * [1:4]'
此代码构建以下矩阵:
7 10 13 16
11 14 17 20
15 18 21 24
19 22 25 28
numpy有任何类似的方法吗?
解决方法
您可以使用广播:
3*np.arange(1,5) + 4*np.arange(1,5)[:,None]
另一种方式是:
np.add.outer(4*np.arange(1,5),3*np.arange(1,5))
输出为:
7 10 13 16
11 14 17 20
15 18 21 24
19 22 25 28