2013-08-01 51 views
7

我試圖生成中的R正交多項式,但我不斷收到一個錯誤,我不明白爲什麼`poly`抱怨程度低於獨特點的數量?

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

肯定的獨特點的數量是1000?這是什麼意思?這是一個錯誤,如果有的話,是否有人知道我工作?

編輯: 這似乎踢任何數量的點> 27度 - 這是一個無證的限制?

+3

出於好奇,爲什麼你想要生成一個50階多項式?我真誠地希望它不是用於建模...... – Justin

+0

不,它不是用於建模,但現在你把它放在那裏,我不會感到驚訝,它不適用於50!我非常專注於我正在做的事情,我忘記了大多數人可能會使用這個功能。 (簡單解釋有點複雜,但它是在一段時間間隔內產生隨機分析函數) – Corone

回答

12

數值溢出。如果你看一下poly的代碼,你會看到它產生的個人多項式項作爲一箇中間步驟:

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

n(你想要的多項式的次數)爲50,所產生的條款去最高1e132。

+0

非常感謝 - 我無法抱怨,就像Justin上面指出的那樣,這不是真正的函數目標用法! – Corone

相關問題