这篇文章主要讲解了“numpy怎么实现矩阵对应元素相乘”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“numpy怎么实现矩阵对应元素相乘”吧!
矩阵乘法: (m,n) x (n,p) --> (m,p) # 矩阵乘法运算前提:矩阵1的列=矩阵2的行
3种用法: np.dot(matrix_a, matrix_b) == matrix_a @ matrix_b == matrix_a * matrix_b
1种用法:np.multiply(matrix_c, matrix_d)
对于nd.array()类型而言,数组 arrA * arrB 只能element-wise produt(对应元素相乘)
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 26 14:22:40 2018
@author: Administrator
"""
import numpy as np
a = np.array([[1,2],[3,4],[11,12]])
b = np.array([[5,6,13],[7,8,14]])
c = np.array([[1,2,13],[3,4,25],[11,12,23]])
d = np.array([[5,6,2],[7,8,29],[13,14,15]])
matrix_a = np.matrix(a) # (3,2)
matrix_b = np.matrix(b) # (2,3)
matrix_c = np.matrix(c) # (3,3)
matrix_d = np.matrix(d) # (3,3)
print(type(a),type(matrix_a)) # <class 'numpy.ndarray'> <class 'numpy.matrixlib.defmatrix.matrix'>
mat_a = np.mat(a)
print(type(a),type(matrix_a)) # <class 'numpy.ndarray'> <class 'numpy.matrixlib.defmatrix.matrix'>
'''
# 1) matrix multiplication
矩阵乘法: (m,n) x (n,p) --> (m,p) # 矩阵乘法运算前提:矩阵1的列=矩阵2的行
3种用法: np.dot(matrix_a, matrix_b) == matrix_a @ matrix_b == matrix_a * matrix_b
'''
method_1 = matrix_a @ matrix_b
method_2 = np.dot(matrix_a, matrix_b)
print(method_1)
#[[ 19 22 41]
# [ 43 50 95]
# [139 162 311]]
print(method_2 == method_1)
#[[ True True True]
# [ True True True]
# [ True True True]]
print(matrix_c * matrix_d == matrix_c @ matrix_d)
#[[ True True True]
# [ True True True]
# [ True True True]]
'''
# 2) element-wise product : 矩阵对应元素相乘
1种用法:np.multiply(matrix_c, matrix_d)
对于nd.array()类型而言,数组 arrA * arrB 只能element-wise produt(对应元素相乘)
'''
print(matrix_c, matrix_d, sep='\n')
#[[ 1 2 13]
# [ 3 4 25]
# [11 12 23]]
#[[ 5 6 2]
# [ 7 8 29]
# [13 14 15]]
method_1 = np.multiply(matrix_c, matrix_d) # 对应位置元素相乘
print(method_1)
#[[ 5 12 26]
# [ 21 32 725]
# [143 168 345]]
感谢各位的阅读,以上就是“numpy怎么实现矩阵对应元素相乘”的内容了,经过本文的学习后,相信大家对numpy怎么实现矩阵对应元素相乘这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4870686/blog/4867158