12

我正在尝试在 R 中生成正交多项式,但我不断收到我不理解的错误

> poly(1:1000, 50)
Error in poly(1:1000, 50) : 
  'degree' must be less than number of unique points

唯一点的数量肯定是 1000?这是什么意思?这是一个错误吗,如果是这样,有人知道我可以解决吗?

编辑:对于任意数量的点,这似乎适用于度数 > 27 - 这是一个未记录的限制吗?

4

1 回答 1

15

数值溢出。如果您查看 的代码poly,您会发现它正在生成单个多项式项作为中间步骤:

X <- outer(x, seq_len(n) - 1, "^")

n(你想要的多项式的次数)是 50 时,结果项上升到 1e132。

于 2013-08-01T16:03:25.357 回答