Thursday 25 January 2018

C - مصدر الحركة من المتوسط


هل من الممكن تنفيذ المتوسط ​​المتحرك في C دون الحاجة إلى نافذة من العينات. أنا وجدت أنني يمكن أن تحسن قليلا، عن طريق اختيار حجم النافذة التي سا السلطة من اثنين للسماح بتغيير قليلا بدلا من تقسيم، ولكن لا تحتاج إلى المخزن المؤقت سيكون لطيفا هل هناك طريقة للتعبير عن نتيجة متوسط ​​متحرك جديد فقط كدالة للنتيجة القديمة وعينة جديدة. تحديد المتوسط ​​المتحرك المثال، عبر نافذة من 4 عينات لتكون. إضافة عينة جديدة إي يمكن أن ينفذ المتوسط ​​المتحرك بشكل متكرر، ولكن لحساب دقيق للمتوسط ​​المتحرك عليك أن تتذكر أقدم عينة المدخلات في المجموع أي في المثال الخاص بك لطول N المتوسط ​​المتحرك الذي compute. why ين هو إشارة الإخراج و شن هو إشارة الدخل إق 1 يمكن أن تكون مكتوبة بشكل متكرر. لذلك تحتاج دائما إلى تذكر عينة x ن من أجل حساب 2. كما أشار كونراد تيرنر، يمكنك استخدام نافذة أسي طويلة بلا حدود بدلا من ذلك، والذي يسمح لك لحساب الإخراج فقط من الماضي بها ولكن هذا ليس متوسطا متحركيا غير مرجح، ولكن متوسط ​​متحرك مرجح أضعافا مضاعفة، حيث تحصل عينات أخرى في الماضي على وزن أقل، ولكن على الأقل من الناحية النظرية لن تنسى أبدا أي شيء تكون الأوزان أصغر حجما وأصغر فقط عينات بعيدة في الماضي. أنا نفذت المتوسط ​​المتحرك دون ذاكرة البند الفردية لبرنامج تتبع غس أنا كتبت. أبدأ مع 1 عينة وتقسيم 1 للحصول على avg. I الحالي ثم إضافة أنوث عينة وتقسيم بنسبة 2 إلى ويستمر هذا حتى تصل إلى طول المتوسط. في كل مرة بعد ذلك، وأضيف في العينة الجديدة، والحصول على متوسط ​​وإزالة هذا المتوسط ​​من المجموع. أنا لست رياضيات ولكن هذا يبدو وكأنه وسيلة جيدة ل تفعل ذلك أنا أحسب أنه من شأنه أن يحول المعدة من رجل الرياضيات الحقيقي ولكن، اتضح أنها هي واحدة من الطرق المقبولة للقيام بذلك وأنها تعمل بشكل جيد فقط تذكر أن ارتفاع طول الخاص بك أبطأ هو اتباع ما تريد أن تتبع قد لا يهم ذلك الوقت ولكن عند الأقمار الصناعية التالية، إذا كنت بطيئا، يمكن أن يكون درب بعيدا عن الموقف الفعلي، وسوف تبدو سيئة هل يمكن أن يكون هناك فجوة بين جلس والنقاط زائدة اخترت طول 15 تحديث 6 مرات في الدقيقة الواحدة إلى الحصول على تجانس كافية وليس الحصول على مسافة بعيدة جدا عن موقف سات الفعلي مع دوت ممهدة دوتس. 16 نوفمبر 16 في 23 03.initialize الإجمالي 0، عد 0 في كل مرة رؤية قيمة جديدة. ثم إدخال واحد سكانف، واحد إضافة إجمالي نيوفالو، واحد عدد الفروقات، ومتوسط ​​عدد الفارق الكلي. وسيكون هذا متوسطا متحركا على جميع المدخلات. ولحساب المتوسط ​​فوق المدخلات الأربعة الأخيرة فقط، سيتطلب 4 مدخلات، ربما نسخ كل مدخل إلى مدخل قديم، ثم حساب الحركة الجديدة متوسط ​​كمجموع 4 المدخلات، مقسوما على 4 التحول الصحيح 2 سيكون جيدا إذا كانت جميع المدخلات إيجابية لجعل متوسط ​​الحساب. في 3 فبراير 15 في 06 06.That سيحسب فعلا المتوسط ​​الكلي وليس المتوسط ​​المتحرك كما الحصول على العد s أكبر تأثير أي عينة إدخال جديدة يصبح التلاشي صغير هيلمار فبراير 3 15 في 13 53.Your answer.2017 المكدس الصرف، وشركة وأنا أعلم أن هذا يمكن تحقيقه مع دفعة كما per. But أنا حقا ترغب في تجنب استخدام دفعة لدي غوغلد ولم يتم العثور على أي أمثلة مناسبة أو مقروءة. باسيكالي أريد أن تتبع المتوسط ​​المتحرك لتيار مستمر من تيار من أرقام النقطة العائمة باستخدام أحدث 1000 أرقام كبيانات البيانات. ما هي أسهل طريقة لتحقيق هذا. أنا تجربة استخدام صفيف دائري ومتوسط ​​متحرك أسي ومتوسط ​​متحرك أكثر بساطة ووجدت أن النتائج من المصفوفة الدائرية تناسب احتياجاتي بشكل أفضل. حققت 12 يونيو 12 في 4 38. إذا كانت احتياجاتك بسيطة، فقد تحاول فقط استخدام المتوسط ​​المتحرك الأسي. ببساطة، يمكنك إجراء متغير تراكم، وكما تبدو التعليمات البرمجية الخاصة بك في كل عينة، التعليمات البرمجية بتحديث تراكم مع القيمة الجديدة يمكنك اختيار ألفا ثابت ما بين 0 و 1، وحساب هذا. كل ما تحتاجه للعثور على قيمة أ لفا حيث تأثير عينة معينة تدوم فقط لحوالي 1000 عينة. همم، أنا لست بالتأكيد متأكد من أن هذا هو مناسب لك، والآن أن أضعه هنا المشكلة هي أن 1000 هو نافذة طويلة جدا لمتوسط ​​متحرك أسي أنا لست متأكدا من وجود ألفا التي من شأنها أن تنتشر المتوسط ​​على آخر 1000 أرقام، دون تدفق في حساب العائمة ولكن إذا أردت متوسط ​​أصغر، مثل 30 أرقام أو نحو ذلك، وهذا هو وسيلة سهلة جدا وسريعة للقيام it. resp يونيو 12 12 في 4 44. 1 على مشاركتك المتوسط ​​المتحرك الأسي يمكن أن يسمح ألفا أن يكون متغير لذلك هذا يسمح استخدامه لحساب متوسطات قاعدة الوقت على سبيل المثال بايت في الثانية إذا كان الوقت منذ آخر تحديث تراكم هو أكثر من 1 ثانية، يمكنك السماح ألفا يكون 1 0 خلاف ذلك، يمكنك أن تدع ألفا يكون أوسيكس منذ آخر تحديث 1000000 جش 12 يونيو 12 في 6 21.Basically أريد أن تتبع المتوسط ​​المتحرك لتيار مستمر من تيار من أرقام النقطة العائمة باستخدام أحدث 1000 أرقام كعينة بيانات. لا ه أن أدناه بتحديث المجموع كعناصر كما أضيفت استبدال، وتجنب مكلفة على اجتياز لحساب المجموع - اللازمة للمتوسط ​​- على الطلب. وتكون المجموع معلمة مختلفة من T لدعم مثل استخدام طويلة طويلة عندما يبلغ مجموعها 1000 ثانية ق ، و إنت ل شار s، أو ضعف إلى مجموع تعويم s. This هو معيب بعض الشيء في أن بعض الأمثلة يمكن أن تذهب الماضي إنتماكس - إذا كنت تهتم يمكنك استخدام طويلة غير موقعة أو استخدام عضو بيانات بول إضافية لتسجيل عندما الحاوية يتم شغل لأول مرة في حين ركوب الدراجات نامزيمبلز حول مجموعة أفضل ثم إعادة تسميته شيء حميدة مثل pos. leases يونيو 12 12 في 5 19.one يفترض أن عامل الفراغ عينة T هو في الواقع عامل الفراغ تي عينة أوبليس يونيو 8 14 في 11 52. أوبليس أه رصدت جيدا في الواقع أنا قصدت أن تكون باطلة عامل T عينة ولكن بالطبع يمكنك استخدام كل ما نوتياتيون كنت أحب سوف إصلاح، وذلك بفضل توني D يونيو 8 14 في 14 27.C خوارزمية للصفر الكمون الأسي المتحرك المتوسط. أحدث تعديل 2012-08- 13.I كان يحاول تنفيذ أ وانخفاض التردد قطع في ج الذي يأخذ أساسا تيار من الأرقام ويعمد إخراج تصفية عالية التردد حركة غضب، ومع ذلك فمن المهم تعتبر الأرقام المرجحة الأمامية فورا كما البيانات الوقت الحرج هو للسيطرة على محاكاة حركة قاعدة باستخدام الإخراج من قليلا من برنامج اللعبة أنا حصلت على العمل المرجح المتوسط ​​المتحرك ألغويثم ولكن يمكن أن تفعل مع شيء أكثر قليلا استجابة في الواجهة الأمامية، ولقد وجدت this. The الزائفة رمز هناك كما يلي. إدخال الأسعار نوميرسيريز، فترة نوميريسيمبل المتغيرات عامل 0، تأخر 0.if كيرنبار 1 ثم يبدأ زليما عامل السعر 2 الفترة 1 تأخر الفترة 1 2 نهاية آخر تبدأ زليما عامل 2 السعر السعر تأخر 1 عامل زليما 1 end. I في ترجمته إلى C و رمز بلدي هو على النحو التالي. ومع ذلك، فإنه لا يبدو t أن تتصرف تماما كما أنا د نتوقع يبدو أن هناك تقريبا ولكن أحيانا أحصل على قيمة أقل قليلا من جميع العناصر في قائمة الانتظار عندما تكون كلها أعلى. في طابور وعدد من العناصر فيه يتم تمرير كمعلمات، مع أحدثها في الجبهة في جميع الأوقات، كما أنني تمرير عداد متزايد ابتداء من 0 كما هو مطلوب من قبل وظيفة. أنا لست متأكدا من أنني في تفسير معنى زليما 1 بشكل صحيح كما أنها ليست واضحة في كاذبته الكاذبة، لذلك أنا افترضت أن يكون آخر مكالمة s زليما وأيضا أنا م افتراض السعر يعني في الواقع السعر 0 ربما أنا حصلت على هذا الخطأ. أنا من المفترض أن يكون نسخ القيم الفعلية زليما المحسوبة إلى طابور الأصلي قبل والمكالمة التالية أنا لا تغيير الطابور الأصلي في كل شيء آخر من مجرد تحويل جميع القيم واحد إلى النهاية وإدراج أحدث في البداية التعليمات البرمجية التي استخدمها للقيام بذلك هو. سيكون ممتنا للغاية إذا كان شخص ما مع فهم أفضل لل الرياضيات يمكن أن يرجى سانيتي تحقق هذا بالنسبة لي لمعرفة ما إذا كنت حصلت على أي شيء خاطئ قليلا. شكرا جزيلا مقدما إذا كنت يمكن أن تساعد. أولا شكرا جزيلا على المدخلات الخاصة بك، موضع تقدير كبير. وهذا يجعل من المنطقي أعتقد، لذلك أفترض ثم أفضل أنا يمكن أن نأمل هو مجرد إكسبون فإن المتوسط ​​المتحرك نتيال سيقبل القليل من التأخير ولكن سيتم تقليل ذلك من خلال الترجيح الأمامي الأثقل من المعطى المتوسط ​​المتوسط ​​المرجح المتوسط. لدي هذه الخوارزمية أيضا ولكن مشكلة مماثلة في أن القيم لا تبدو صحيحة تماما إلا إذا كان هذا هو طبيعة الصيغة. على سبيل المثال، يقول صفيف يحتوي على 16 قيم، كل 0 4775 - الإخراج هو 0 4983، ولكن أنا أتوقع أن يكون 0 4775.Does هذا تبدو الحق لك. المتوسط ​​العائم المتحرك المتدفق العائمة فلوت فلوت، إنت نومفالس، إنت كيرنتسامبل عامل تعويم ثابت 0 تعويم ثابت لاستيما 0 فلوت ema. if كيرنتسامبل 1 إما فالس 0 فاكتور 2 0 نوميت فلوت 1 0 إيما عامل فالس 0 1 0 - عامل لاستيما لاستيما إما. ريتورن إما عكس ذلك، أحيانا الإخراج هو أقل من كل واحد من المدخلات، حتى لو كانت كلها أعلى. وهي تسمى في نفس الطريقة كما زليما أعلاه، مع زيادة العداد الصيغة و بسيودوكود لهذا واحد هنا - شكرا مرة أخرى، اعتذارات لبلدي سوء الفهم لبعض الأساسيات أطيب التحيات، كريس J. As للرمز أنا نشرت، كنت الحق في الوضع حجم صفيف التي يجب أن تكون ثابتة بسهولة أما بالنسبة للأسئلة الخاصة بك. 1 ثابت مرشح يمثل قطع التردد لقد استخدمت دسب معالجة الإشارات الرقمية لهذه التقنية كي المنخفضة باس سفيلتر هو تفسير بسيط تريد قسم تحقيق الوقت المنفصل في حالتي و A هو ثابت أرسي أنهم يتحدثون عن ذلك التردد الذي يقطع هو فوق 1 2 بي A إذا لم يكن لديك فهم لنطاق التردد المجال، قد يكون هذا معقدا. في حالتك، كلما قمت بإجراء A، وانخفاض التردد أن هذا المرشح سوف تسمح، وهذا يعني أنه سيتم تسهيل المنحنى أكثر وأكثر كلما جعلت ذلك، والمزيد من الضوضاء التي يسمح بها في النظام تذكر يجب أن أكبر من أو يساوي 1 لتكون فعالة. أعيد إرفاق زلس مرة أخرى، وهذه المرة دون تغيير أرقام راند ضبط ثابت ومشاهدة كيف أنه ينعم أو مرشحات من الاختلافات عالية التردد. 2 النقطة الأخيرة من صفيف الإدخال يحتوي على أحدث قيمة .3 وينطبق الشيء نفسه على مجموعة المخرجات آخر هو أحدث قيمة. 5 نومفالس هو تعسفي يمكنك باستمرار إضافة إلى مجموعة المدخلات والمخرجات عدة مرات كما كنت د مثل وانها ر تأثير فلتر على وجه الخصوص، استخدم 49 نقطة ولكن يمكنني بسهولة حذف آخر 20 و 29 المخرجات الأولى ستبقى هي نفسها وظيفة ليست على أساس عدد النقاط المستخدمة. أود أن أذكر أنني وضعت هذه الوظيفة لتحويل لمرة واحدة إذا كنت تريد أن تفعل تحويل للقيمة التالية على الطاير هل يمكن أن تحاول شيئا أبسط كما تعلق مرة أخرى أنا صدئ على ج آمل أن يكون هذا هو الصحيح الشيء الوحيد الذي تحتاج إلى العرض هو المدخلات و مرشح ثابت. اسمحوا لي أن أعرف إذا كان هذا يساعد.

No comments:

Post a Comment