में एक कतार पर घातीय मूविंग औसत की गणना करें मेरे पास इसमें जोड़े गए मानों के चलते औसत की गणना करने के लिए एक साधारण कक्षा है। मैं इसे इस तरह का उपयोग करें:सी #
MovingAverage ma = new MovingAverage();
ma.push(value1);
ma.push(value2);
...
Console.Writeline(average.Average);
//the class
public class MovingAverage
{
public int Period = 5;
private Queue<double> Quotes = new Queue<double>();
public void Push(double quote)
{
if (Quotes.Count == Period)
Quotes.Dequeue();
Quotes.Enqueue(quote);
}
public void Clear()
{
Quotes.Clear();
}
public double Average { get { if (Quotes.Count == 0) return 0; return Quotes.Average(); } }
public double ExponentialMovingAverage
{
get
{
???
}
}
}
मैं इस वर्ग का विस्तार करने के भी ExponentialMovingAverage वापसी करना चाहते हैं। उद्धरणों में कतारबद्ध वस्तुओं के घातीय औसत को आप कैसे लिखेंगे?
मुझे एहसास है कि आपको कक्षा में अल्फा संपत्ति जोड़ने की आवश्यकता होगी, लेकिन मुझे यकीन नहीं है कि गणित को गणना के लिए कैसे पूरा किया जाए।
अल्फा अनिर्धारित रहता है। आपने इसके लिए क्या सेट किया? – Levitikon
@Levitikon: देखें [Exponential_moving_average] (https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average)। "गुणांक α भार घटाने की डिग्री का प्रतिनिधित्व करता है, 0 और 1 के बीच एक स्थिर चिकनाई कारक। उच्च α पुराने अवलोकनों को तेजी से छूट देता है।" – Ani