Bạn có thể làm như thế nào trong RX một biến đổi đơn giản, trạng thái của một chuỗi?RX: Biến đổi trạng thái của chuỗi, ví dụ: trung bình di động theo cấp số nhân
Giả sử chúng tôi muốn thực hiện chuyển đổi trung bình chuyển động theo hàm mũ của IObservable noisySequence.
Bất cứ khi nào noisySequence ve, emaSequence nên đánh dấu vào và trả về giá trị (previousEmaSequenceValue * (1-lambda) + latestNoisySequenceValue * lambda)
Tôi đoán chúng tôi sử dụng Đối tượng, nhưng làm thế nào chính xác?
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();
}
Để làm rõ, tôi ít quan tâm đến một phương pháp cụ thể để thực hiện một cách trung bình, nhưng thay vì chung chung để thực hiện chuyển đổi trạng thái. – Sputnik2513