potrzebuję wygenerować dwie liczby zmiennoprzecinkowe których średnia arytmetyczna będzie się zawierać w określonym zakresie i nie mogą być większe ani mniejsze niż 20% od tej wartości średniej arytmetycznej czyli
bmin >= 0,8 B
bmax<= 1,2 B
no a B = (bmin + bmax) /2
czyli tak naprawdę chodzi o generację random liczby przy zachowaniu określonych warunków.
coś tam szukałem ale to są takie już dosyć trudne przykłady które nie bardzo rozumiem, może jest jakieś prostsza funkcja czy metoda bo jestem na samym początku nauki i jakoś sobie poradziłem ale na zasadzie: wygeneruj liczbę jakąś bmin zzakresu , do wygenerowanej dodaj wygenerowana kolejna liczbę (jakas mała żeby nie przesadzić) która będzie bmax. potem już wiadomo no i działa ale jakby przez mój perfekcjonizm wkurza mnie to że nie pokrywa na bank całego możliwego zakresu.
nie potrzebuję takich par jakoś dużo, może z 50 i nawet czasami wartości mogą się nawet powtarzać
@ozzi91 Generujesz średnią B losowo ze wskazanego zakresu dla średniej, a potem losową wartość delta z zakresu [0; 0,1 * B]. Twoje liczby to B-delta i B+delta.
@mrq: Nie powinno się losować tak długo jak się wylosuje z zadanego zakresu, bo taki algorytm pesymistycznie może się nigdy nie zakończyć. Nie mówiąc o tym, że jest to zupełnie niepotrzebne. Podałem algorytm parę postów wyżej - wystarczą 2 losowania.
potrzebuję wygenerować dwie liczby zmiennoprzecinkowe których średnia arytmetyczna będzie się zawierać w określonym zakresie i nie mogą być większe ani mniejsze niż 20% od tej wartości średniej arytmetycznej czyli
bmin >= 0,8 B
bmax<= 1,2 B
no a B = (bmin + bmax) /2
czyli tak naprawdę chodzi o generację random liczby przy zachowaniu określonych warunków.
coś tam szukałem ale to są takie już dosyć trudne przykłady które nie bardzo rozumiem, może jest jakieś prostsza funkcja czy metoda bo jestem na samym początku nauki i jakoś sobie poradziłem ale na zasadzie: wygeneruj liczbę jakąś bmin zzakresu , do wygenerowanej dodaj wygenerowana kolejna liczbę (jakas mała żeby nie przesadzić) która będzie bmax. potem już wiadomo no i działa ale jakby przez mój perfekcjonizm wkurza mnie to że nie pokrywa na bank całego możliwego zakresu.
nie potrzebuję takich par jakoś dużo, może z 50 i nawet czasami wartości mogą się nawet powtarzać
https://pastebin.com/mRwLF4L4
Jeśli dobrze czytam to ta funkcja najpierw wyznacza średnią z zakresu.
Potem dla tej średniej wyznacza górny i dolny
@Krolik chyba macie obydwoje to samo rozwiązanie jeżeli dobrze interpretuję ale sprawdzę to dopiero wieczorem
@mrq: no nie, to jest chała, tak się nie robi. Chatgpt jak zwykle w formie. Najprodukował masę niepotrzebnego kodu.
@Krolik: opiszesz coś więcej? Jakieś konkrety jak się nie powinno robić? Zawsze to dobra okazja nauczyć się czegoś nowego.