You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Wolfram Alpha中获取含floor函数积分的高精度数值近似

问题说明

在阅读Ovidiu Furdui所著的《极限、级数与小数部分积分:数学分析问题》(Springer出版数学问题丛书)部分章节,以及AoPS(Art of Problem Solving)论坛相关讨论帖后,对如下积分产生了研究兴趣:

积分表达式

记该积分准确值为A,其20位精度近似值为:

A = 0.6449340668482264365

在Wolfram Alpha中输入如下查询代码时:

integrate 1/(floor(1/x)) from x=0 to 1 to 20 digits

平台返回的近似计算结果为:

A* = 0.64493701331278272222

两个结果从第7位小数开始出现偏差,核心原因是被积函数$\lfloor 1/x \rfloor$在区间$(0,1]$内存在无穷多个间断点(位置为$x=1/n, n$为正整数),Wolfram Alpha默认的数值积分算法采样无法覆盖所有趋近于0的窄小区间,产生了截断误差。

Wolfram Alpha获取高精度结果的方法
  • 优先使用级数拆分计算:按$\lfloor 1/x \rfloor$的分段特性拆分积分区间,原积分可转化为收敛级数求和:
    对任意正整数$k$,当$x\in(1/(k+1),1/k]$时$\lfloor 1/x \rfloor=k$,因此
    $$A=\sum_{k=1}^\infty \int_{1/(k+1)}{1/k}\frac{1}{k}dx=\sum_{k=1}\infty \frac{1}{k^2(k+1)}=\zeta(2)-1$$
    其中$\zeta(2)=\pi^2/6$是黎曼Zeta函数在2处的取值。在Wolfram Alpha中输入以下代码即可得到任意指定精度的结果,以20位精度为例:
    N[Sum[1/(k^2 (k + 1)), {k, 1, Infinity}], 20]
    
    也可以直接用闭式计算,效率更高:
    N[Zeta[2] - 1, 20]
    
  • 若必须直接做数值积分,需要手动调整积分算法参数,提高递归深度、明确精度要求,示例代码如下:
    NIntegrate[1/Floor[1/x], {x, 0, 1}, Method -> "GlobalAdaptive", MaxRecursion -> 30, PrecisionGoal -> 20]
    
    注意这种方式计算效率远低于级数求和,精度要求越高耗时增长越快。

内容的提问来源于stack exchange,提问作者Max Lonysa Muller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 23:16:31