1、python的广播,方便计算
①一维向量+常量
②多维向量+常量
③多维向量+行向量(要求一致)
④多维向量+列向量(要求一致)
#coding:utf-8
import numpy as np
if __name__=="__main__":
#注意是3行,秩为1的矩阵
a=np.array([1,2,3])
print a.shape
a=a.reshape(3,1)
print a.shape
b=a.T
print a
print b
#一维矩阵广播,常量扩展成相同大小矩阵
print a+1
print b+2
#多维矩阵广播,常量,行向量,列向量
a=np.array([[1,2,3],[4,5,6]])
b=[1,2,3]
c=[[4],[5]]
print a+1
print a+b
print a+c
结果显示:
(3,)
(3, 1)
[[1]
[2]
[3]]
[[1 2 3]]
[[2] //一维向量+常数
[3]
[4]]
[[3 4 5]]
[[2 3 4] //多维向量+常数
[5 6 7]]
[[2 4 6] //多维向量+行向量
[5 7 9]]
[[ 5 6 7] //多维向量+列向量
[ 9 10 11]]