task01基础知识

task 1 数据基础

1.随机数的应用

pi的估计

P ( ( X , Y ) 落 在 圆 内 ) = P ( X 2 + Y 2 ≤ 1 ) = π / 4 P((X,Y)落在圆内) = P(X^2+Y^2\le1)=\pi/4 P((X,Y))=P(X2+Y21)=π/4

def pi_estimate(n):
    '''
    n为投点的数量
    '''
    n_rand_X = np.random.uniform(-1.0,1.0,n)
    n_rand_Y = np.random.uniform(-1.0,1.0,n)
    ## 判断是否在圆内
    distance = np.sqrt(n_rand_X**2 + n_rand_Y**2)
    dis_n = float(len(distance[distance<=1.0]))
    return 4 * (dis_n / n)

for i in [10,50,100,500,1000,5000,10000,50000,100000,500000,10000000]:
    print("pi的估计值为",pi_estimate(i))

np.random.uniform 生成服从均匀分布的随机数

np.random.exponential 生成服从指数分布的随机数

2.作业

x1 = np.arange(-100, 100, 0.05)
x2 = np.arange(-100, 100, 0.05)
x1, x2 = np.meshgrid(x1, x2)

def f(a,b):
    z = np.square(a - x1) + b * np.square(x2 - np.square(x1))

    fig1 = plt.figure()
    ax1 = plt.axes(projection='3d')
    ax1.plot_surface(x1, x2, z, alpha=0.3, cmap='rainbow')
    ax1.set_xlabel('X')
    ax1.set_ylabel('Y')
    ax1.set_zlabel('Z')
    plt.title('Rosenbrock')
    plt.show()
    
interactive_plot = interactive(f, a=(-200, 200), b=(-300, 300))
output = interactive_plot.children[-1]
output.layout.height = '350px'
interactive_plot    

在这里插入图片描述
b小于0时
在这里插入图片描述

a控制图片两条边的走势,b控制图形的凹凸。

更为细致的a,b区间变化还可以进一步探索。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值