आर

2011-11-08 9 views
9

में अनिश्चित अनंत इंटीग्रल मैं समीकरण के अनिश्चित अनंत की गणना करने के लिए देख रहा हूं।आर

मेरे पास एक दृश्य सी प्रोग्राम के माध्यम से एक एक्सेलेरोमीटर फ़ीड से आर में डेटा है, और वहां से त्वरण वक्र का प्रतिनिधित्व करने के लिए समीकरण के साथ आने के लिए काफी आसान था। यह सब ठीक है, हालांकि मुझे प्रभाव वेग की गणना करने की भी आवश्यकता है। अच्छे ओल 'हाईस्कूल दिनों से मेरी समझ से, मेरे त्वरण वक्र का अनिश्चित अनंत वेग के लिए समीकरण उत्पन्न करेगा।

मुझे पता है कि integrate() फ़ंक्शन के साथ संख्यात्मक एकीकरण करने के लिए पर्याप्त आसान है, क्या ऐसा कुछ भी है जो अनिश्चित अनंत के लिए तुलनीय है?

yacas("Integrate(x)Sin(x)") 

आप के रूप में बेन ने कहा कि समारोह संदर्भ here

+1

यदि आपका मतलब * प्रतीकात्मक * अनिश्चित अनंत है, तो नहीं। (लेकिन इंटरफेस हैं जैसे यैक ["अभी तक एक और कंप्यूटर बीजगणित प्रणाली"] जो ऐसा कर सकता है।) दूसरी तरफ, ऐसा लगता है कि सभी संख्यात्मक एकीकरण निश्चित रूप से निश्चित रूप से निश्चित है (यानी आपको एक जवाब प्राप्त करना है सीमा निर्दिष्ट करें)। –

उत्तर

1

यदि आपके द्वारा उल्लेख किया गया एनए कोई त्वरण इनपुट इंगित करने के अर्थ में जानकारीपूर्ण नहीं है तो उन्हें शून्य से प्रतिस्थापित किया जाना चाहिए। मान लेते हैं कि आप acc.vec में डेटा और डिवाइस rec_per_sec की दर से दर्ज की गई है दो:

acc.vec[is.na(ac.vec)] <- 0 
vel.vec <- cumsum(acc.vec)/recs_per_sec 

मैं निर्माण एक सबसे अच्छा फिट वक्र इस उदाहरण में अपने सटीकता में सुधार करने जा रहा है नहीं लगता है। वेग बनाम समय प्लॉट करने के लिए:

plot(1:length(acc.vec)/recs_per_sec, vel.vec, 
     xlab="Seconds", ylab="Integrated Acceleration = Velocity") 
+0

प्रतिक्रिया के लिए धन्यवाद! डेटा में कोई एनए नहीं है, एक्सेलेरोमीटर से इनपुट हमेशा एक मान है, मैंने कभी भी अपने बफर से 0 का मूल्य नहीं देखा है। वेग बनाम समय संकेत के लिए धन्यवाद! बहुत अच्छा काम करता है! मैंने इसे लगभग छोड़ दिया था, फिर सोचा कि आईडी एक और बार यहां वापस जांचें। – user1003131

9
library(Ryacas) 
x <- Sym("x") 
Integrate(sin(x), x) 

expression(-cos(x)) 

एक वैकल्पिक तरीका देता है एक समारोह। लेकिन आपको शायद खुद से पूछना चाहिए कि क्या आप वास्तव में एक सतत कार्य उत्पन्न करना चाहते हैं जो केवल आपके डेटा को पहले स्थान (फिटिंग त्रुटियों) का अनुमान लगाता है। मैं आपके वास्तविक डेटा के संख्यात्मक एकीकरण के साथ रहना चाहता हूं। निश्चित रूप से प्रत्येक डेटा बिंदु में अनिश्चितता को ध्यान में रखें।

+2

रियाकास के अलावा, आरएसआईएमपी पैकेज है, जो सीएएस के लिए पायथन के सिम्पी का उपयोग करता है। – jthetzel

1

पा सकते हैं, के antiderivative की गणना के लिए Ryacas पैकेज का प्रयास करें:

+0

बेशक, आप एक चिकनाई स्पलीन (http://stackoverflow.com/questions/7953135/r-perfect-smoothing-curve) फिट कर सकते हैं और इसे एकीकृत कर सकते हैं ... –

+0

इनपुट के लिए सभी को धन्यवाद! मैं अनिश्चित अनंत की तलाश में था क्योंकि मैं वेग - समय ग्राफ को भी प्लॉट करना चाहता था (दृश्य उद्देश्यों के लिए ... अविश्वसनीय रूप से सटीक नहीं होना चाहिए)। याकास पर टिप के लिए धन्यवाद, लेकिन ऐसा लगता है कि मैंने इसमें जो फ़ंक्शन पारित किया था (एनए का जबरन द्वारा उत्पादित)। मुझे लगता है कि मैं अपने त्वरण समारोह में वृद्धिशील रूप से एकीकृत कर सकता हूं क्योंकि एक बिंदु पर वेग 0 से उस बिंदु के एकीकरण के बराबर है, हालांकि एक सभ्य वक्र प्राप्त करने के लिए इसे पर्याप्त संख्या में पुनरावृत्तियों की आवश्यकता होगी। – user1003131