Python数值计算(4)——矩阵的创建和使用

本次介绍一下NumPy中的向量和矩阵的创建与操作,以及线性方程组的求解,分两个章节篇幅介绍。

在numpy中,ndarray表示向量和矩阵,是N-dimensional array(N维数组)的缩写,由多个具有相同类型和尺寸的元素组成的多维容器。

1. 向量和矩阵的创建

使用numpy.array创建一个numpy.ndarray的实例对象,可以创建向量或者矩阵,例如:

v1=np.array([1,2,-1])
print(type(v1),v1) # <class 'numpy.ndarray'> [ 1  2 -1]
A = np.array([[1,1,1],[2,-3,1],[1,2,-3]])
print(A)
'''
[[ 1  1  1]
[ 2 -3  1]
[ 1  2 -3]]
'''

分别创建了一个向量v1和3×3的矩阵(也可以理解为是一个二维数组)。通过该函数,还可以创建更高维度的数组。

如果单纯是创建向量,其实前面介绍到的nupmy.linspace和numpy.arange,返回的都是ndarray类型:

print(type(np.linspace(1,5,10))) # <class 'numpy.ndarray'>
print(type(np.arange(1,5,0.3))) #<class 'numpy.ndarray'>

对于一些特殊的二维矩阵,也有一些特定的函数,例如,numpy.eye/numpy.identity numpy.diag,和numpy.vander分别创建单位矩阵、对角矩阵和范德蒙德矩阵:

E=np.eye(3)
D=np.diag([1,2,3])
M=np.vander([1,2,3],3)
print(M)
'''
[[1 1 1]
[4 2 1]
[9 3 1]]
'''

其中,eye可以创建行、列不相等的单位矩阵(只有主对角线元素为1),而identity则是创建一个方阵,另外可以看到范德蒙德矩阵和我们常见的有点不大一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值