W php, w jaki sposób mogę wygenerować liczbę losową zakładając normalną dystrybucję z określoną średnią i standardową dewanacją?Jak mogę wybrać liczbę losową, ale z normalnym rozkładem prawdopodobieństwa w PHP?
Odpowiedz
function nrand($mean, $sd){
$x = mt_rand()/mt_getrandmax();
$y = mt_rand()/mt_getrandmax();
return sqrt(-2*log($x))*cos(2*pi()*$y)*$sd + $mean;
}
To znacznie bardziej skomplikowane niż moja próba i wymaga więcej procesora. Praca z liczbami całkowitymi nie będzie już możliwa. Co sprawia, że jest lepszy? Czy możesz przynajmniej to wyjaśnić? przetestowałeś to? A przynajmniej nawet używane? – hek2mgl
@ hek2mgl Napisałem rozszerzenie PHP w 'C' a while z powrotem dla przybliżenia normalnej dystrybucji. Użyłem go mocno. Właśnie przekonwertowałem swój kod z 'C' na' PHP' dla tej odpowiedzi. – Paulpro
To nic nie wyjaśnia. Powinieneś ponownie przemyśleć rozszerzenie C, ponieważ może to być mniej obciążające procesor. – hek2mgl
Spróbuj użyć funkcji PHP stats_rand_gen_normal
. Uważam, że robi to, co szukasz i nie wymaga, aby ponownie wymyślać koła:
generuje pojedynczą losową odbiegają od rozkładu normalnego z średniej, AV, i odchylenie standardowe, sd (sd> = 0)
Ta metoda jest w rzeczywistości zepsuta (co najmniej nie jest możliwe z PHP 5), dlatego właśnie napisałem własne rozszerzenie. – Paulpro
Próbowałem używać tej funkcji, ale okazało się, że wymaga ona pewnego pakietu i nie wiedziałem, jak ją skompilować. Jestem początkującym php, więc jeśli masz link, który może pokazać mi, jak skompilować pakiet w szczegółach, byłbym wdzięczny. Dzięki – Maggie
Jeśli to, co mówi Paulpro, jest prawdą, prawdopodobnie nie będziesz w stanie z niego skorzystać ... Zbadam i zobaczę, czy istnieje sposób na użycie tego w PHP5 + (nie testowałem) –
- 1. wybrać losową liczbę losową liczbę razy, ale nigdy taką samą liczbę losową dwukrotnie
- 2. Jak wybrać 1 losową liczbę z 2 różnych zakresów liczb?
- 3. Jak wybrać losową linię z pliku tekstowego
- 4. Jak utworzyć losową liczbę po logormalnej dystrybucji w programie excel?
- 5. Jak uzyskać losową liczbę z hałasu atmosferycznego?
- 6. Jak mogę uzyskać losową liczbę w Rust 1.0?
- 7. Jak wygenerować "dużą" liczbę losową w Pythonie?
- 8. Jak uzyskać liczbę losową w FactoryGirl?
- 9. Jak wygenerować losową liczbę w eliksiru?
- 10. Jak uzyskać losową liczbę w zestawie szablonów?
- 11. Jak przypisać losową liczbę do zmiennej?
- 12. wygenerować krótką liczbę losową w java?
- 13. Jak wygenerować losową liczbę typu float w C
- 14. Jak wybrać liczbę zakresów z tabeli mysql?
- 15. W PHP, w jaki sposób mogę wygenerować dużą liczbę pseudolosową?
- 16. Jak wygenerować losową liczbę bez powtórzeń w bazie danych za pomocą PHP?
- 17. Jak mogę wybrać ograniczoną liczbę wierszy o tym samym atrybucie?
- 18. Jak uzyskać wartość losową od 1 ~ N, ale z wyłączeniem kilku określonych wartości w PHP?
- 19. wygenerować losową 64-bitową liczbę całkowitą
- 20. Jak wygenerować losową unikalną liczbę w PostgreSQL za pomocą funkcji
- 21. Jak utworzyć losową 256-bitową liczbę całkowitą w Dart?
- 22. Jak mogę wybrać zakres indeksów z tablicy?
- 23. informacje druku w „trybie testowym”, ale nie w „normalnym wykonaniu”
- 24. Zdobądź losową liczbę całkowitą w przedziale (X, Y]
- 25. Jak wygenerować losową liczbę przy użyciu stanu funkcjonalnego?
- 26. Wybierz losową wartość z tablicy
- 27. jak wygenerować liczbę losową od 0,5 do 1,0
- 28. Oblicz statyczną liczbę losową (oblicz ją raz) w Excelu
- 29. Jak najlepiej symulować dowolną losową zmienną jednowymiarową za pomocą jej funkcji prawdopodobieństwa?
- 30. Jak generować dyskretne zdarzenia losowe z rozkładem Poissona?
To pytanie nie wykazuje żadnych wysiłków badawczych. Ważne jest, aby ** wykonać zadanie domowe **. Powiedz nam, co znalazłeś i dlaczego *** nie spełnia Twoich potrzeb. To pokazuje, że poświęciłeś czas, aby spróbować pomóc sobie, to ratuje nas od powtarzania oczywistych odpowiedzi, a przede wszystkim pomaga ci uzyskać bardziej szczegółową i trafną odpowiedź. [FAQ] (http://stackoverflow.com/questions/how-to-ask). –
http://php.net/manual/en/function.rand.php – vikingmaster
tylko funkcja rand generuje liczby losowe z równymi prawdopodobieństwami, nie z normalnym rozkładem prawdopodobieństwa – Maggie