[python] Numpy矩阵定义、运算 & 生成随机矩阵

一、矩阵定义、运算

对多维数组的运算,默认情况并不运算矩阵。如果需要对数组进行矩阵运算,矩阵是继承自numpy数组对象的二维数组对象。Numpy中,矩阵计算是针对整个矩阵中每个元素进行的,与用for循环相比,其在运算速度上更快。

#创建numpy矩阵
matr1=np.mat('1 2 3;4 5 6;7 8 9')         #使用分号隔开数据
matr2=np.matrix([[1,2,3],[4,5,6],[7,8,9]]) #调用mat和matrix等价
# print(np.bmat('arr1 arr2;arr1 arr2'))     #block-matrix实现分块矩阵创建,即小矩阵组合大矩阵
 
#矩阵运算
print(matr1+matr2)                        #矩阵相加+、相减-、相乘*
print(matr1.T)
try:
    print(matr1.I)             #T:返回自身的转置,I:返回自身的逆矩阵
except:
    print("无逆矩阵")
print(matr1.H)                            #H:返回自身的共轭矩阵
print(matr1.A)                            #A:返回自身的二维数组的一个视图

二、生成随机矩阵

np.random.rand() 是均匀分布。

np.random.randn() 是从标准正态分布中返回一个或多个样本值。正态分布,也即这些随机数的期望为0,方差为1。

#随机矩阵 np.random.rand的应用:dropout矩阵
dl = np.random.rand(4,5) < 0.2 #al.shape[0],al.shape[1] 第一个维度是4,第二个维度是5;keep_prob是0.2(dropout=0.8)
print(dl)

#生成1-100整数范围内的随机矩阵
print(np.random.randint(1,100,size=(3,3))) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心心喵

喵喵(*^▽^*)

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

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

打赏作者

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

抵扣说明:

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

余额充值