3-3numpy:向量与矩阵的计算,矩阵的逆

import numpy

"""
numpy.array中的运算
给定一个向量,让向量中每一个数乘以2
a =(0,1,2)
a*2 =(0,2,4)
"""

n=10
L=[i for i in range(n)]
#方法1.首先创建一个空列表,然后遍历列表中的每一个元素,*2并append进A
A=[]
for e in L:
    A.append(2*e)

#方法2:利用生成表达式的方式处理,效率会变高
A=[2*e for e in L]

L=numpy.arange(n)
#方法3:利用numpy,效率会更高很多
A=numpy.array(2*e for e in L)

#方法4:支持普通不支持方法,此时的L应该为numpy创建的而不应该是普通方法创建的,效率更高
A=2*L


X=numpy.arange(1,16).reshape((3,5))


X+1#矩阵中所有元素+1
X/2#生成浮点数的除法
X//2#整除,去掉余数,只保留整数

X**2#平方
numpy.power(3,X)#求3的X次方
numpy.exp(X)#求e的X次方

"""
多矩阵进行运算

"""

A=numpy.arange(4).reshape(2,2)
B=numpy.full((2,2),10)
A+B
A-B
A*B#是两个矩阵对应元素进行相乘,除
A/B
A.dot(B)#矩阵的标准乘法,与A*B不同
A.T#转置矩阵

"""
向量和矩阵的运算
"""
v=numpy.array([1,2])#创建一个向量
v+A#就是向量和矩阵的每一行做加法
numpy.vstack([v] * A.shape[0])#进行垂直拼接
numpy.tile(v,(2,1))#行向量堆叠2次,列向量堆叠1次

v*A#向量v与A的每一行都进行相乘,元素相乘
v.dot(A)#标准相乘

"""
矩阵的逆
"""
invA=numpy.linalg.inv(A)#A的逆矩阵,此时求得是方阵
A.dot(invA)#矩阵*逆矩阵=单位矩阵

X=numpy.arange(16).reshape(2,8)
numpy.linalg.pinv(X)#对于不是方阵的矩阵,那么我们就需要使用伪逆矩阵

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马鹏森

太谢谢了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值