通过MCP连接 →

输入计算

数学公式

广告

结果

积分值
1.9999999545
由双指数(Tanh-Sinh)求积法近似计算
被积函数 f(x) 1/sqrt(x)
积分区间 [ 0 , 1 ]
目标位数 15
方法 双指数 / Tanh-Sinh 梯形法

这个计算器能做什么

本工具采用双指数(DE)求积法(又称 Tanh-Sinh 法)计算单变量函数 \(f(x)\) 在有限区间 \([a, b]\) 上的定积分。在有限区间上的通用数值积分方法里,双指数法是最可靠的选择之一,尤其擅长处理在端点处发散的被积函数,例如 \(1/\sqrt{x}\) 或 \(\log(x)\)——这类积分恰恰是普通高斯求积或辛普森法的软肋。

使用方法

被积函数 f(x) 输入框中用常规数学写法输入表达式,支持运算符 + - * / ^、括号,以及函数 sqrt, exp, log, ln, sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, abs,常数 pie。填入积分下限 \(a\) 与上限 \(b\),选择想要达到的有效位数,然后提交。奇异点只允许出现在端点 \(a\) 和 \(b\) 处;除此之外,函数在开区间 \((a, b)\) 上必须解析,且不应为周期函数。

公式原理

首先通过映射 \(x(u) = \frac{(b+a)+(b-a)u}{2}\) 把区间变换到 \([-1, 1]\)。接着用双指数变换 \(u = \tanh\!\left(\frac{\pi}{2}\sinh t\right)\) 对数轴进行拉伸:当 \(t\) 增大时,\(u\) 以超指数速度逼近两端点,而权重 \(g'(t)\) 也以同样的速度迅速趋近于零。由于节点永远不会精确落在 \(a\) 或 \(b\) 上,端点处的奇异性根本不会被真正计算到——它被巧妙地"驯服"了。变换后的积分用步长为 \(h\) 的简单梯形法求和,并不断把 \(h\) 减半,直到结果不再变化为止。

$$\int_{a}^{b} f(x)\,dx \;\approx\; \frac{b-a}{2}\,h\sum_{k} w_k\, f\!\left(x_k\right)$$$$\begin{gathered} \int_{a}^{b} f(x)\,dx \;\approx\; \frac{b-a}{2}\,h\sum_{k} w_k\, f\!\left(x_k\right) \\[1.5em] \text{where}\quad \left\{ \begin{aligned} a &= \text{Lower limit} \\ b &= \text{Upper limit} \\ x_k &= \tfrac{b+a}{2} + \tfrac{b-a}{2}\tanh\!\left(\tfrac{\pi}{2}\sinh(k h)\right) \\ w_k &= \dfrac{\tfrac{\pi}{2}\cosh(k h)}{\cosh^{2}\!\left(\tfrac{\pi}{2}\sinh(k h)\right)} \end{aligned} \right. \end{gathered}$$
t 上等间距的节点被映射为聚集在端点 a 和 b 附近的节点
双指数变量替换将均匀节点映射为聚集在端点 a 和 b 附近的点。

实例演示

以 \(f(x) = 1/\sqrt{x}\) 在 \([0, 1]\) 上为例,精确值为 \(\left[2\sqrt{x}\right]\) 从 0 到 1 \(= 2\)。一个仅有 7 个节点的粗略 DE 网格(\(h = 0.5\))就能给出约 \(1.94\) 的结果;继续细化 \(h\),估计值会逼近 \(2.000000000000000\)。再用一个无奇异性的例子检验:\(f(x) = x^2\) 在 \([0, 1]\) 上,结果为 \(1/3 = 0.3333333333333\)。

a 与 b 之间曲线 f(x) 下方的阴影面积,端点附近采样点密集
该积分近似阴影面积,节点在端点附近密集分布以处理奇点。

常见问题

能处理区间内部的奇异点吗?不能——双指数法只容许奇异点出现在端点。如果在内部某点 \(c\) 处存在奇异性,请把积分拆成 \([a, c]\) 与 \([c, b]\) 两段,分别计算后再相加。

为什么它不适合周期函数?对于光滑的周期被积函数,普通梯形法本身就已经呈指数收敛,因此双指数变量替换反而会拖慢收敛速度。

有效位数设置有什么作用?它决定了判断细化何时停止的相对容差,并据此对显示结果进行相应的四舍五入。

最后更新: