蒙特卡罗计算定积分python错误

img


为什么使用蒙特卡罗来计算定积分 这样算的e结果是4.59733,好像不太对

因为你算出来的是2ln10,可以参考蒙特卡洛法计算自然常数e——python编程及可视化

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7762605
  • 你也可以参考下这篇文章:用python高精度求自然常数e
  • 除此之外, 这篇博客: Python练习题 循环语句(37~54)二中的 python (计算e)你可以使用下面的数列近似计算e。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • **

    在这里插入图片描述
    程序编辑:

    for j in range(10000,100001,10000):
        e = 1
        item = 1
        for i in range(1,j + 1):
            item *= i   #item的阶乘  item = item * i
            e += 1 / item
        print("i = %d 时,  e = %.19f"%(j,e))
    

    测试:

    J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day03/47.py
    i = 10000 时,  e = 2.7182818284590455349
    i = 20000 时,  e = 2.7182818284590455349
    i = 30000 时,  e = 2.7182818284590455349
    i = 40000 时,  e = 2.7182818284590455349
    i = 50000 时,  e = 2.7182818284590455349
    i = 60000 时,  e = 2.7182818284590455349
    i = 70000 时,  e = 2.7182818284590455349
    i = 80000 时,  e = 2.7182818284590455349
    i = 90000 时,  e = 2.7182818284590455349
    i = 100000 时,  e = 2.7182818284590455349
    
    Process finished with exit code 0
    

    在这里插入图片描述

    Demo48