Python数组与矩阵操作

Python数组与矩阵操作


1、MATLAB的基于矩阵的操作,而numpy多是基于数组的操作,numpy的索引从0开始。

	import numpy as np 
	 impor scipy as sp

(1)建立矩阵

	a=np.array([1,2,3],dtype=int)  
#建立一个一维数组,数据类型是int。也可以不指定数据类型,使用默认。

示例

	import numpy as np
	a=np.array([1,2,3],dtype=int)
	print a1

结果


(2)a2=np.array([[1,2,3],[2,3,4]])  
#建立一个二维数组。

示例

	import numpy as np
	a1=np.array([[1,2,3],[4,6,7]])
	print a1

结果



(3)内置函数

	b=np.zeros((2,3))  
 #生成一个2行3列的全0矩阵。

注意,参数是一个tuple(元组):(2,3),所以有两个括号。完整的形式为:zeros(shape,dtype=)。

示例

	import numpy as np
	b=np.zeros((2,3))
	print b

结果


(4)b=np.ones((3,4))

#生成一个3行4列的全1矩阵

示例

	import numpy as np
	b=np.ones((3,4))
	print b

结果


(5)np.empty()

#建立一个空矩阵,使用内存中的随机值来填充这个矩阵。

示例

	import numpy as np
	b=np.empty((3,4))
	print b

结果


(6)b=np.identity(n)   

#建立n*n的单位阵,这只能是一个方阵。

示例

	import numpy as np
	b=np.identity(4)
	print b

结果


(7)b=np.eye(N,M=None,k=0)  
 #建立一个对角线是1其余值为0的矩阵,用k指定对角线的位置。M默认None。

示例

	import numpy as np
	b=np.eye(3,None,1)
	print b

结果



此外,numpy中还提供了几个like函数,即按照某一个已知的数组的规模(几行几列)建立同样规模的特殊数组。这样的函数有zeros_like()、empty_like()、ones_like(),它们的参数均为如此形式:zeros_like(a,dtype=),其中,a是一个已知的数组。


2、arange()函数

	c=np.arange(start,end,step)

#start起点,end终点,step步长值,含起点值,不含终点值。

示例

	import numpy as np
	c=np.arange(2,3,0.1)
	print c

结果



3、linspace( )函数

	c=np.linspace(start,end,counts)  
 #start:起点,end:终点,counts:区间内点数。起点终点均包括在内

示例

	import numpy as np
	c=np.linspace(1,4,10)
	print c

结果



4、X.T   

#如果X是矩阵,X.T是X的转置矩阵

示例

	import numpy as np
	x=np.array([[1,2,4],[5,6,7]])
	print x
	print '--------'
	print x.T

结果



5、X.trace()    

#计算X的迹

示例

	import numpy as np
	x=np.array([[1,2,4],[5,6,7],[1,1,3]])
	print x
	print x.trace()

结果



6、np.linalg.det(a)   

#返回的是矩阵a的行列式

示例

	import numpy as np
	x=np.array([[1,2,4],[5,2,4],[1,3,2]])
	print x
	st=np.linalg.det(x)
	print st

结果


7、np.linalg.eig(a)  
 #矩阵a的特征值和特征向量

示例

	import numpy as np
	x=np.array([[-2,1,1],[0,2,0],[-4,1,3]])
	print x
	print '--------'
	st=np.linalg.eig(x)
	print st

结果

其特征值:-1.,2.,2.


  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值