这个计算器能做什么
本工具用于求解形如 $$f(x) = b_0 + \cfrac{a_1}{b_1 + \cfrac{a_2}{b_2 + \cfrac{a_3}{b_3 + \cdots}}}$$ 的广义连分数。它最大的特点在于:首项 \(b_0\)、第 n 个分子 \(a_n\) 与第 n 个分母 \(b_n\) 都以数学表达式的形式输入,并且可以依赖变量 \(x\) 与项序号 \(n\)。计算器会代入你给定的 \(x\),依次生成 \(n = 1\)、\(2\)、\(3\)、… 各项,最终给出收敛值 \(f(x)\),并附上一张逐级渐近分数 \(f_n(x)\) 的表格。它是一款纯数值分析工具,普遍适用,不涉及任何地区性规则或单位差异。
使用方法
输入三个表达式以及一个 \(x\) 的取值。每个表达式都可以使用符号 \(x\) 和 \(n\)、运算符 + - * / ^(乘方),以及函数 sqrt、exp、ln、log、sin、cos、tan,还有常数 pi 和 e。通过选择有效数字位数来控制结果的显示精度(这只影响收敛容差和显示方式,并不改变底层数学)。结果框会显示 \(f(x)\) 以及达到收敛时所对应的项序号 \(n\);下方表格列出最初的若干渐近分数,方便你观察数值如何逐步稳定下来。
公式详解
各渐近分数由前向基本递推关系生成。以 \(A_{-1} = 1\)、\(A_0 = b_0\)、\(B_{-1} = 0\)、\(B_0 = 1\) 为起点,每增加一层就计算 \(A_n = b_n \cdot A_{n-1} + a_n \cdot A_{n-2}\) 以及 \(B_n = b_n \cdot B_{n-1} + a_n \cdot B_{n-2}\),第 n 个渐近分数即为 \(f_n = A_n / B_n\)。当相邻两个渐近分数达到所要求的精度时迭代停止,或者在累计达到 1000 项的硬性上限时强制结束。
实例演示
采用默认值 \(b_0 = 1\)、\(a_n = x - 1\)、\(b_n = 2\),并取 \(x = 5\)。这正是 \(\sqrt{x}\) 的经典连分数表示:$$\sqrt{x} = 1 + \cfrac{x-1}{2 + \cfrac{x-1}{2 + \cdots}}$$ 当 \(x = 5\) 时,每个分子都等于 4,每个分母都等于 2。最初几个渐近分数依次为 \(f_1 = 3\)、\(f_2 = 2\)、\(f_3 = 2.3333\ldots\)、\(f_4 = 2.2\),它们逐步收敛到 \(\sqrt{5} = 2.2360679774997896\)。其不动点 \(t = 2 + 4/t\) 的解满足 \(t = 1 + \sqrt{5}\),于是 \(f = 1 + 4/(1+\sqrt{5}) = \sqrt{5}\)。
常见问题
\(a_n\) 和 \(b_n\) 可以依赖序号 \(n\) 吗?可以。例如函数 \(x/(e^x - 1)\) 就取 \(b_0 = 1 - x/2\)、\(a_n = x^2/4\)、\(b_n = 2n + 1\),其中 \(b_n\) 随 \(n\) 增大。
如果某个分母变为零怎么办?求值器会代入一个极小的 epsilon 让计算继续进行,这与改进的 Lentz 方法(modified Lentz method)思路一致;若始终无法收敛,则会给出提示。
为什么会在 1000 项处停止?这是一个安全上限。如果到那时连分数仍未收敛,工具会返回最后一个渐近分数并附带警告。