1.广播法则是为了更好的处理不同维数矩阵之间的运算
1)广播第一法则是,如果所有的输入数组维度不都相同,一个“1”将被重复地添加在维度较小的数组上直至所有的数组拥有一样的维度。
2)广播第二法则确定长度为1的数组沿着特殊的方向表现地好像它有沿着那个方向最大形状的大小。对数组来说,沿着那个维度的数组元素的值理应相同。
此时就可以完成不同维度矩阵之间的运算
1)广播第一法则是,如果所有的输入数组维度不都相同,一个“1”将被重复地添加在维度较小的数组上直至所有的数组拥有一样的维度。
2)广播第二法则确定长度为1的数组沿着特殊的方向表现地好像它有沿着那个方向最大形状的大小。对数组来说,沿着那个维度的数组元素的值理应相同。
实例:
a=arange(8).reshape(2,4)
a=array([[0, 1, 2, 3],
[4, 5, 6, 7]])
b=array([1,2,3,4])
b.shape
(4,)
a生成的是一个两行四列的二维矩阵,b生成的是一个一维数组。根据广播法则一,“1”将被添加在维度较小的数组b上(从前向后添加维数),b会被被广播为
b=array([[1,2,3,4]])
b.shape=(1,4)
再根据广播法则二,b被广播为
b=array([[1,2,3,4],
[1,2,3,4]])
此时就可以完成不同维度矩阵之间的运算