2013-08-01 25 views
7

Ben R ortogonal polinomların üretmek çalışıyorum, ancak bir hata benNeden "poli" derecesi benzersiz noktaların sayısından daha az şikayet ediyor?

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

Şüphesiz benzersiz noktaların sayısı 1000 anlamıyorum almaya devam? Bu ne demek? Bu bir hata mıdır, ve eğer öyleyse, etrafta çalıştığımı bilen var mı?

Düzeltme: Bu, herhangi bir sayı için> 27 dereceye tekabül eder gibi görünüyor - bu belgelenmemiş bir sınır mı?

+3

Merak etme, neden 50. dereceden bir polinom oluşturmak istiyorsunuz? İçtenlikle modelleme için değil umuyoruz ... – Justin

+0

Hayır, bu modelleme için değil, ama şimdi böyle koymak, 50 için işe yaramazsa daha az şaşırıyorum! Yaptığım şeye çok dalmıştım, çoğu insanın bu işlevi ne için kullandığını unutmuştum. (Kısaca açıklamak biraz karmaşıktır, ama bir aralıkta rastgele analitik fonksiyonlar üretmekle ilgilidir) – Corone

cevap

12

Sayısal taşma. n (istediğiniz polinomun derecesi) 50 olduğunda, ortaya çıkan terimler gitmek

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

ve: Eğer poly için koduna baktığımızda, bunu bir ara adım olarak bireysel polinom terimleri üretiyor göreceksiniz 1e132'ye kadar.

+0

Harika teşekkürler - Justin'in yukarıda belirttiği gibi, bu fonksiyon için gerçekten hedeflenen bir kullanım değil, şikayet edemem ! – Corone

İlgili konular