numpy 学习汇总11-Matrix矩阵创建 ( 基础学习 tcy)

Matrix类      创建:2018/7/4 修改:2018/11/20
    
====================================================================
1.函数
    
np.matrix()
np.asmatrix()
np.mat(data [,dtype])          #将输入解释为矩阵。
np.bmat(obj [,ldict,gdict])  #从字符串,嵌套序列或数组构建矩阵对象。

diag(v [,k])                # 提取一个对角线或构建一个对角阵列。
diagflat(v [,k])            # 创建一个平面输入为对角线的二维数组。
tri(N [,M,k,dtype]) # 在给定对角线和其他地方的零点以下的数组。
tril(m [,k])                  # 数组下三角形。
triu(m [,k])                 # 数组的上三角形。
vander(x [,N,增加]) # 生成范德蒙德矩阵。
numpy.identity(n,dtype =无)#返回主对角线方阵n x n(主对角1其他0)
=====================================================================
np.mat(data,dtype = None )#将输入解释为矩阵。如果输入是矩阵不复制
# 相当于matrix(data, copy=False)
参数:data:输入数据。
dtype:输出矩阵的数据类型。
返回:矩阵
    
numpy.bmat(obj,ldict = None,gdict = None )#从str嵌套序列或数组构建矩阵对象。
参数:
obj:str或array输入数据。#如是str则可通过名称引用当前范围中的变量。
ldict:dict,可选 替换当前帧中的本地操作数的字典。#如obj不是str则忽略或gdict为None。
gdict:dict,可选 替换当前帧中的全局操作数的字典。#如obj不是str则忽略。
返回:矩阵
=====================================================================
    
2.实例
    
a=np.matrix([1,2])# matrix([[1, 2]])
type(a)                # numpy.matrixlib.defmatrix.matrix
    
a=np.array([1,2])#array([1, 2])
b=np.asmatrix(a)#matrix([[1, 2]])
id(b)!=id(a)         #True
    
m1=np.mat(a)    # matrix([[1, 2]])
id(m1)!==id(a)   #True
    
m2=np.mat(b)   #matrix([[1, 2]])
id(m2)==id(b)    #True
    
# 例子2
A = np.mat('1 1; 1 1')#matrix([[1, 1], [1, 1]])
B = np.mat('2 2; 2 2')
C = np.mat('3 4; 5 6')
D = np.mat('7 8; 9 0')
# 以下所有表达式构造相同的块矩阵:
np.bmat('A,B; C,D')
np.bmat([[A, B], [C, D]])
np.bmat(np.r_[  np.c_[A, B], np.c_[C, D]  ])
    
# 输出:
matrix([[1, 1, 2, 2],
            [1, 1, 2, 2],
            [3, 4, 7, 8],
            [5, 6, 9, 0]])
    
# 例子3
a = np.eye(3, k=0)  # 对角数组k=0主对角线元素全1(其余为0)
    
a = np.identity(4)    # 对角矩阵
    
np.diag(x)            # 返回主对角线上的元素
np.diag(x, k=1)    # 返回主对角线上的元素,上移1个单位
np.diag(x, k=-1)  # 返回主对角线上的元素,下移1个单位
    
np.diagflat([[1, 2], [3, 4]])   # 4*4  2D设置主对角线上的元素,其他元素为0 
np.diagflat([1, 2, 3], k=-1)  # 4*4  2D设置主对角线上的元素,下移1个单位;其他元素为0
    
np.triu(a, k=1)                     # 取a的上三角矩阵,上移1个单位(其余填0)
np.tri(a, k=1)                       # 取a的下三角矩阵,上移1个单位
np.tri(3, 4)                           # 为1的下三角矩阵
np.tri(3, 4, k=1, dtype=int)  # 为1的下三角矩阵,上移1个单位 
    
np.vander([2, 3, 4, 5])          # 范德蒙德矩阵
np.vander([2, 3, 4, 5], N=3)  # 范德蒙德矩阵
====================================================================

猜你喜欢

转载自blog.csdn.net/tcy23456/article/details/84311977