import numpy as np
#1、数组的运算:两数组的行数和列数必须一致
a=np.arange(1,10).reshape(3,3)
b=np.arange(1,10).reshape(3,3)
print(a)
print(b)
'''
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 2 3]
[4 5 6]
[7 8 9]]
'''
#数组相加
print(a+b)
'''
[[ 2 4 6]
[ 8 10 12]
[14 16 18]]
'''
#数组相减
print(a-b)
'''
[[0 0 0]
[0 0 0]
[0 0 0]]
'''
#数组相乘
print(a*b)
'''
[[ 1 4 9]
[16 25 36]
[49 64 81]]
'''
#数组相除
print(a/b)
'''
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
'''
#2、矩阵的操作
na=np.arange(12).reshape(3,4)
a=np.matrix(na) #np的matrix(na)方法可将数组转换为矩阵
print(a)
print(type(a))
'''
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
<class 'numpy.matrix'>
'''
#矩阵相加
a=np.matrix(np.arange(12).reshape(3,4))
b=np.matrix(np.arange(12).reshape(3,4))
print(a+b)
'''
[[ 0 2 4 6]
[ 8 10 12 14]
[16 18 20 22]]
'''
#矩阵相减
print(a-b)
'''
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
'''
#矩阵相乘:矩阵A的列数必须与矩阵B的行数一致
c=np.matrix(np.arange(12).reshape(3,4))
d=np.matrix(np.arange(12).reshape(4,5))
print(c.dot(d)) #矩阵的相乘,使用矩阵的dot()方法
'''
[[ 42 48 54]
[114 136 158]
[186 224 262]]
如果矩阵A的列数必须与矩阵B的行数不一致,则报错:
e=np.matrix(np.arange(12).reshape(3,4))
print(d.dot(e))
ValueError: shapes (3,4) and (3,4) not aligned: 4 (dim 1) != 3 (dim 0)
'''
网友评论