zoukankan      html  css  js  c++  java
  • [python科学计算]numpy中array类矩阵相关方法

    使用numpy前需要先导入

    import numpy
    

    一、建立矩阵

    直接建立

    a = numpy.array([[1,2,3],[4,5,6],[7,8,9]])
    b = numpy.array([[1,2], [3,4]], dtype=complex )
    

    从tuple建立

    a = [[1,2,3],[4,5,6],[7,8,9]]
    b = numpy.array(a)
    

    建立特殊矩阵

    a = numpy.zeros([4,5]) # all zero
    a = numpy.ones([7,6]) # all one
    a = numpy.eye(4,7) # 4x7 diagonal
    a = numpy.diag(range(5)) # 5x5 diagonal
    a = numpy.empty((2,3))
    a = numpy.arange(10, 30, 5) # array([10, 15, 20, 25]), 1-D
    a = numpy.linspace(0, 2, 9) # 9 numbers from 0 to 2
    a = numpy.random.random((2,3)) # 随机数矩阵
    a = numpy.fromfunction(f,(5,4),dtype=int) # 从函数f(x,y)建立
    

    二、矩阵变换、变形

    a.reshape(-1)
    a.reshape(3, 4, -1)
    a.T # 转置
    a.transpose() # 转置
    numpy.linalg.inv(a) # 求逆
    a.diagonal([offset, axis1, axis2]) # 对角元
    numpy.einsum('iijj->ij',a)
    numpy.r_[a,b] # 在a中增加新行b
    numpy.c_[a,b] # 新列
    

    三、一般运算

    y = x # 建立引用,修改x会影响y
    y = x.copy() # 建立副本,修改x不会影响y
    a.dot(b) # 矩阵乘法
    numpy.dot(a,b) # 矩阵乘法
    numpy.trace(a) #求迹
    

    四、特殊运算

    numpy.einsum('iijj->ij',a)
  • 相关阅读:
    es6之更优雅的条件语句
    html 提取 公用部分
    jQuery 新添加元素事件绑定无效
    关于ie6块元素行内元素转换
    git 入门级使用
    vim入门级使用
    git安装配置
    学习使用mac
    Angular常用标记
    npm/bower/brew
  • 原文地址:https://www.cnblogs.com/fnight/p/5763479.html
Copyright © 2011-2022 走看看