ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python--numpy 矩阵操作

2020-02-06 21:40:33  阅读:473  来源: 互联网

标签:Python 矩阵 数组 对角线 np numpy matlib


  • numpy矩阵库(Matrix)

     numpy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是ndarray 对象。
     
     一个m*n的矩阵是一个由m行(row)n列(column)元素排列成的矩形阵列。
     
     矩阵里的元素可以是数字、符号或数学式。
     
     numpy 和matlab 不一样,对于多维数组的运算,缺省情况下不适用矩阵运算,如果你希望对数组进行矩阵运算的话,可以调用ndarray对象相应的函数
    
  • numpy 矩阵生成

      np.matrix()函数
    
      np.matlib.empty(shape,dtype,order)
      【shape:定义新矩阵形状的整数或整数元组; dtype:可选,数据类型;order:C(行序优先)或F(列序优先)】
      
      np.matlib.zeros()
      
      np.matlib.ones()
      
      np.matlib.eye(n,M,k,dtype)
      【返回矩阵,对角线元素为1,其他位置为0】
      【区别于identity()*单位矩阵】
      【n 行数;M 列数,默认为n ; k: 对角线的索引;dtype: 数据类型】
      
      np.matlib. identity() 
      【返回给定大小的矩阵,方阵】		
    
      np.matlib.rand()
      【创建给定大小的矩阵,数据随即填充,数据范围(0,1)】
    
  • numpy矩阵常用操作

      矩阵与二维数组相互转换:矩阵总是二维的,而ndarray是一个n维数组。(n=2时,两个对象是可互换的)
      
      矩阵转置
      
      矩阵乘法
    
    	import numpy as np
    	
    	x = np.matirx([[1,2,3],[4,5,6]])
    	y = np.matrix([1,2,3,4,5,6])
    	print(x.T,y.T,sep='\n\n')
    	
    	[[1 4]
    	 [2 5]
    	 [3 6]]
    	
    	[[1]
    	 [2]
    	 [3]
    	 [4]
    	 [5]
    	 [6]]
    	```
    	矩阵转置
    

.argmax(axis=1) 返回横向最大值
.diagonal() 返回对角线元素

  • 矩阵运算

      ###常用的numpy.linalg.函数
    
      diag 以一维数组的形式返回方阵的对角线(或非对角线)元素,或将一维数组转换为方阵(非对角线元素为0)
    
      dot 矩阵乘法
      【1.对于两个一维数组,计算的是这两个数组对应下标元素的乘积和(内积)
        2.对于二维数组,计算的是两个数组的矩阵乘积
        3.对于多维数组 (通用公式,详情见度娘)】
        
      vdot 
      【返回两个向量的点积,若第一个数是复数,那么它的共轭复数会用于计算。如果参数是多维数组,它会被展开】
      
      trace 计算对角线元素的和
      
      det 计算矩阵行列式
      
      eig 计算方阵的特征值和特征向量
      
      inv 计算方阵的逆
      【设A是数域上的一个n阶矩阵,若在相同数域上存在另一个n阶矩阵B,使得AB=BA=E,则我们称B是A的逆矩阵,而A则被称为可逆矩阵。(E为单位矩阵)】
      
      svd 计算奇异值分解
      
      solve 解线性方程组Ax=b,其中A为一个方阵
      
      lstsq 计算Ax =b 的最小二乘解
    
import numpy as np

x = np.([[1,2],[3,4]])
y = np.linalg.inv(x)
print(x)
print(y)
print(np.dot(x,y))
#检验逆矩阵
naozibugouyong 发布了5 篇原创文章 · 获赞 0 · 访问量 38 私信 关注

标签:Python,矩阵,数组,对角线,np,numpy,matlib
来源: https://blog.csdn.net/weixin_45962274/article/details/104201090

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有