python求定积分_python使用蒙特卡洛积分法(Monte-Carlo integration)求定积分

d2cc18e26b031a9b645ba7d0419b44bc.png
### 使用蒙特卡洛投点法计算定积分
import random
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt 
count=0
p=0
for i in range(10000):
    count+=1
    point_x=random.random()
    point_y=random.random()
    value=point_x/25+1/5
    if point_y<=value:
        p+=1
print('p is :',p/count)

p is : 0.2204

### 使用平均法求定积分
import numpy as np
point_list=np.linspace(0,1,10001)
value=0
for i in range(10000):
    x0=point_list[i]
    x1=point_list[i+1]
    v=0.5*(x1-x0)*(x0/25+0.2+x1/25+0.2)
    value+=v
print('p is :',value)

p is : 0.2200000000000001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值