numpy array matrix 相乘 |
您所在的位置:网站首页 › lingo矩阵对应元素相乘 › numpy array matrix 相乘 |
numpy不知道为啥要搞很多种乘法,特别容易搞混(网上很多搞混的文章),*在array和matrix中的含义还不同,还造了个@运算符 array 的相乘 a = np.array([1,2,3]) b = np.array([1,2,3]) print(a*b) #[1 4 9] print(np.multiply(a,b)) #[1 4 9] print(a@b) #14 print(np.dot(a,b)) #14array中*/multiply是对应元素相乘,@则是对*/dot结果求和 matrix 的相乘 a = np.matrix([[1,2,3],[4,5,6]]) b = np.matrix([[1],[2],[3]]) print(a*b) print(a@b) print(np.dot(a,b)) ''' 三者结果均为: [[14] [32]] ''' a = np.matrix([[1,2,3],[4,5,6]]) b = np.matrix([[1,2,3]]) print(np.multiply(a,b)) ''' [[ 1 4 9] [ 4 10 18]] '''martix中* @ dot都是直观上的矩阵相乘,而multiply则是对应元素相乘 总结@ dot的含义相对固定,而* multiply则容易混淆 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |