博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】在 numpy 中,array() 用于表示 n 维数组, matrix 指用于线性代数计算(矩阵)。 array 和 matrix 本质上都可以用来表示矩阵,只是在进行乘法操作的时候,各自实现方式有不同之处。
matrix 是属于 array 的一个分支,两者在大多方面上都是通用的,功能上基本没有太大的区别。但在两者都可以使用时,官方推荐选择 array ,因为 array 更灵活,速度更快;而
matrix 优势就是在与两个矩阵相乘可以直接使用乘法运算符 * 进行计算,而 array 则需要使用 dot() 函数。
在使用 array 时,乘法运算符 * 用于计算数量积(也可以直接函数 multiply() 计算数量积),函数 dot() 用于计算矢量积。如下:
import numpy as np
A = np.array(
[
[1,2],
[3,4]
]
)
B = np.array(
[
[1,2],
[3,4]
]
)
C = A * B
print(C)
C = np.multiply(A,B)
print(C)
'''
[[ 1 4]
[ 9 16]]
'''
D = np.dot(A,B)
print(D)
'''
[[ 7 10]
[15 22]]
'''
然而,在使用 matrix 时,乘法运算符 * 表示计算向量积,而计算数量积则使用函数 multiply(),实例如下所示:
import numpy as np
A = np.matrix(
[
[1,2],
[3,4]
]
)
B = np.matrix(
[
[1,2],
[3,4]
]
)
C = A * B
print(C)
'''
[[ 7 10]
[15 22]]
'''
D = np.multiply(A,B)
print(D)
'''
[[ 1 4]
[ 9 16]]
'''
版权归 马富天PHP博客 所有
本文标题:《numpy 中 array() 和 matrix() 用法的关联与区别》
本文链接地址:http://www.mafutian.net/408.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶0
踩0
评论审核未开启 |