十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用蒙特卡洛方法计算定积分
专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!创新互联公司为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,成都网站设计、成都网站制作负责任的成都网站制作公司!
计算定积分
利用蒙特卡洛计算方法,核心步骤是求取随机的 g(X1),………,g(Xn),n∈[a,b],由数学期望和大数定理可以近似计算定积分,公式为
原函数:
导函数:
计算导函数在[10,15]上的定积分;
Python
用蒙特卡洛方法计算的定积分:
直接用原函数计算的定积分:
偏差程度为:
在python中,有一个math module,你可以import math,
里面有math.sin(),math.cos(),math.asin()和math.acos()四个函数.
有了这四个函数你就可以求函数值和角度了.
注意:括号里面填的数值,要用弧度制.
科学计算应该要安装numpy,你可以去下Anaconda,全套自动打包好了的。
把代码改了一下:
# -*- coding: utf-8 -*-
import math
import sys
import time
import numpy as np
def area():
x1=1 #起始区间
x2=4.5 #结束区间
dx=0.0001 #步长,步长越小越精确
y1=0
y2=0
y3=0 #结果
for x in np.arange(x1, x2, dx):
y1=y1+dx*x*x #细小矩形取左边为高
y2=y2+ dx*(x+0.5*dx)*(x+0.5*dx) #取中间
y3=y3+dx*(x+dx)*(x+dx)
print (y1, y2, y3)
start = time.clock()
area()
end = time.clock()
print (end-start)
python求解不定积分
首先导入sympy库中的所有类和函数。
from sympy import *
接下来我们需要定义,本次需要使用到的符号变量x,其定义如下:
x = symbols('x')
最后我们来计算积分,定积分和不定积分我们都需要用到函数integrate,这个函数的用法非常的简单,完全可以自己领悟。
integrate(cos(x) ,x)
sin(x)
这里面需要注意两点:
(1)cos后面要跟一对括号,不能直接写cosx。
(2)求解的结果中省略了常数C,需要自己加上。