Wzór funkcji pseudolosowej

Potrzebuję "wylosować" liczbę w zakresie 1-100 (lub 0-99). Ma ktoś jakieś rozwiązanie matematyczne, które zapewni mocny rozrzut wartości?

PC

Reply to
PC
Loading thread data ...

Użytkownik PC napisał:

Taki prosty generator pseudolosowy, to rejestr przesuwający ze sprzężeniem zwrotnym XOR. Klepałem coś takiego na AVR-y w C. Poszukam dzisiaj i podeślę.

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

1:
formatting link
formatting link
(ten o którym pisał grzegorz) 3:
formatting link
pozdr @
Reply to
Artur Miller

Użytkownik Artur Miller napisał:

Oooo ciekawie zrobione :-)

P.S. Jednak algorytm rzeźbiłem w assemblerze AVR. Jak ktoś zainteresowany to zapraszam.

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

PC pisze:

Wykorzystaj biblioteczną funkcję rand(), ograniczając wynik do interesującego Cię zakresu, np. tak:

x = rand() % 100;

A naprawdę mocny rozrzut wartości (i co ważniejsze, brak korelacji z poprzednimi wynikami) daje dopiero fizyczny generator szumu losowego:

formatting link

Reply to
Adam Dybkowski

Użytkownik "Adam Dybkowski" snipped-for-privacy@45wp.pl napisał w wiadomości news:h06vul$o7l$ snipped-for-privacy@news.wp.pl...

Nie wiem czy pomysl jest dobry ale moja propozycja jest taka aby przed wykonaniem rand ustawic zarodek (chyba funkcja srand(arg)) a jako zarodek dac wartosc odczytana z przetwornika AD linii ktora "wisi w powietrzu". moze troche to poprawi rozklad prawdopodobienstwa?

Reply to
roxy

Uwaga - statystycznie niezbyt poprawne. Jesli rand() ma zakres np do 65535, to wyniki 0-35 maja wieksze prawdopodobienstwo niz 36-99

J.

Reply to
J.F.

Ja nie piszę w C a potrzebuję tylko formułę matematyczną, zeby napisać coś samodzielnie.

PC

Reply to
PC

no to najprosciej bedzie Ci oprogramowac automat a ktorym pisal Grzegorz na xor. Pod asemblerem bedzie to prosto wykonac. Rozklad losowy jest dosc przyzwoity i prawdopodobnie w Twoich zastosowaniach wystarczajacy. Gdybys potrzebowal cos wymyslnego prawdopodobnie nie nie pytał bys na grupie.

Pzdr Darek

Reply to
Darek

Dzięki wszystkim za pomoc.

PC

Reply to
PC

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.