2010-05-18 12 views
5

मेरे पास 358 नंबरों का वेक्टर है। मैं इस वेक्टर का संख्यात्मक एकीकरण करना चाहता हूं, लेकिन मुझे इस के कार्य को नहीं पता है।मैटलैब में वेक्टर का संख्यात्मक एकीकरण कैसे करूं?

मुझे पता चला कि हम जाल या ट्रैक्टर का उपयोग कर सकते हैं, लेकिन मुझे वास्तव में यह समझ में नहीं आता कि फ़ंक्शन के बिना एकीकृत कैसे किया जाए।

+0

एक ऐसी ही सवाल है, जहां मैं trapz का उपयोग एकीकृत करने के लिए करने के लिए अपने जवाब पर एक नज़र डालें: http://stackoverflow.com/questions/2641809/calculate- एक्स बिंदुओं के बीच दूरी से गुणा करके ठीक किया जा सकता क्षेत्र-अंडर-एफएफटी-ग्राफ-इन-मैटलैब/2641824 # 2641824 – Jonas

+0

मैं इसे एक टिप्पणी के रूप में जोड़ूंगा क्योंकि यह उचित उत्तर होने के लिए बहुत छोटा है। MATLAB के अंतर्निहित इन्स का उपयोग किए बिना एकीकृत करने के लिए आपको उपयोग के लिए दिमाग में एक संख्यात्मक विधि की आवश्यकता होगी। Trapezoid विधि सबसे सरल में से एक है; आप बस रेखा से जुड़े आसन्न बिंदुओं के बीच ग्राफ के नीचे क्षेत्र पाते हैं (1 का x-axis अंतराल मानते हैं, क्योंकि प्रश्न में कोई अंतराल का उल्लेख नहीं किया गया था)। ऐसी धारणा के तहत, वेक्टर "एफएक्स" के लिए एक सरल और निष्पक्ष योजना होगी (एफएक्स (2: अंत) + एफएक्स (1: अंत -1))/2। –

+0

ट्रैप और क्वाड द्वारा उपयोग की जाने वाली संख्यात्मक योजनाओं को दस्तावेज़ में कुछ हद तक वर्णित किया गया है, आप उन्हें MATLAB की सहायता फ़ाइल या ऑनलाइन में देख सकते हैं। यदि आप एक साधारण एल्गोरिदम का पूर्ण विवरण चाहते हैं, तो मुझे बताएं और मैं एक और पूर्ण उत्तर जोड़ूंगा। –

उत्तर

7

आपको संख्यात्मक रूप से एकीकृत करने के लिए फ़ंक्शन को जानने की आवश्यकता नहीं है; यह trapz और quad का बिंदु है। बस अपने वेक्टर trapz पास करें। यहां a link to the documentation है।

2

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

आप इस विधि के बारे में अधिक पढ़ सकते हैं, उदाहरण के लिए, Wikipedia पर।

8

यदि आप अपने वेक्टर की क्षैतिज दूरी को जानते हैं, तो आप फ़ंक्शन के बिना इसे एकीकृत करने के लिए trapz का उपयोग कर सकते हैं। उदाहरण के लिए, 358 वर्गों के साथ अनुकरणीय 0 से y=sin(x) एकीकृत करने के लिए,

x=0:pi/357:pi; 
y=sin(x); 
area=trapz(x,y); 

तुम सिर्फ trapz(y) का उपयोग करते हैं, तो आप अपेक्षाकृत बड़ी संख्या मिल जाएगा, क्योंकि अंक के बीच डिफ़ॉल्ट दूरी 1. इस समस्या माना जाता है

area=pi/357*trapz(y); 
संबंधित मुद्दे