On 07.11.2016 17:27, peter wrote:
> bartekltg pisze:
>> Coś takiego?
>>
>> x_1 = a1 x0^2 + b1 x0 + c1
>> x_2 = a2 x1^2 + b2 x1 + c2
>> x_3 = a3 x2^2 + b3 x2 + c3
>> ...
>> x_10 = a10 x9^2 + b10 x9 + c10
>>
>
> Blisko. choć dokładniej tak
>
> x(n+1) = a x(n)^2 + b x(n) + c
>
> Dla wielu wartości a,b,c to są szeregi rozbieżne.
> Jednak dla niektórych kombinacji a,b,c zbiegają się ( i to zależy
> jeszcze od wartości startowej).
> Najbardziej trywialny sposób zbiegają się do pewnej granicy
> W tym przypadku rozwiązujemy równanie ax^2+bx+c = x !
> Znacznie trudniej jest znaleźć przypadki, w których wartości szeregu
> oscylują cyklicznie dookoła kilku wartości np
> x(n) x(n+1) x(n+2) x(n+3)->x(n) x(n+4)->x(n+1) x(n+5)->x(n+2)
> w tym przypadku granicznym
> f = ax^2 + bx +c
> f(f(f)) = x rozwiązujemy równanie 8-stopnia i szukamy pierwiastków
> rzeczywistych.
Jest tu pewna swoboda. Możemy przeskalować x tak, by pierwiastki
wielomianu były w 0 i 1, wtedy mamy tylko jeden stopień swobody,
a zachowanie jest identyczne
x <- r x(1-x)
gdzie r jest tym naszym parametrem.
> Podobnie będzie z przypadkiem mającym 10 wartości w cyklu, tylko
> wielomian będzie stopnia 2^10
Skąd pewność, żę pierwiastków będzie tylko 10?
Jeśli będzie jeden, to będzie ich 10, ale skąd przypuszczenie,
że nie będzie większej liczby pierwiastków odpowiadających
dziesiątkom z różnych okresów?
Popatrzma na w pełni chaotyczny wielomian
x <- 4 x (x-1)
f(x) = 4x(1-x)
f^[n](x) == x ma pełne 2^n rozwiązań dla x \in (0,1)
Dobrze to widać patrząc na przekształcenie 'namiocik',
(sprzeżone(*) z logistycznym dla r=4)
https://en.wikipedia.org/wiki/Tent_map#Behaviour
x <- g(x) = 2x dla x<=0.5
2-2x dla x>0.5
Zamiana zmiennych jest pokretna, ale działa(i jest wypisana
wzorkiem w linku.
Wyiterowane n razy g^[n](x) to piła złożona z 2^(n-1)
namiocików. Każdy namiocik przecina się z prostą y=x
dwa razy.
Dla ewentualnych czytelników;)
*) sprzeżenie topologiczne dwóch odwzorowań g(y) -> y
i f(x) ->x (układów dynamicznych) to takie przekształcenie
(odwracalne) h: x->y, że
g(h(x)) = h(f(x))
Albo, inaczej, f = h^-1 (*) g (*) h
(*) - skąłdanie funkcji.
Wtedy widać, że
f^[n] = (h^-1 (*) g (*) h)^n = h^-1 (*) g^[n] (*) h
Więc układy zachowują się tak samo przy iterowaniu.
Mamy przy 10 iteracjach 1024 pierwiastki. I siedzą one w cyklach
nawet po 10 (pewnie mogą odpowiadać krótszym)
Ogolnie (la dowolnego r) chyba jednak nie da się tego tak
zrobić.
> Ad hoc wymyśliłem taki przykład, f = 1/2 x^2 - 5/7 x + 1. Niestety jest
> to przykład trywialny na pojedynczą granicę, gdy startujemy tak mniej
> więcej -1.2 <= x0 <= 2.68
Jako taka klasyfikacja zahcowania jest tutaj:
https://en.wikipedia.org/wiki/Logistic_map#Behavior_dependent_on_.7F.27.22.60UNIQ--postMath-00000007-QINU.60.22.27.7F
W ksiąkach do układów dynamicznych mozna znaleść lepszą,
np porządnie opisującą porządek Szarkowskiego:
https://en.wikipedia.org/wiki/Sharkovskii%27s_theorem
>> Jak to rzowiązywałeś?
>
> Już wiele lat temu porządnie rozwinęła się technologia obliczeń
> numerycznych i symbolicznych. Jest co najmniej kilka programów łatwiej
> lub trudniej dostępnych ( czytaj płatnych). Próba a.d. 2016 pisania
> programów do obliczeń numerycznych z książek prehistorycznych, jak to
> czyni autor tego oraz wiele.. wiele innych wątków, jest jak używanie
> młotka do naprawy mercedesa.
>
> Nie będę ukrywał, że używałem do do rozwiązania równania stopnia 2^10
> mathematiki, do której miałem służbowy dostęp. Używałem funkcji Solve z
> opcja Reals. I to wszystko
Trochę musiało trwać:/
pzdr
bartekltg