这个计算器能做什么
本工具可以按一连串模数 k 的取值,生成两类完全椭圆积分的数值表:第一类积分 K(k) 和第二类积分 E(k)。你只需给出起始值、步长以及希望生成的行数,计算器便会从初始 k 出发,每行递增一个步长,并逐行输出对应的 K(k) 与 E(k)。这属于纯数学(特殊函数)范畴,在全球任何场景下结果都完全一致。
使用方法
请依次填写 k 的初始值(即模数,是一个无量纲比值,需满足 -1 ≤ k ≤ 1)、每行递增的步长(可以为负数),以及 重复次数(即行数,须为 ≥ 1 的整数)。举例来说,初始值取 0、步长取 0.02、共 51 行,就能让 k 从 0.00 一直扫到 1.00。由于这两个积分只与 k 的平方有关,因此 k 取负值与取对应正值得到的结果完全相同。
公式解析
这里使用的自变量是模数 k,而非参数 m = k²,请注意区分。写成积分形式时,K(k) 等于 dθ / sqrt(1 - k² sin²θ) 在 0 到 pi/2 上的积分;E(k) 则是 sqrt(1 - k² sin²θ) dθ 在同一区间上的积分。我们采用收敛快、精度高的算术几何平均算法(AGM)来求值:K(k) = pi / (2 · AGM(1, sqrt(1 - k²)))。对于 E,则累加 AGM 过程中的 c 项:E(k) = K(k) · (1 - Σ 2^(n-1) c_n²),其中 c_0² = k²。
实例演算
以 k = 0.5 为例:1 - k² = 0.75,开平方得 0.8660254。AGM(1, 0.8660254) ≈ 0.9318082,因此 K(0.5) = pi / (2 · 0.9318082) = 1.6857503548。c 项之和约为 0.1339804,于是 E(0.5) = 1.6857503548 · (1 - 0.1339804) = 1.4603362889。
常见问题
当 k = 1 时会怎样? 此时 K(1) 发散至无穷大,而 E(1) 恰好等于 1。在边界这一行,表格会显示 K 为“无穷大(Infinity)”、E 为 1,而不会报错崩溃。
计算器用的是 k 还是 m? 用的是模数 k。如果你手头是参数 m,请先开平方(k = sqrt(m))再填入。
如果 |k| > 1 呢? 这已经超出实数定义域 -1 ≤ k ≤ 1,相应的行会被标记为“超出定义域”。