Python-numpy中有一种很高效的方法:广播。 下面介绍一下广播。
实例:对于这个矩阵,如果想求每列元素的和,怎么才能不用for循环?
(1,4)指的是一行四列的矩阵;axis决定了是横向(行)求和还是竖向(列)求和。为0时竖向,1时横向;在矩阵前*100,是让矩阵里面的数为百分数;reshape作用是调整矩阵形状,如reshape(1,4)就是把矩阵调整为1行4列的。
A是3*4的,(cal..)是1*4的,A/(cal..)就是3*4矩阵/1*4矩阵,那这是怎么运算的呢?
计算方法如上图,其实很简单,如:(m,n)与(1,n)进行运算,就是把(1,n)复制m次,变成(m,n)后再进行运算。其它的类似。
print(a.T) 输出矩阵a的转置。 print(a.shape) 输出矩阵a的“形状”
左边这两种是较好的建立列向量或行向量a的方式,而不是
所以为了避免bug的出现,要使用n*1的列/行向量,而不是含有n个数字的数组。
是X123与a1[1]的权值,以此类推