Saturday 10 March 2018

चलती - औसत - विधि - इन - matlab


MATLAB का उपयोग करके, मैं मैट्रिक्स के एक विशिष्ट कॉलम के 3-दिवसीय चल औसत को कैसे प्राप्त कर सकता हूं और मैट्रिक्स में चलती औसत को जोड़ता हूँ, मैट्रिक्स के नीचे से 3-दिन चलती औसत की गणना करने की कोशिश कर रहा हूं। मैंने अपना कोड प्रदान किया है: निम्नलिखित मैट्रिक्स और मुखौटा को देखते हुए: मैंने रूपांतरण आदेश लागू करने की कोशिश की है लेकिन मुझे एक त्रुटि मिल रही है मैं एक मैट्रिक्स के दूसरे कॉलम पर उपयोग करने का प्रयास कर रहा हूं: a: मैं चाहता हूँ कि आउटपुट निम्नलिखित मैट्रिक्स में दिया गया है: यदि आपके पास कोई सुझाव है, तो मैं इसकी सराहना करता हूं। मैट्रिक्स के कॉलम 2 के लिए धन्यवाद, मैं 3-दिन चलती हुई औसत की गणना करता हूं और परिणाम को मैट्रिक्स के कॉलम 4 में रखता हूं (मैट्रिक्स का नाम बदलकर सिर्फ 39desiredOutput39 के रूप में चित्रण के लिए)। 17, 14, 11 की 3-दिवसीय औसत 14, 11, 8 की 3-दिन की औसत 11 है, 11 की औसत से तीन दिन की औसत, 8, 5 है 8 और 3-दिन की औसत 8, 5, 2 5 है। 4 स्तंभ के लिए नीचे 2 पंक्तियों में कोई मूल्य नहीं है क्योंकि 3-दिवसीय चलती औसत के लिए गणना तल पर शुरू होती है। 39valid39 आउटपुट को कम से कम 17, 14, और 11 तक नहीं दिखाया जाएगा। उम्मीद है कि यह समझना चाहिए हारून जून 12 13 पर 1:28 सामान्य तौर पर अगर आप त्रुटि दिखाते हैं तो यह मददगार होगा इस मामले में आप दो चीजों को गलत कर रहे हैं: सबसे पहला आपका रूपांतरण को तीन (या चलती औसत की लंबाई) से विभाजित करने की आवश्यकता है दूसरा, सी के आकार को नोटिस करें। आप केवल एक में फिट नहीं कर सकते चलती औसत प्राप्त करने का सामान्य तरीका उसी का उपयोग करना होगा: लेकिन ऐसा नहीं लगता कि आप क्या चाहते हैं। इसके बजाय आपको कुछ पंक्तियों का उपयोग करने के लिए मजबूर किया जाता है: बुधवार, 08 अक्टूबर 2008 20:04 को अंतिम गुरुवार, 14 मार्च 2013 को प्रकाशित किया गया था। Batuhan Osmanoglu हिट्स द्वारा लिखित: 41492 Matlab में औसत चल रहा है अक्सर मैं खुद की जरूरत डेटा को औसत करने के लिए मुझे शोर को थोड़ा कम करना होगा मैंने वही काम करने के लिए कुछ कार्य किया जो मुझे चाहिए, लेकिन फ़िल्टर फ़ंक्शन में निर्मित matlabs बहुत अच्छी तरह से काम करता है। यहां बीमार डेटा के 1 डी और 2 डी औसत के बारे में लिखते हैं I फिल्टर फ़ंक्शन का उपयोग करके 1 डी फ़िल्टर को महसूस किया जा सकता है। फिल्टर फ़ंक्शन के लिए कम से कम तीन इनपुट पैरामीटर की आवश्यकता होती है: फिल्टर के लिए अंश गुणांक (बी), फिल्टर (ए) के लिए छेदक गुणांक, और डेटा (एक्स) पाठ्यक्रम का। चल रहे औसत फिल्टर को बस से परिभाषित किया जा सकता है: 2 डी डेटा के लिए हम मेटलैब फिल्टर 2 फ़ंक्शन का उपयोग कर सकते हैं। फ़िल्टर कैसे काम करता है, इसके बारे में अधिक जानकारी के लिए, आप टाइप कर सकते हैं: 16 16 औसत औसत फिल्टर के साथ एक त्वरित और गंदे कार्यान्वयन है। पहले हमें फ़िल्टर को परिभाषित करने की आवश्यकता है। चूंकि हम चाहते हैं कि सभी पड़ोसियों का समान योगदान है, हम केवल उन कार्यों का उपयोग कर सकते हैं। हम 256 (1616) के साथ सब कुछ विभाजित करते हैं क्योंकि हम सिग्नल के सामान्य स्तर (आयाम) को बदलना नहीं चाहते हैं। फ़िल्टर को लागू करने के लिए हम बस नीचे बता सकते हैं कि एसएआर इंटरफेरोग्राफ के चरण के परिणाम निम्न हैं इस मामले में रेंज वाई अक्ष में है और अज़ीमुथ को एक्स अक्ष पर मैप किया गया है। फिल्टर रेंज में 4 पिक्सल चौड़ा और अज़ीमुथ में 16 पिक्सल चौड़ा था। मुझे लूप के भीतर एक डेटा सीरीज़ पर चलती औसत की गणना करने की आवश्यकता है I मुझे N9 दिनों से बढ़ते औसत प्राप्त करना होगा सरणी आईएम कंप्यूटिंग में 365 मान (एम) की 4 श्रृंखला होती है, जो स्वयं डेटा के दूसरे सेट का मतलब मान है। मैं एक साजिश में चलती औसत के साथ अपने डेटा के माध्य मूल्यों को साजिश करना चाहता हूं। मैं मूविंग एवरेज और कमान कमांड के बारे में थोड़ी गलती कर रहा था और मुझे कुछ ऐसा मिला जो मैंने अपने कोड में कार्यान्वित करने की कोशिश की थी .: तो बुनियादी तौर पर, मैं अपना मतलब गणना करता हूं और उसे (गलत) चलती औसत से साजिश करता हूं। मैंने मथवर्क साइट से ठीक वेट वैल्यू को चुना, इसलिए यह गलत है। (स्रोत: mathworks. nlhelpeconmoving-average-trend-estimation. html) मेरी समस्या हालांकि, यह है कि मुझे यह समझ में नहीं आता है कि यह वेट क्या है क्या किसी को समझाया जा सकता है यदि मूल्यों के वजन के साथ कुछ करना है: इस मामले में यह अमान्य है। सभी मूल्यों को वही भारित किया जाता है और अगर मैं यह पूरी तरह से गलत कर रहा हूं, तो क्या मैं इसके साथ कुछ मदद कर सकता हूं मेरा धन्यवाद धन्यवाद ने कहा कि 23 सितंबर को 1 9 .0 9 को प्रयोग चलने वाले औसत को लागू करने का एक शानदार तरीका है। जिस कोड में आप उपयोग कर रहे हैं, वेट यह है कि आप प्रत्येक मान को कितना वजन कर रहे हैं (जैसा आपने अनुमान लगाया है)। उस वेक्टर का योग हमेशा एक के बराबर होना चाहिए यदि आप प्रत्येक मूल्य को समान रूप से भारित करना चाहते हैं और एक आकार एन चलती फ़िल्टर करना चाहते हैं, तो आप मान्य तर्क में प्रयोग करना चाहते हैं, इसके परिणामस्वरूप आपको एम में एमएस की तुलना में कम मूल्य मिलेगा। यदि आप इसके प्रभाव को न सोचें शून्य पैडिंग यदि आपके पास सिग्नल प्रोसेसिंग टूलबॉक्स है तो आप cconv का उपयोग कर सकते हैं यदि आप एक परिपत्र चलती औसत की कोशिश करना चाहते हैं। यदि आप पहले से ही मौजूद हैं, तो अधिक जानकारी के लिए आपको रूपांतरण और cconv दस्तावेज़ को पढ़ना चाहिए। डाउनलोड करें movAv. m (movAv2 भी देखें - जो कि भारित की अनुमति देने वाला एक अद्यतन संस्करण है) विवरण मैटलैब में movavg और tsmovavg (समय-श्रृंखला में चलती औसत) नामक फ़ंक्शन शामिल हैं वित्तीय उपकरण बॉक्स, movAv इन की बुनियादी कार्यक्षमता को दोहराने के लिए डिज़ाइन किया गया है। कोड यहाँ लूप के अंदर अनुक्रमित प्रबंधित करने का एक अच्छा उदाहरण प्रदान करता है, जो कि शुरू से भ्रामक हो सकता है। Ive जानबूझकर इस प्रक्रिया को स्पष्ट रखने के लिए कोड छोटा और सरल रखा। movAv एक सरल चलती औसत प्रदर्शन करता है जिसे कुछ स्थितियों में शोर डेटा प्राप्त करने के लिए उपयोग किया जा सकता है यह एक स्लाइडिंग समय खिड़की पर इनपुट (वाई) का मतलब उठाकर काम करता है, जिसका आकार n द्वारा निर्दिष्ट किया जाता है बड़ा एन यह है कि, एन के प्रभाव को चौरसाई करने के लिए अधिक मात्रा इनपुट वेक्टर y की लंबाई के बराबर होती है। और प्रभावी रूप से (अच्छी तरह से,) एक लोपास आवृत्ति फ़िल्टर बनाता है - उदाहरण और विचार अनुभाग देखें। चूंकि एन के प्रत्येक मान द्वारा प्रदान किए गए चौरसाई की मात्रा इनपुट वेक्टर की लंबाई के सापेक्ष है, क्योंकि यह उचित देखने के लिए हमेशा भिन्न मूल्यों का परीक्षण करता है। यह भी याद रखें कि एन अंक हर औसत पर खो जाते हैं यदि n 100 है, तो इनपुट वेक्टर के पहले 99 अंक में 100pt औसत के लिए पर्याप्त डेटा नहीं है। यह औसत स्टैकिंग द्वारा कुछ हद तक बचा जा सकता है, उदाहरण के लिए, नीचे दी गई कोड और ग्राफ़ कई अलग-अलग लंबाई विंडो औसत की तुलना करती है। नोटिस कैसे सहज 1010pt एक एकल 20pt औसत से तुलना की है। दोनों मामलों में कुल आंकड़ों के 20 अंक खो जाते हैं। Xaxis x1 बनाएँ: 0.01: 5 शोर शोर उत्पन्न करें रिप्ले 4 शोर repmat (randn (1, ceil (numel (x) शोर रेप्स), शोर रेप्स, 1) शोर रेसिप (शोर, 1, लम्बाई (शोर) शोर रेप्स) ydata शोर yexp उत्पन्न करें एक्स) 10 नोईस (1: लंबाई (एक्स)) औसत से अधिक: y2 movAv (y, 10) 10 पीटी y3 movAv (y2, 10) 1010 पीटी y4 movAv (y, 20) 20 pt y5 movAv (y, 40) 40 pt y6 movAv (y, 100) 100 pt प्लॉट आकृति प्लॉट (एक्स, वाई, y2, y3, y4, y5, y6) किंवदंती (कच्चा डेटा, 10pt चलती औसत, 1010pt, 20pt, 40pt, 100pt) xlabel (x) ylabel ( y) शीर्षक (मूविंग एवरेज की तुलना) movAv. m कोड रन-थ्रू फ़ंक्शन आउटपुट MOVAV (y, n) पहली पंक्ति कार्य नाम, इनपुट और आउटपुट को परिभाषित करती है इनपुट एक्स औसत पर प्रदर्शन करने के लिए डेटा का एक सदिश होना चाहिए, एन औसत पर आउटपुट में प्रदर्शन करने के लिए अंकों की संख्या होना चाहिए, फ़ंक्शन द्वारा लौटाए गए औसतन आंकड़े शामिल होंगे। आउटपुट आउटपुट को एनएएन (1, संख्या (वाई)) मध्यबिंदु के मध्य बिंदु खोजें (एन 2) फ़ंक्शन का मुख्य कार्य लूप के लिए किया जाता है, लेकिन दो चीजें शुरू करने से पहले तैयार हैं। सबसे पहले आउटपुट को एनएएन के रूप में पूर्व-आवंटित किया गया है, इसने दो उद्देश्यों को पूरा किया सबसे पहले, प्रीलावलेंस आमतौर पर अच्छा अभ्यास है क्योंकि मैटलिजिंग मेटलैब को कम करना पड़ता है, दूसरी बात यह है कि यह औपचारिक आंकड़ों को आउटपुट में इनपुट वेक्टर के समान आकार के स्थान पर रखना आसान बनाता है। इसका मतलब है कि एक ही xaxis दोनों के लिए बाद में इस्तेमाल किया जा सकता है, जो प्लॉटिंग के लिए सुविधाजनक है, वैकल्पिक रूप से NaN को बाद में कोड की एक पंक्ति में निकाल दिया जा सकता है (आउटपुट आउटपुट (वेरिएबल मिडपॉइंट का इस्तेमाल आउटपुट वेक्टर में डेटा को संरेखित करने के लिए किया जाएगा। एन 10, 10 अंक खो जाएंगे, क्योंकि इनपुट वेक्टर के पहले 9 अंक के लिए, 10 अंक औसत लेने के लिए पर्याप्त डेटा नहीं है। जैसा कि इनपुट इनपुट से कम होगा, इसे ठीक से गठबंधन करने की आवश्यकता होगी। उपयोग किया जाता है, इसलिए शुरूआती और अंत में एक बराबर मात्रा में डेटा खो जाता है, और इनपुट को 1: लंबाई (y) - n के लिए आउटलेट आउटलेट करते समय बनाए गए NaN बफ़र्स द्वारा आउटपुट के साथ गठबंधन रखा जाता है- एन इंडेक्स रेंज को औसत लेता है ओवर (ए: बी) प्रतिबंध मतलब उत्पादन (बीच में) का अर्थ है (y (a: b)) अंत में लूप के लिए, इनपुट के प्रत्येक लगातार खंड पर एक मतलब लिया जाता है। लूप ए के लिए चलाया जाएगा जो कि इनपुट (y) की लंबाई तक 1 के रूप में परिभाषित किया गया, डेटा खो जाने वाला डेटा (n)। यदि इनपुट 100 अंक है तो एनजी और एन 10 है, लूप 1 से 9 0 तक चलेगा। इसका मतलब है कि औसतन सेगमेंट के पहले इंडेक्स प्रदान करता है। दूसरा सूचकांक (बी) बस एक -1 है तो पहले पुनरावृत्ति पर, a1 n10 तो ख 11-1 10 पहला औसत वाई (ए: बी) पर लिया जाता है। या एक्स (1:10)। इस सेगमेंट का औसत, जो कि एक एकल मान है, सूचकांक के बीच उत्पादन में संग्रहीत है। या 156. दूसरे आवृत्ति पर, ए 2 बी 210-1 11 तो इसका अर्थ एक्स (2:11) पर लिया जाता है और आउटपुट (7) में संग्रहीत होता है। लंबाई 100, एक 9 1 के इनपुट के लिए लूप की अंतिम पुनरावृत्ति पर। बी 9010-1 100 तो मतलब एक्स (91: 100) के ऊपर लिया जाता है और आउटपुट में संग्रहित होता है (95)। यह सूचकांक (1: 5) और (96: 100) पर कुल (10) एनएएन मूल्यों के साथ उत्पादन छोड़ देता है। उदाहरण और विचार मूविंग एवरेज कुछ स्थितियों में उपयोगी होते हैं, लेकिन वे हमेशा सर्वश्रेष्ठ विकल्प नहीं देते हैं। ये दो उदाहरण हैं जहां वे जरूरी इष्टतम नहीं हैं माइक्रोफोन कैलिब्रेशन डेटा का यह सेट स्पीकर द्वारा उत्पादित प्रत्येक आवृत्ति के स्तर का प्रतिनिधित्व करता है और एक ज्ञात रेखीय प्रतिक्रिया के साथ माइक्रोफ़ोन द्वारा दर्ज किया गया है। स्पीकर का उत्पादन आवृत्ति के साथ बदलता रहता है, लेकिन हम अंशांकन डेटा के साथ इस बदलाव के लिए सही कर सकते हैं - अंशांकन में अंशांकन में उतार-चढ़ाव के लिए आउटपुट को समायोजित किया जा सकता है ध्यान दें कि कच्चे आंकड़ा शोर है - इसका मतलब है कि आवृत्ति में एक छोटा परिवर्तन के लिए एक बड़े, अनियमित, स्तर के लिए खाते में परिवर्तन की आवश्यकता होती है। क्या यह यथार्थवादी है या क्या यह रिकॉर्डिंग पर्यावरण का एक उत्पाद है इस मामले में उचित चलने वाले औसत को लागू करने के लिए जो स्तर की कमी को वक्रित करने के लिए एक अंशांकन वक्र प्रदान करता है जो थोड़ा कम अनियमित है लेकिन इस उदाहरण में यह इष्टतम क्यों नहीं है अधिक डेटा बेहतर होगा - कई कैलिब्रेशन एक साथ चलने वाले सिस्टम में शोर को नष्ट कर देगा (जब तक कि इसके यादृच्छिक रूप से) और कम सूक्ष्म विवरणों के साथ एक वक्र प्रदान करते हैं चलती औसत केवल यह अनुमान लगा सकते हैं, और वास्तव में मौजूद वक्र से कुछ उच्च आवृत्ति डुबकी और चोटियों को निकाल सकते हैं। साइन लहरें साइन लहरों पर चलती औसत का उपयोग करके दो बिंदुओं को दर्शाया गया है: सामान्य औसत अंक को चुनने के लिए उचित अंकों की संख्या चुनने का सामान्य मुद्दा। इसकी सरल है, लेकिन सिग्नल विश्लेषण के अधिक प्रभावी तरीके समय डोमेन में ओसीसिंग संकेतों की तुलना में हैं। इस आलेख में, मूल साइन लहर को नीले रंग में रखा गया है। शोर को नारंगी वक्र के रूप में जोड़ दिया गया है और प्लॉट किया गया है। यह देखने के लिए कि मूल लहर को पुनर्प्राप्त किया जा सकता है, तो एक चल औसत औसत अंकों के विभिन्न अंकों पर किया जाता है। 5 और 10 अंक उचित परिणाम प्रदान करते हैं, लेकिन शोर पूरी तरह से दूर नहीं करते हैं, जहां अधिक से अधिक अंकों के आयाम के विस्तार को खोना शुरू हो जाता है क्योंकि औसत चरणों में भिन्नता है (याद रखें कि लहर शून्य के आसपास, और मतलब (-1 -1) 0) । एक वैकल्पिक दृष्टिकोण, कम से कम फिल्टर बनाने के लिए होता है, जो आवृत्ति डोमेन में सिग्नल पर लागू किया जा सकता है। मैं विस्तार में नहीं जा रहा हूं क्योंकि यह इस लेख के दायरे से परे है, लेकिन जैसा कि शोर मौलिक आवृत्ति से काफी अधिक आवृत्ति है, इस मामले में उच्च आवृत्ति को दूर करने से कम से कम फिल्टर बनाने के लिए यह काफी आसान होगा शोर।

No comments:

Post a Comment