• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ciekawa funkcja matematyczna.

VPS Starter Arubacloud
+11 głosów
1,015 wizyt
pytanie zadane 16 grudnia 2018 w Offtop przez panpablosek Początkujący (390 p.)
przywrócone 16 grudnia 2018 przez panpablosek

Witam

Pokaże dzisiaj efekt rozwinięcia pewnej myśli na nudnej lekcji matematyki.

Otóż wpadł mi do głowy pomysł co ma większą średnią jeśli chodzi o oceny: sześć i sześć jedynek czy jedynka i jedna szóstka. Niby banał raczej że druga opcja. Ale co jeśli weźmiemy pod uwagę wszystkie możliwości. Sześć i sześć jedynek, pięć i pięć dwójek, cztery i cztery trójki...

Spróbuj nie licząc nawet nie szacując szybko w pamięci tylko na przeczucie powiedzieć który rząd liczb będzie miał najwyższą średnią.

 

 

 

Odpowiedź to rząd 5 (dwójka i dwie piątki). I nic dziwnego że nie zgadłeś bo odpowiedź nie jest oczywista. W zasadzie średnia z każdej grupy liczb jest strasznie chaotyczna i dziwna. Zdaje się rosnąć i nagle spada.

 

Przy większym zakresie jest to jeszcze bardziej widoczne.

 Tym razem średnia znowu rośnie i nagle spada. A jej najwyższa wartość jest gdzieś pod koniec.

 

 

 

 

 

Dalej sytuacja się powtarza przy skali 1-100 Najwyższa średnia (83,7) jest w rzędzie 92.


Ładnie to widać też na wykresie średnich. Jak rośnie do rzędu 92 i potem nagle spada.

Dodałem po czasie również funkcje która dzieli średnią na jej poprzednika o tak.

Wykres z tych dzieleń w skali 1-100 wygląda również ciekawe.

Tutaj pytanie czy ktoś ma jakieś wytłumaczenie dlaczego średnia rośnie i nagle spada. Może to po prostu jakaś abstrakcja i nie ma tu czego wyjaśniać. W każdym razie tabelkę w excelu z tym wszystkim można pobrać stąd. Waży 3mb bo jest tam również zakres liczb (1-1000). 

Kombinowałem też z średnią średnich (zawsze wychodzi coś poniżej mediany zakresu liczb)

Może ktoś powstawia tam liczby pierwsze i odkryje ich tajemnice. Albo stworzy na podstawie tego jakąś funkcję kryptograficzną. Nie wiem po prostu to wrzucam tu zamiast do folderu na pulpicie o nazwie "Syf" bo może akurat kogoś zainteresuje.

Pozdrawiam

komentarz 17 grudnia 2018 przez ScriptyChris Mędrzec (190,190 p.)

Nie znam się na tym - może to jakiś prosty problem, tylko nie wiesz jak został nazwany i dlatego nie znalazłeś odpowiedzi. W każdym razie, ja bym podesłał to eTrapezowi :)

komentarz 17 grudnia 2018 przez J0ker Pasjonat (15,400 p.)

@panpablosek, Dobrze, że zechciało Ci się myśleć i zająć takim zagadnieniem, które opisałeś. Źle, że miało to miejsce na lekcji matematyki, a nie np. w domu albo na świetlicy.

4 odpowiedzi

+1 głos
odpowiedź 17 grudnia 2018 przez Sinnley Stary wyjadacz (12,810 p.)
wybrane 17 grudnia 2018 przez panpablosek
 
Najlepsza

Rzeczywiście ciekawa sprawa. Wydaje mi się, że mogę ci odpowiedzieć na to pytanie, choć moja odpowiedź pewnie Cię nie usatysfakcjonuje, bo i nie jest zbyt dokładna i też to tylko moje rozważania, ale ja to widzę tak.

Wysokość średniej zależy od dwóch danych. Bezpośredniej sumy wartości danych i ich ilości, przez którą to ilość dzielimy.

W twoim przypadku w każdym wieszu zmniejszasz pierwszą liczbę o jeden, ale jednocześnie dużą ilość kolejnych o 1 zwiększasz. W rezultacie bez problemu 'pokrywasz' deficyt w sumie w liczniku mimo straty jednej z liczb do sumy, a jednocześnie zmniejszasz mianownik, więc średnia zaczyna rosnąć.

Dzielenie ma też jeszcze jedną ciekawą właściwość.

Tutaj mamy wykres funkcji 10/x, która jest funkcją homograficzną.

Jak widać ta funkcja na początku spada mocno, ale potem słabiej. Działa to też więc w drugą stronę. Wniosek jest taki, że dzieląc tę samą liczbę przez kolejne n+1 różnica jest coraz mniejsza, przykładowo.

10/1 = 10

10/2 = 5 (różnica względem poprzedniego wyniku to 5)

10/3 = 3.(3) (różnica względem poprzedniego wyniku to już tylko 1.(6))

Krótko mówiąc, na początku dzielisz licznik na dużą ilość części, więc tak jak wyżej, różnica nie jest duża, bo idziemy 'od dołu'. Jednocześnie twój licznik szybko rośnie, z powodu opisanego nad wykresem. Z czasem jednak zmniejszasz ilość części, na które dzielisz, więc tak jak pokasuje wykres funkcji, dzielenie ma coraz większy wpływ, jednocześnie twoja suma w liczniku rośnie coraz wolniej, bo masz coraz mniej wartości, a w dalszym ciągu zwiększasz poszczególne w tym samym tempie, czyli o jeden.

W związku z tym w końcu musi znaleźć się moment, w którym 'siła dzielenia' zaczyna przeważać nad 'siłą tempa wzrostu sumy' i średnia zaczyna spadać.

Jak przewidzieć kiedy dokładnie to następuje? Tutaj musiałbym się pobawić już trochę bardziej.

 

PS: Wykres oczywiście wskazuje funkcje ze stałym licznikiem, ale nie zmienia to faktu, że nawet jeśli licznik będzie zmienny to funkcja pozostanie homograficzna i będzie mieć te same właściwości.

komentarz 17 grudnia 2018 przez panpablosek Początkujący (390 p.)
Faktycznie trochę mi to wyjaśniłeś. W ogóle doceniam zaangażowanie w coś tak abstrakcyjnego o 1 w nocy heh. Pozdrawiam
komentarz 17 grudnia 2018 przez Sinnley Stary wyjadacz (12,810 p.)
Im później tym lepiej się myśli, gorzej, że rano trzeba wstać, trzymaj sie.
+3 głosów
odpowiedź 17 grudnia 2018 przez vector Dyskutant (9,200 p.)
edycja 17 grudnia 2018 przez vector

Nie chciało mi się już analizować funkcji ilorazu ;P Jak komuś się chce to może się pobawić na desmosie.

+1 głos
odpowiedź 17 grudnia 2018 przez Chess Szeryf (76,710 p.)
edycja 17 grudnia 2018 przez Chess

Wyprowadziłem wzór do tych zapisów, które sprządziłeś. Oto on:

MAX_N - (stała) maksymalna "pierwsza cyfra/liczba" do której będą dążyć inne "pierwsze cyfry/liczby" (nie mylić z cyframi/liczbami pierwszymi)

MIN_N - (stała) minimalna "pierwsza cyfra/liczba" od której będą startować inne "pierwsze cyfry/liczby" (nie mylić z cyframi/liczbami pierwszymi)

f - (zmienna) pierwsza cyfra/liczba dla której zostanie obliczona średnia i dalsze obliczenia z nią związane (nie mylić z cyframi/liczbami pierwszymi)

(f + f * (MAX_N - f + 1)) / (MIN_N + f)
(defun count-average-about-base-first-number (MIN_N MAX_N)
    (loop for f from MIN_N to MAX_N by 1
        collect (float (/ (+ f (* f (+ (- MAX_N f) 1))) (+ MIN_N f)))))

(count-average-about-base-first-number 1 10) => (5.5 6.6666665 6.75 6.4 5.8333335 5.142857 4.375 3.5555556 2.7 1.8181819)
(let ((r 0))
    (dolist (v (count-average-about-base-first-number 1 10) r)
        (if (> v r) (setf r v) r))) => 6.75

Powyższy kod korzysta z funkcji, którą napisałem wyżej (defun ...). Kod ten oblicza od którego momentu średnia zaczyna spadać, tutaj widać, że od średniej 6.75 dla danych 1 i 10.

(defun division-predecessor-in-pair (lst-average &optional bool)
    (loop for i from 0 below (list-length lst-average)
        when (if bool (> i 0) (= (mod i 2) 1))
        collect (/ (nth i lst-average) (nth (1- i) lst-average))))


(division-predecessor-in-pair (count-average-about-base-first-number 1 10) NIL) => (1.2121211 0.9481482 0.8816326 0.8126984 0.6734007)

(division-predecessor-in-pair (count-average-about-base-first-number 1 10) T) => (1.2121211 1.0125 0.9481482 0.9114584 0.8816326 0.8506945 0.8126984 0.75937504 0.6734007)

To oznacza dzielenie przez poprzednika w parze na liście (zależnie od argumentu). Np. dla takiej listy '(1 2 3 4) dla argumentu NIL rezultatem będzie 2 i 1.(3). Zatem, więc jeśli argumentem będzie T, to wtedy wynik będzie wynosił: 2, 1.5, 1.(3).

Common Lisp stosuje notację polską, a my przeważnie używamy infiksowej.

0 głosów
odpowiedź 21 grudnia 2018 przez panpablosek Początkujący (390 p.)
edycja 21 grudnia 2018 przez panpablosek

Napisałem program w c++ który oblicza średnią dla danego zakresu liczb i sprawdza czy się nie zmniejsza. Jeżeli tak to przerywa pętle i pokazuje wynik na ekranie. Dzięki temu można obliczyć w którym rzędzie i jaka średnia jest największa dla dowolnego zakresu liczb większych od 0.

 

#include <iostream>

using namespace std;

int main()
{
    double smalln,bign,av,done;

    cout << "Podaj zakres" << endl;
    cout << "Od: ";cin>>smalln;
    cout << "Do: ";cin>>bign;

for(;;)
{
    done=av;
    av=(bign+bign*smalln)/(bign+1);
    if(done>=av)
        break;
    bign--;smalln++;
}
cout.precision(50); //Do ilu miejsc po przecinku ma wyświetlać się średnia
cout<<fixed<<endl<<"Rzad: "<<smalln-1<<endl<<"Srednia: "<<done;
    return 0;
}

 

Podobne pytania

0 głosów
1 odpowiedź 298 wizyt
pytanie zadane 9 sierpnia 2018 w Matematyka, fizyka, logika przez ikcilrep Początkujący (270 p.)
+2 głosów
3 odpowiedzi 719 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...