Monday 2 October 2017

Glidande Medelvärde Array


Din inre för är iterating all array så det är därför du alltid får samma medelvärde för hela arrayen, du bör iterera från 0 till nuvarande antal av yttre för istället. Ditt rörliga medelvärde uppdateras baserat i j av Din inre för det betyder att det kommer att överdriva tidigare värden varje ny slinga, detta borde vara inuti det yttre i stället för det inre med hjälp av jag som index. Du delar upp summa j för att beräkna medelvärden, varje ny inre slinga j delas med 0 Den första summan jag tror att du menade att använda j 1 istället är indexet inte detsamma som nuvarande längd. Tips för felsökning. Om du inte använder variabler till loop-arrays, ska du använda istället. För att reproducera ditt problem kan du ge oss Isolerat problem istället för din nuvarande kod, ie. Imagine om felet är i dina ingångar, hur kan vi tro att du verkligen använde dem. Svarade 4 okt 13 kl 20 54. Du slår över alla data varje gång du borde ha för int ji medellängd i-medellängd 2 0 ji genomsnittligL Ength 2 j numDataPoints j eller något liknande för ditt innersta genomsnitt. Även movingAverage jag summerar j bör ändras för att hantera fallet när j är 0 Speciellt borde det förmodligen vara movingAverage i summaLängd och det ska tillämpas på movingAverage i Slits utanför den genomsnittliga loop. answered 4 okt 13 på 20 42.Nästa gång, ta kommentarer om uppdraget ur frågan innan du lägger upp det Men eftersom du verkar ganska ny på det här, tänk på hur du skulle gå igenom data, Och gör det gör Du bör försäkra dig om att varje slinga stannar vid rätt punkt och kom ihåg att om du skulle sluta när det inte finns fler nummer, som när du gör innerbandet och du kan bara få 3 fler siffror Istället för 4 måste programmet stoppa. Se till att din kod kollar på this. answered 4 okt 13 vid 20 56. Med några ytterligare detaljer behöver du förmodligen ett obestämt glidande medelvärde. På något ställe A i i ingångslängden A med längd N med 0 i N, det s Helt enkelt medelvärdet av tidigare K-poster i matrisen, upp till och inklusive A i Om det finns sådana värden, så genomsnittliga i 1-värdena från A 0 till A i inklusive. En liten tanke kommer att visa dig att du Behöver inte lägga till alla K-värden varje gång Bara hålla summan och när du flyttar till nästa punkt är detta ett rörligt medelvärde, subtraherar det värde som ersätts och lägger till det nya värdet som kommer att ersätta det. Under den första K - 1 poäng kommer du helt enkelt att lägga till det nya värdet till summan och öka din räknare med 1.An vilken som helst punkt i denna process är det glidande medelvärdet det aktuella summan dividerat med det aktuella räknevärdet. ansvarat 4 okt 13 kl 21 05. Ett glidande medelvärde måste du ha någon form av fönsterstorlek. Din fönsterstorlek är medellängd, så det kommer att se ut så här. För slingan börjar vid nuvarande data och går tillbaka med genomsnittlängddatapunkter och lägger till dem. Du kommer bara ha Ett glidande medelvärde när du har när du har tillräckligt med datapunkter och den genomsnittliga wi Ll vara summan dividerad med den genomsnittliga längden. Notera Inte testad bara sudokod, men det här är idén. ansvarad 4 okt 13 kl 21 05. Ditt svar.2017 Stack Exchange, Inc. Jag vet att detta är möjligt med boost per. Men jag skulle verkligen vilja undvika att använda boost jag har googled och inte hittat några lämpliga eller läsbara exempel. Basiskt vill jag spåra det rörliga genomsnittet av en pågående ström av en ström av flytande punktnummer med de senaste 1000 numren som ett dataprov . Vilket är det enklaste sättet att uppnå detta. Jag experimenterade med att använda ett cirkulärt array, exponentiellt glidande medelvärde och ett enklare glidande medelvärde och fann att resultaten från den cirkulära gruppen passade mina behov best. asked 12 juni 12 på 4 38. Om Dina behov är enkla, du kan bara försöka använda ett exponentiellt rörligt medelvärde. Du gör bara en ackumulatorvariabel, och när din kod tittar på varje prov uppdaterar koden ackumulatorn med det nya värdet. Du väljer en konstant alfa som ligger mellan 0 och 1, och beräkna detta. Du j Ust måste hitta ett värde av alfa där effekten av ett visst prov endast varar för cirka 1000 prov. Hmm, jag är inte säker på att det här är lämpligt för dig nu när jag har lagt den här Problemet är att 1000 är en fin Långt fönster för ett exponentiellt rörligt medelvärde Jag är inte säker på att det finns en alfa som skulle sprida genomsnittet över de senaste 1000 siffrorna utan underflöde i flytpunktsberäkningen Men om du ville ha ett mindre medelvärde, som 30 nummer eller så är det här en Väldigt enkelt och snabbt sätt att göra det. Svarade den 12 juni 12 på 4 44. 1 på ditt inlägg Det exponentiella glidande medlet kan tillåta alfabet att vara variabelt Så här gör det att det kan användas för att beräkna tidsbasen medelvärden, t. ex. byte per sekund Om tiden Eftersom den senaste ackumulatorns uppdatering är mer än 1 sekund, låter du alpha vara 1 0 Annars kan du låta alfa vara usecs sedan senaste uppdateringen 1000000 jxh Jun 12 12 på 6 21. Basiskt vill jag spåra det rörliga genomsnittet av en pågående ström av en ström av flytande punkttal med den senaste 1000 Siffror som ett dataprov. Notera att nedanstående uppdateringar summan som element som tillsatt ersatt, undviker dyrt ON-traversal för att beräkna summan som behövs för genomsnittet - på begäran. Totalt görs en annan parameter från T för att stödja t. ex. Länge när det gäller 1000 långa s, ett int för char s eller en dubbel till totalt float s. Detta är lite bristfälligt, eftersom numsamples kan gå förbi INTMAX - om du bryr dig att du kan använda en unsigned long long eller använda en extra bool data Medlem som registrerar när behållaren fylls i första gången medan cykeltalsprover runt arrayen bäst ändras omnämnd någonting som är oskyldigt som pos. answered 12/12 12 vid 5 19. En förutsättning är att tomrumsoperatören T-provet är faktiskt tomt operatör T-prov oPlös 8 juni 14 kl 11 52. oPless ahhh well spotted egentligen menade jag att det skulle vara tomt operatör T-prov men självklart kan du använda vilken anteckning du vill, kommer att fixa, tack Tony D Jun 8 14 på 14 27.the traderema funktionen fungerar inte korrekt, det räknar bara Genomsnitt av sista peri Od-poster Följ följande kod för traderema-funktion EMAC-beräkningsgräns, array EMApreviousday array 0 printr array multiplicator1 2 gräns 1 EMA array EMA array 0 Stäng array 1.while limit echo EMA är EMA n EMA Close - EMApreviousday multiplicer1 EMApreviousday EMApreviousday EMA. Gräns ​​- returnera EMA där gräns accepterar perioden för ema och array accepterar array av data för ema-beräkning.

No comments:

Post a Comment