Jag förstår inte riktigt vad du menar försök förklara bättre.
VBs Rnd() är för bra för mina syften. Jag använder den för att slumpa ut statistik. Men den ger en för bra spridning.
Någon som har tips på en dålig Rnd() funktion som är ojämnare?
14 svar · 359 visningar · startad av Erik Juhlin
VBs Rnd() är för bra för mina syften. Jag använder den för att slumpa ut statistik. Men den ger en för bra spridning.
Någon som har tips på en dålig Rnd() funktion som är ojämnare?
Jag förstår inte riktigt vad du menar försök förklara bättre.
Jag använder Rnd för att slumpa ut datum för att sen använda för statistik. När jag använder Rnd så blir spridningen jämn. Det blir dåligt med toppar utan alla år/månader/dagar får ungefär lika mycket. Jag vill ha mer varians.
Du måste nog variera med seed. Alla Rnd har en given väg annars.
Okej, hur gör jag det?
försök så här:
http://www.vb-helper.com/crypto5.htm
Kör Randomize Timer innan första Rnd så ska du se att det blir lite varians på det. ;)
Okej, tack. Körde bara med Randomize...
Erik Juhlin skrev:
Det blir dåligt med toppar utan alla år/månader/dagar får ungefär lika mycket. Jag vill ha mer varians.
Fast då vill du egentligen snarare ha mindre varians? (Ren slump -> Stor spridning -> Jämn fördelning -> Stor varians.)
Här står lite om hur du kan vikta slumptal: http://www.adit.co.uk/html/random_numbers.html
Jag vill alltså ha mer varians mellan de olika dagarna. Inte mer spridning.
En stor mängd slump blir ju med tiden fördelat. Du söker nog något annat? Prova med att ta en input från något som redan finns och som mer liknar din statistik värld! Eller vad du vill visa.
Om det är veckan du vill illustrera kan du skapa sju tal som representerar volymen först.
Jo, men i datorvärlden finns ju inte äkta slump. Och datorslump blir ju då inte helt jämnt fördelat.
Men det kan vara bättre och sämre slump vilket fördelar det olika bra. Jag vill ha en dålig slump som fördelar ojämnt! :)
Annars så ser mina staplar så tråkiga ut. :)
Jag vill alltså ha mer varians mellan de olika dagarna.
Ja, jo. Men definitionen på äkta slump är ju just att alla dagar ska bli lika sannolika. Vill du att vissa dagar ska bli vanligare än andra så måste du till att börja med bestämma hur: ska söndagar vara vanligare än onsdagar? ska dagar i Juli vara vanligare än dagar i Februari. Och sen i kod "vikta" efter det.
Ett annat sätt att få ojämn fördelning är helt enkelt att slumpa ett lågt antal ggr.
Provar detta nu: r2 = (Timer Mod 10) / 10
Känns som att det kan funka bättre. :)