04常用random随机函数

image-20230120161903846

import numpy as np

np.random.seed(666)

print(np.random.rand(5))
print(np.random.rand(3,4))
print(np.random.rand(2,3,4))
print('****************************************')

print(np.random.randn(5))
print(np.random.randn(3,4))
print(np.random.randn(2,3,4))
print('****************************************')

print(np.random.randint(3))
print(np.random.randint(1,10))
print(np.random.randint(10,30,size=(5,)))
print(np.random.randint(10,30,size=(2,3,4)))
print('****************************************')

print(np.random.random(5))
print(np.random.random(size=(3,4)))
print(np.random.random(size=(2,3,4)))
print('****************************************')

print(np.random.choice(5,3))
print(np.random.choice(5,(2,3)))
print(np.random.choice((2,4,6,8,10),(2,3,4)))
print('****************************************')

#此为打乱原数组
a = np.arange(10)
np.random.shuffle(a)
print(a)
#多维度只会在第一维度打乱顺序
b = np.arange(20).reshape(4,5)
np.random.shuffle(b)
print(b)
print('****************************************')

#此为拷贝一个新打乱的数组
print(np.random.permutation(10))
print(np.random.permutation(np.arange(20).reshape(4,5)))
print('****************************************')

#eg:按均值为1方差为10生成随机数
print(np.random.normal(1,10,10))
print(np.random.normal(1,10,(3,4)))
print('****************************************')

#eg:生成1到10之间均匀分布的数字
print(np.random.uniform(1,10,10))
print(np.random.uniform(1,10,(3,4)))
print('****************************************')


#eg:
import matplotlib.pyplot as plt

#绘制sin曲线
x = np.linspace(-10,10,100)
y = np.sin(x)
plt.plot(x,y)
plt.show()
#加入噪声
x = np.linspace(-10,10,100)
y = np.sin(x) + np.random.rand(len(x))
plt.plot(x,y)
plt.show()
posted @ 2023-01-20 17:51  不迷路的小孩  阅读(39)  评论(0编辑  收藏  举报