İşte nasıl bir başka cevap sunan yorumlanıyorsa Muis , Abdullah Al-Ageel ve Ayaklı 'ın cevabı olan tüm matematiksel olarak aynı şey farklı yazılı hariç.
Elbette, yuvarlama hatalarının her birini nasıl biraz farklı etkilediğini açıklayan José Manuel Ramos'un analizine sahibiz , ancak bu uygulamaya bağlıdır ve her yanıtın koda nasıl uygulandığına bağlı olarak değişecektir.
Ancak oldukça büyük bir fark var
Bu öyle Muis 'ın N
, Ayaklı ' ın k
ve Abdullah Al-Ageel 'ın n
. Abdullah Al-Ageel oldukça ne açıklamıyor n
olmalı, ama N
ve k
bu farklılık N
olduğunu " baştan ortalama istediğiniz örneklerin sayısı " ise k
örneklenmiş değerler sayısıdır. ( N
Numune sayısını aramanın doğru olup olmadığına dair şüphelerim olsa da .)
Ve burada aşağıdaki cevaba geliyoruz. Esasen diğerleriyle aynı eski üstel ağırlıklı hareketli ortalamadır , bu yüzden bir alternatif arıyorsanız, burada durun.
Üstel ağırlıklı hareketli ortalama
Başlangıçta:
average = 0
counter = 0
Her değer için:
counter += 1
average = average + (value - average) / min(counter, FACTOR)
Aradaki fark min(counter, FACTOR)
kısımdır. Bu söylemekle aynı şey min(Flip's k, Muis's N)
.
FACTOR
ortalamanın en son trendi ne kadar hızlı "yakaladığını" etkileyen bir sabittir. Sayı ne kadar küçükse o kadar hızlı. ( 1
Artık ortalama değil ve en son değer haline geliyor.)
Bu cevap, çalışan sayaç gerektirir counter
. Sorunlu ise min(counter, FACTOR)
sadece değiştirilebilir FACTOR
, dönüştürerek Muis 'ın cevabı. Bunu yapmanın sorunu, hareketli ortalamanın başlatılan şeyden etkilenmesidir average
. Eğer ile başlatılmışsa 0
, bu sıfırın ortalamanın dışına çıkması uzun zaman alabilir.
Nasıl görünüyor