Pythonマトリクス操作

6248 ワード

numpyライブラリはマトリクス演算に使用されるため、一般的にインポートされます.
from numpy import *
import numpy as np

1マトリクス作成
#      
a1=array([1,2,3])
#       
a1=mat(a1)

出力a 1:matrix([1,2,3]]))
もちろん、行列に対しても操作できます.
a1.reshape(3,-1)

これはマトリクスを3*xのマトリクスに変換します.3つの要素しかないので、ここでx=1です.
その他の行列の作成方法:
#  3×3 0  ,zeros         
data1=mat(zeros((3,3)))

#  4×4 1  ,   zeros,  ones       dtype=int/float32      ,     
data2=mat(ones((4,4)))

#random.rand(3,3)    3×3    0-1     
data3=mat(random.rand(3,3))

#     0-10    3×3       ,           
data4=mat(random.randint(10,size=(3,3)))

#    1-8   ,3×5       
data5=mat(random.randint(0,10,(4,3)))

#    2*2     
data6=mat(eye(2,2,dtype=int))

#        1、2、3     
a1=[1,2,3];
a2=mat(diag(a1))


2一般的なマトリクス演算-マトリクス乗算
#1×2     2×11×1   
#  matrix,   *      (  ),  array,   *    (  )
#    np.dot()      
a1=mat([1,2])
a2=mat([[1],[2]])
a3=a1*a2

はっきり言って1×1+2×2=5.
-行列点乗算行列対応要素乗算:
a1=mat([1,2])
a2=mat([1,2])
a3=multiply(a1,a2)

出力:matrix([1,4]])
-行列求逆と転置
#  
a1=mat(random.randint(0,10,(4,4)))
a2=a1.I

#  
a1.T

-行列の最大値、最小値、および
a1=mat(random.randint(0,10,(4,4)))
#  ,      1*2   
a2=a1.sum(axis=0);
#  ,      3*1   
a3=a1.sum(axis=1);
#          (Python 0    )),          
a4=sum(a1[1,:]);

#    、      

#  python    
#  a1           ,            
a1.max()

#         ,        1*1   
a2=max(a1[:,1])

#         ,            
a1[1,:].max()

#  numpy  
#         ,      numpy  max  ,        ,         
np.max(a1,0)

#         ,       ,         ,       
np.max(a1,1)

#                  ,           
np.argmax(a1,0)

#                 ,             
np.argmax(a1,1)

#     ,                   ,     
np.argmax(a1[1,:])

3マトリクスのマージと分解
分割:
a=mat(random.randint(0,10,(4,4)))
#              
b=a[1:,1:]

マージには、行と列の2つの方法があります.
a=mat(ones((3,3))
b=mat(random.randint(0,10,(3,3)))
#    ,            
c=vstack((a,b))

#    ,         
d=hstack((a,b))

参考ブログ:
https://blog.csdn.net/wuxiaosi808/article/details/78212433