将数学翻译成 JavaScript; convergent/divergent 系列

Translating math to JavaScript; convergent/divergent series

我正在尝试计算 JavaScript 中的以下系列:

我的代码如下:

var res = []
for(var i=0; i<1000; i++) {
    res.push(i / ((i * Math.sqrt(i + 1)) + ((i + 1) * Math.sqrt(i))))
}

但这使得系列可能收敛于 0 而不是接近 1。这是前 150 步:

我从数学到 JavaScript 的翻译有问题吗?也许是我的括号?

更新

根据@Barmar 的回答,正确的代码显示仅对于较小的无穷大值收敛到 1,在 4 步后发散:

您需要将系列的每个元素添加到之前的总和中。

您还需要从 i = 1 开始,以避免除以 0。

console.config({
  maxEntries: Infinity
});

var res = [];
var sum = 0;
for (var i = 1; i < 1000; i++) {
  sum += i / ((i * Math.sqrt(i + 1)) + ((i + 1) * Math.sqrt(i)));
  res.push(sum);
}
console.log(res);
.as-console-wrapper {
  max-height: 100% !important;
}

请注意,这表明该系列实际上并未收敛到 1。从您的错误图表中也可以看出这一点,因为您可以看到前 5 个元素介于 0.195 和 [=14= 之间],这些加起来不止1.