十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
科学计算应该要安装numpy,你可以去下Anaconda,全套自动打包好了的。
创新互联公司专注于企业成都全网营销推广、网站重做改版、若羌网站定制设计、自适应品牌网站建设、H5技术、成都商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为若羌等各大城市提供网站开发制作服务。
把代码改了一下:
# -*- 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的包。他提供一个积分计算的函数:
integrate(函数,(变量,下限, 上限))
所以你上面的那个积分计算可以如下:
from sympy import *
x = symbols('x')
print(integrate(abs(x-a), (x, b1, b2)))
用蒙特卡洛方法计算定积分
计算定积分
利用蒙特卡洛计算方法,核心步骤是求取随机的 g(X1),………,g(Xn),n∈[a,b],由数学期望和大数定理可以近似计算定积分,公式为
原函数:
导函数:
计算导函数在[10,15]上的定积分;
Python
用蒙特卡洛方法计算的定积分:
直接用原函数计算的定积分:
偏差程度为: