आरएक्स में आप अनुक्रम के एक सरल, राज्यव्यापी परिवर्तन कैसे कर सकते हैं?आरएक्स: अनुक्रम का राज्यगत परिवर्तन, उदा। घातीय चलती औसत
कहें कि हम एक IObservable शोर की आवश्यकता का एक घातीय चलती औसत परिवर्तन करना चाहते हैं।
जब भी noisySequence टिक्स, emaSequence टिकटिक और वापसी मूल्य (previousEmaSequenceValue * (1-लैम्ब्डा) + latestNoisySequenceValue * लैम्ब्डा)
मुझे लगता है कि हम विषय का उपयोग करें, लेकिन कैसे वास्तव में होना चाहिए?
public static void Main()
{
var rand = new Random();
IObservable<double> sequence = Observable
.Interval(TimeSpan.FromMilliseconds(1000))
.Select(value => value + rand.NextDouble());
Func<double, double> addNoise = x => x + 10*(rand.NextDouble() - 0.5);
IObservable<double> noisySequence = sequence.Select(addNoise);
Subject<double> exponentialMovingAverage = new Subject<double>(); // ???
sequence.Subscribe(value => Console.WriteLine("original sequence "+value));
noisySequence.Subscribe(value => Console.WriteLine("noisy sequence " + value));
exponentialMovingAverage.Subscribe(value => Console.WriteLine("ema sequence " + value));
Console.ReadLine();
}
स्पष्ट करने के लिए, मुझे औसत करने के लिए एक विशिष्ट विधि में दिलचस्पी नहीं है, बल्कि राज्यव्यापी परिवर्तन करने के सामान्य तरीकों से मुझे कोई रूचि नहीं है। – Sputnik2513