【问题标题】:Why is `poly` complaining about degree less than number of unique points?为什么`poly`抱怨程度小于独特点的数量?
【发布时间】:2013-08-01 15:56:48
【问题描述】:

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

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

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

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

【问题讨论】:

  • 出于好奇,您为什么要生成 50 阶多项式?我真诚地希望它不是为了建模......
  • 不,它不是用来建模的,但现在你这么说,我对它不适合 50 岁感到不那么惊讶!我全神贯注于自己在做什么,以至于忘记了大多数人可能使用此功能的目的。 (简单解释有点复杂,不过是在一个区间内生成随机解析函数)

标签: r polynomial-math


【解决方案1】:

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

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

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

【讨论】:

  • 非常感谢 - 我不能抱怨,正如 Justin 上面指出的那样,这并不是这个函数的真正目标用法!
猜你喜欢
  • 2012-05-13
  • 2015-06-09
  • 2020-08-12
  • 2016-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-17
  • 1970-01-01
相关资源
最近更新 更多