抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

没想到求定积分被python用这么形象的代码表达出来了!

image-20210723161145565

实际上,求x2x^2的定积分就是求上图中的红色图形的面积。

将其看做是多个小长方形竖直排起来的,将每块小长方形的面积求出来汇总就是图形的面积了。

为了使数值更精确,使用极限的思想,将x轴(小长方形的宽)分割的无穷细。

数形结合大法好:

02x2=13231303=83\int_0^2{x^2}=\frac{1}{3}2^3-\frac{1}{3}0^3=\frac{8}{3}

# 求定积分方法:
#   f:被积函数
#   a,b:区间范围
def integrate(f, a, b):
    # 将区间分割成无穷多个小长方形的宽
    dx = (b - a) / 100000
    s = 0
    # 将每块小正方形面积累加
    for i in range(100000):
        s += f(a + dx * i) * dx

    return s


# 函数x^2
def func1(x):
    return x ** 2


r = integrate(func1, 0, 2)
print(r) # 2.6666266667999796

想要精度就得调分割的粒度,太大了就卡死啦。

应该有更好的方法吧。。。

用到的工具:

评论