使用蒙特卡罗技术进行数值积分的简单工具。

mcint的Python项目详细描述


一个可以用来计算多维积分的蒙特卡罗积分器。结果是数值逼近,即BR/>依赖于使用随机数产生。BR/>实例1<BR/>(X** 2)
BR/> DEF样本():描述Monte-Carlo样本是如何取而代之的:
产量。随机():BR/> BR/>结果,误差=McCIT.积分(整合式,SAMPPLER(),测度=1,n=100)
< BR/>打印“x** 2在0和1之间的积分近似为”,result

integrate()函数的第二个参数应该是iterable
表达式,在本例中,它是一个生成器。我们可以使用以下方法消除这个采样器:


result,error=mcint.integrate(integrand,iter(random.random,-1),measure=1.0,n=100)


这将从random.random()函数创建一个iterable对象,该函数将连续调用random.random(),直到返回-1(它永远不会返回介于0.0和1.0之间的值)。


dy`::

import random
import math


def integrand(x):
返回(x[0]**2+x[1]**2)


def sampler():
为真时:
y=random.random()
x=random.random()
如果x**2+y**2<;=1:
屈服(x,y)

result,error=mcint.integrate(integrand,sampler(),measure=math.pi/4)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在ElasticSearch中插入条目的最佳方式是什么?   如何使用java播放视频并从中捕获帧   断言在Java良好实践中主动抛出断言错误?   swing Java编译有没有办法告诉编译器忽略部分代码?   java如何在执行另一个测试之后执行一个测试?   java添加两个数字链表   java如何通过代码编辑awt文本字段   jade无效缩进上的java错误;应为0个空格   java我可以在不安装facebook的情况下使用Android版facebook sdk。apk?   java现实地说,我为什么要使用DuckType或控制反转?   Java性能:Java逻辑从巨大的列表中找到最高的3个数字   java使用Lucene/Solr和Spring数据   java按照线程启动的顺序完成线程   java无法解析hibernate。cfg。脱机时使用xml