如何线性分配值

时间:2014-01-10 00:21:58

标签: javascript distribution

我总共有10,000个我希望分布在99个点之间,不是平均分配,而是在增加的线性曲线上。因此,虽然第一点可能仅值[例如] 10,但每个后续点值得更多,直到最后一点值得[例如] 250左右。但所有积分都需要10,000。我怎么能这样做?

//编辑:10和250的第一个和最后一个值只是示例,它们可能是真的。虽然总数(10,000)需要变量,但如果需要,我可以稍后将其更改为20,000。

3 个答案:

答案 0 :(得分:1)

获取值为[1,2,3,4,..,99]的99个单元格,并将每个数字乘以S/4950,其中S是所需的总和(例如S = 10,000)。

答案 1 :(得分:0)

从3点开始,上升到199点,共99点,总计10,000点。这是一个硬件问题吗?

var total = 0;
for (var i = 1; i < 100; i += 1) {
    total += i * 2 + 1;
}
alert(total);

答案 2 :(得分:0)

这很模糊,但如果第一个点的值为X且连续点之间的差距为Y,那么总共有99个这样的点

 (99 * X) + (0.5 * 99 * 98 * Y)

您可以使用此公式来使用合适的XY值,以满足您的总数10,000。例如,您可以先修复X然后解决Y的总数,但这可能不会产生整数结果,这可能会使其不合适。不幸的是,对于某些总计,可能没有整数解XY,但您的要求似乎相当随意,因此我相信您可以使用上述方法得出X的合适值,{ {1}}以及您需要的总额。在你得到更好的答案之前,它可能会为你服务。