• Nie Znaleziono Wyników

Zbiór zada´n z modelowania matematycznego w ´srodowisku Wolfram Mathematica 1.

N/A
N/A
Protected

Academic year: 2021

Share "Zbiór zada´n z modelowania matematycznego w ´srodowisku Wolfram Mathematica 1."

Copied!
28
0
0

Pełen tekst

(1)

Konrad Kisiel & Grzegorz Siudem 24 marca 2020

Przedstawiamy zbiór zada ´n i problemów zwi ˛azanych z dynamik ˛a modeli matematycznych. Wersja ci ˛agle robocza. B ˛edziemy wdzi ˛eczni za wszelkie uwagi.

Spis tre´sci

Materiały wprowadzaj ˛ace 2

Definicje i oznaczenia 2 Mathematica 6

Wymagania formalne 8

Obroty 9

Plan bada ´n 9

Pytania i problemy 9

Rodzina kwadratowa 13

Plan bada ´n 13

Pytania i problemy 13

Fraktale 19

Plan bada ´n 19

Pytania i problemy 19

Ergodyczno´s´c 23

Plan bada ´n 23

Pytania i problemy 24

(2)

Zwracamy uwag ˛e, ˙ze ka ˙zda pojawiaj ˛aca si ˛e w tek´scie nazwa mathematicznej funkcji (np.D[]) jest hiperł ˛aczem, po klikni ˛eciu w które mo ˙zna przeczyta´c dokumentacj ˛e tej funkcji na stronie reference.wolfram.com/language/

W Mathematice zło ˙zenie funkcji otrzy- mamy dzi ˛eki funkcjiNest[].

Dzi ˛eki temu b ˛edziemy mogli pisa´c o tym, ˙ze funkcjaNestList[]generuje orbity.

W poszukiwaniu punktów stalych pomo ˙ze funkcjaFixedPoint[].

Materiały wprowadzaj ˛ace

Poni ˙zej zamieszczamy gar´s´c najwa ˙zniejszych definicji stosowanych podczas zaj ˛e´c, krótki opis ´srodowiska Wolfram Mathematica, a na za- ko ´nczenie, opisujemy formalne wymagania, jakie b ˛edziemy stawia´c wynikom prac domowych.

Zalecamy przeczyta´c cały rozdział przed wykonywaniem zada ´n.

Definicje i oznaczenia

Niech f : X →X b ˛edzie pewn ˛a funkcj ˛a, a X (w zasadzie dowolnym) zbiorem. Mówi ˛ac o dynamice zadanej przez funkcj ˛e f mamy na my´sli iteracje tej funkcji, czyli jej wielokrotne zło ˙zenia

fn(x) = f ◦f◦ · · · ◦f

| {z }

n razy

(x) = f(f(f(. . . f

| {z }

n razy

(x). . .))).

Aby lepiej opisywa´c takie zło ˙zenia stosujemy wyja´snijmy poni ˙zsze terminy.

Definicja 1 Orbit ˛a funkcji f w punkcie x∈X nazywamy zbiór O(f , x) = {x, f(x), f2(x), f3(x), . . .}.

Gdy nie prowadzi to do nieporozumie ´n orbit ˛a b˛edziemy tak˙ze nazywali sko ´nczone podzbiory zbioruO(f , x)postaci

{x, f(x), f2(x), f3(x), . . . , fN(x)}.

Definicja 2 Orbit˛eO(f , x)nazywamy okresow ˛a o okresie k je´sli

n∈N fk+n(x) = fn(x).

Definicja 3 Gdy k w poprzedniej definicji przyjmuje warto´s´c k = 1, wówczas punkt x nazywamy punktem stałym, gdy˙z

f(x) =x.

Definicja 4 Punkt xpX nazywamy punktem preokresowym je´sli O(f , f(xp))jest orbit ˛a okresow ˛a.

W kolejnych definicjach zakładamy, ˙ze(X,B, µ)jest przestrzeni ˛a z miar ˛a.

Definicja 5 Mówimy, ˙ze przekształcenie T: X→X zachowuje miar˛e µ gdy

∀B∈ B, µ



T−1(B)=µ(B).

(3)

Równanie to bywa tak ˙ze nazywane warunkiem Markowa lub warunkiem braku pami ˛eci.

Definicja 6 Przekształcenie T nazwiemy ergodycznym je´sli zachowuje miar˛e i ponadto spełnia warunek

∀B∈ B, T−1(B) =B =⇒ (µ(B) =0 ∨ µ(X\B) =0). Twierdzenie 1 (Twierdzenie Birkhoffa) Niech T : X → X b˛edzie przekształceniem ergodycznym na przestrzeni(X,B, µ). Załó˙zmy dodat- kowo, ˙ze µ(X) < ∞. Wówczas dla dowolnej funkcji f ∈ L1(µ)zachodzi zbie˙zno´s´c:

1 n

n−1

k=0

f

T(k)(x0)1 µ(X)

Z

X

f(x)(x), dla µ-p.w. x0∈X.

Definicje i twierdzenia zwi ˛azane z teori ˛a procesów stochastycz- nych przytaczamy za podr ˛ecznikiem Iwanika i Misiewicz [1].

Definicja 7 Procesem stochastycznym{Xt, t ∈ T}nazywamy tak ˛a funkcj˛e(t, ω) →Xt(ω), ω ∈Ω, t∈T, ˙ze Xt(ω)jest zmienn ˛a losow ˛a dla ka˙zdego ustalonego t∈T.

Definicja 8 Zbiór wszystkich mo˙zliwych warto´sci procesu stochastycznego {Xt, t ∈ T} S = {Xt(ω) : t ∈ T, ω ∈ Ω}nazywamy przestrzeni ˛a stanów procesu lub jego przestrzeni ˛a fazow ˛a.

B ˛edziemy rozwa ˙zali co najwy ˙zej przeliczalne przestrzenie stanów.

Definicja 9 (Warunek Markowa) Proces stochastyczny{Xn, n ∈ N} o warto´sciach wSm = {1, ..., m}, m ∈ N nazywamy ła ´ncuchem Mar- kowa lub procesem Markowa, je´sli dla dowolnego nN i dowolnego wyboru stanów k0, k1, ..., kn ∈ Smzachodzi poni˙zsza własno´s´c

P(Xn =kn|Xn−1=kn−1, ..., X0=k0) =P(Xn =kn|Xn−1=kn−1). Definicja 10 Ła ´ncuch Markowa{Xn, n ∈ N}jest jednorodny lub równowa˙znie ma stacjonarne prawdopodobie ´nstwa przej´scia, je´sli dla dowolnych stanów i, j∈ Sm, m∈N i dowolnego nN zachodzi równo´s´c

P(Xn= j|Xn−1=i) =P(X1=j|X0=i).

W dalszej cz ˛e´sci rozwa ˙zane b ˛ed ˛a jedynie ła ´ncuchy Markowa o stacjo- narnym prawdopodobie ´nstwie przej´scia.

Definicja 11 Prawdopodobie ´nstwa pji := P(X1=j|X0=i), dla i, j ∈ Sm, m∈N, nazywamy prawdopodobie ´nstwami przej´scia w jednym kroku, a utworzon ˛a z nich macierz

P=

p11 p12 p13 ... p1m p21 p22 p23 ... p2m

... ... ... ... ...

pm1 pm2 pm3 ... pmm

 ,

macierz ˛a przej´scia w jednym kroku.

(4)

Samo poj ˛ecie mo ˙zna zdefiiniowa´c te ˙z abstrakcyjnie, ale w rozwa ˙zanym przy- padku wystarczy uto ˙zsamia´c operator Markowa z operatorem generuj ˛acym proces Markowa, czyli z macierz ˛a przej´scia w jednym kroku.

2To wła´snie te wielokrotne iteracje s ˛a przyczyn ˛a, dla której formalizm teorii układów dynamicznych jest tu z powodzeniem stosowany.

Wida´c, ˙ze przyj ˛eta defiinicja 11 macie- rzy P powoduje, ˙ze macierz ˛a stocha- styczn ˛a nazywamy macierz stocha- styczn ˛a kolumnowo (tzn. w kolumnach sumuj ˛ac ˛a si ˛e do 1). Macierze stocha- styczne wierszowo s ˛a wła´sciwe przy transponowanej defiinicji P (porównaj uwaga 1). Macierz b ˛ed ˛ac ˛a jednocze´snie stochastyczn ˛a kolumnowo i wierszo- wo nazywamy macierz ˛a podwójnie stochastyczn ˛a.

Uwaga 1 Przyj˛eto tutaj notacj˛e inn ˛a od zawartej w cytowanych podr˛ecz- nikach do procesów stochastycznych (m. in. Iwanik i Misiewicz [1]), gdzie autorzy zapisywali prawdopodobie ´nstwo przej´scia w jednym kroku jako

˜pij:=P(X1=j|X0=i), co powodowało, ˙ze w ich uj˛eciu macierz przej´scia w jednym kroku była transpozycj ˛a macierzy, według defiinicji 11 - ˜PT =P.

Uwaga 2 Uj˛ecie teorii procesów Markowa w formalizm teorii układów dynamicznych cz˛esto okazuje si˛e pomocne nie tylko poj˛eciowo, ale te˙z ze wzgl˛edów rachunkowych (porównaj rozdział trzeci i pi ˛aty w podr˛eczniku Lasoty i Mackeya [2]). Wówczas macierz przej´scia P nazywa si˛e operatorem Markowa. Znane z teorii układów dynamicznych poj˛ecie asymptotycznej stabilno´sci wi ˛a˙ze si˛e wówczas ´sci´sle z ergodyczno´sci ˛a ła ´ncuchów Markowa.

W dalszej cz˛e´sci termin macierz przej´scia P b˛edzie stosowany zamiennie z terminem operator Markowa P.

Z aplikacyjnego punktu widzenia bardzo wa ˙zne jest pytanie, jak działa proces Markowa, gdy iterowany jest wielokrotnie2. Odpowie- dzi na pytanie to udziela poni ˙zsze twierdzenie.

Twierdzenie 2 Je˙zeli proces Markowa P jest iterowany n-krotnie to od- powiada mu wtedy proces Markowa o macierzy przej´scia w jednym kroku równej Q = Pn, przy czym qij(n) = [Pn]ij, jest prawdopodobie ´nstwem przej´scia w jednym kroku dla procesu b˛ed ˛acego n-krotn ˛a iteracj ˛a procesu wyj´sciowego.

Definicja 12 Macierz PMm×m([0, 1]), m ∈ N, P = [pij]i, j=1, ..., m

spełniaj ˛ac ˛a poni˙zsze zało˙zenia u pij>0 dla dowolnych i, j∈ Sm, u ∑m

i=1

pij=1,

nazywamy macierz ˛a stochastyczn ˛a.

Drug ˛a, po macierzy przej´scia w jednym kroku, wygodn ˛a metod ˛a reprezentacji procesu Markowa s ˛a diagramy przej´scia w jednym kroku.

Definicja 13 Diagramem przej´scia w jednym kroku procesu Marko- wa{Xn, n ∈ N}nazywamy graf skierowany, w którym wierzchołkami s ˛a elementy przestrzeni fazowej, a łuki ł ˛acz ˛a dwa stany, o ile prawdopodobie ´n- stwo przej´scia mi˛edzy nimi w jednym kroku jest niezerowe.

Ka ˙zdy ze stanów nale ˙z ˛acy do przestrzeni fazowejSmdla procesu Markowa mo ˙ze zosta´c scharakteryzowany ze wzgl ˛edu na mo ˙zliwo´sci przej´scia mi ˛edzy nim a innymi stanami. Poni ˙zej zaprezentowano stosowan ˛a pó´zniej charakteryzacj ˛e stanów.

(5)

Definicja 14 Stan i∈ Smjest pochłaniaj ˛acy je´sli pii=1.

Intuicyjnie stan pochłaniaj ˛acy to taki stan, z którego nie mo ˙zna wyj´s´c.

Definicja 15 Stan i ∈ Smjest osi ˛agalny ze stanu j ∈ Smje´sli istnieje takie n∈N, ˙ze pij(n) >0. B˛edzie to oznaczane przez j→i.

Jeden stan jest dla drugiego osi ˛agalny, o ile mo ˙zna w toku iteracji przej´s´c z jednego do drugiego.

Definicja 16 Stany i, j ∈ Smwzajemnie si˛e komunikuj ˛a je´sli j → i oraz i→j.

Komunikowanie si ˛e jest relacj ˛a równowa ˙zno´sci (symetryczn ˛a, zwrot- n ˛a i przechodni ˛a), dzieli wi ˛ec wszystkie stany procesu Markowa na klasy abstrakcji - klasy stanów komunikuj ˛ace si ˛e mi ˛edzy sob ˛a.

Definicja 17 Ła ´ncuch Markowa nazywamy nieprzywiedlnym, gdy wszystkie jego stany wzajemnie si˛e komunikuj ˛a.

Nieprzywiedlno´s´c oznacza, ˙ze wszystkie stany nale ˙z ˛a do tej samej klasy abstrakcji wzgl ˛edem relacji komunikowania si ˛e.

Definicja 18 Okresem stanu i∈ Smnazywamy liczb˛e o(i) =NWD(n∈N : pii(n) >0),

czyli najwi˛ekszy wspólny dzielnik zbioru takich n, ˙ze powrót do stanu i jest mo˙zliwy po n krokach.

Stan i jest okresowy je´sli o(i) >1 i nieokresowy gdy o(i) =1.

Definicja 19 Nieprzywiedlny ła ´ncuch Markowa jest okresowy je´sli wszystkie jego stany s ˛a okresowe o tym samym okresie d > 1. W prze- ciwnym przypadku mówimy, ˙ze ła ´ncuch jest nieokresowy.

Defiinicja 19 jest dobrze okre´slona, co wynika z poni ˙zszego twierdze- nia, przytoczonego za podr ˛ecznikiem Iwanika i Misiewicz [1].

Twierdzenie 3 W nieprzywiedlnym ła ´ncuchu Markowa wszystkie stany maj ˛a ten sam okres.

Definicja 20 Rozkład pocz ˛atkowy πi =P(X0=i), i∈ Smła ´ncucha Mar- kowa{Xn, n ∈ N}jest stacjonarny lub niezmienniczy je´sli zachodzi równanie

π=Pπ.

Rozkład stacjonarny jest wi ˛ec punktem stałym operatora P.

(6)

Jest to tak naprawd ˛e cecha ka ˙zdej macierzy stochastycznej, dla której 1 jest na pewno warto´sci ˛a własn ˛a.

Je´sli stanów byłoby przeliczalnie wiele wówczas nale ˙zy jeszcze zało ˙zy´c, ˙ze ka ˙zdy stan jest dodatnio powracaj ˛acy, czyli, ˙ze prawdopodobie ´nstwo powrotu do ka ˙zdego stanu w sko ´nczonym czasie jest wi ˛eksze ni ˙z 0.

Komórki wyró ˙znione s ˛a wewn ˛atrz notatnika ramk ˛a po prawej stronie.

Zach ˛ecamy do sprawdzenia opisywanej składni ju ˙z teraz. Mo ˙zna to zrobi´c nawet bez dost ˛epu do wydziałowych licencji, u ˙zywaj ˛ac aplikacji Wolfram Programming Lab.

Zauwa ˙zmy, ˙ze te nazwy do´s´c dokładnie precyzuj ˛a co dana funkcja robi, np.

Series[]rozwija w szereg, aSolve[]

rozwi ˛azuje równania. Podstawowa znajomo´s´c j ˛ezyka angielskiego pozwala zatem na do´s´c dokładne przewidywa- nie nazwy funkcji, której funkcjonalno´s´c chcieliby´smy uzyska´c.

Definicja 21 Jednorodny ła ´ncuch Markowa jest{Xn, n∈ N}ergodycz- ny, je´sli dla ka˙zdego i∈ Smistniej ˛a i nie zale˙z ˛a od j nast˛epuj ˛ace granice

qi= lim

n→∞pij(n) >0, oraz ∑m

i=1

qi =1. Otrzymany rozkład q= (qi)i=1, ..., mnazywamy ergodycz- nym.

Ergodyczno´s´c w j ˛ezyku operatorów Markowa (porównaj rozdział 5.6 w podr ˛eczniku Lasoty i Mackeya [2]) jest równowa ˙zna istnieniu asymptotycznie stabilnego rozkładu prawdopodobie ´nstwa dla opera- tora (macierzy) P.

Twierdzenie 4 Ka˙zdy rozkład ergodyczny dla pewnego ła ´ncucha Markowa jest te˙z rozkładem stacjonarnym tego ła ´ncucha.

Uwaga 3 Implikacja z twierdzenia 4 w ogólno´sci nie daje si˛e odwróci´c.

Twierdzenie odwrotne nie musi by´c prawdziwe. Ła ´ncuch Markowa mo˙ze posiada´c wi˛ecej ni˙z jeden rozkład stacjonarny (porównaj twierdzenie 5), a, zgodnie z definicj ˛a 21, rozkład ergodyczny wyznaczony jest jednoznacznie.

Na podstawie twierdzenia 5 ka˙zdy ła ´ncuch Markowa posiada co najmniej jeden rozkład stacjonarny, ale co do istnienia rozkładu ergodycznego dla dowolnego procesu nie ma gwarancji. (porównaj twierdzenie 6).

Twierdzenie 5 Dla ka˙zdego procesu Markowa o sko ´nczonej liczbie stanów istnieje co najmniej jeden rozkład stacjonarny. Wszystkie rozkłady stacjonar- ne (jako wektory z przestrzeniRm) nale˙z ˛a do podprzestrzeni rozpi˛etej przez wektory własne macierzy P odpowiadaj ˛ace warto´sci własnej 1.

Twierdzenie 6 Rozwa˙zmy nieokresowy i nieprzywiedlny proces Markowa o sko ´nczonej liczbie stanów. Wówczas ła ´ncuch ten posiada dokładnie jeden rozkład stacjonarny π. Co wi˛ecej rozkład π jest te˙z rozkładem ergodycznym tego procesu.

Mathematica

Podstawow ˛a jednostk ˛a składni w ´srodowisku Mathematica jest ko- mórka. Komórki mog ˛a przyjmowa´c kilka typów, ale dwa najwa ˙zniej- sze z nich toIn[], czyli wprowadzany przez u ˙ztkownika skrypt oraz Out[], czyli wynik działaniaIn[]. Aby wykona´c komórk ˛e, w której aktualnie znajduje si ˛e kursor nale ˙zy wcisn ˛a´c[Shift]+[Enter]lub prawy[Enter].

Nazwy wbudowanych funkcji w j ˛ezyku Wolfram zawsze zaczynaj ˛a si ˛e wielk ˛a liter ˛a według wzoru

NazwaFunkcji[arg1, arg2, ...]

(7)

Dost ˛epn ˛a, przypomnijmy, pod adresem reference.wolfram.com/language/

Zwracamy uwag ˛e na bogactwo przykła- dów dost ˛epnych w plikach pomocy.

Jaki wyniki daj ˛a te kody ´zródłowe?

Lista list jest sposobem zapisu macierzy w ´srodowisku Mathematica - po wi ˛ecej szczegółów odsyłamy do dokumen- tacji (zwłaszczaSymbolic & Numeric ComputationMatrices and Linear Algebra).

FunkcjaTable[]jest jedn ˛a z cz ˛e´sciej u ˙zywanych, podczas pracy z Ma- thematik ˛a. Sugerujemy przejrze´c jej dokumentacj ˛e.

Polecamy tak ˙ze wypróbowa´c działania funkcjiDisk[],Polygon[], a tak ˙ze mo ˙zliwo´sci manipulowania obiektami graficznymi (kolory, grubo´sci linii etc.), przykłady Czytelnik znajdzie oczywi´scie w dokumentacjiGraphics[].

gdzie argumenty funkcji przekazywane s ˛a w kwadratowych nawia- sach[]. Najwa ˙zniejszym sposobem poznawania funkcjonalno´sci Mathematiki jest jej bogata pomoc. Jest to tak ˙ze podstawowe narz ˛e- dzie pracy w tym ´srodowisku. Pomoc wywołuje si ˛e klawiszem[F1]

wewn ˛atrz aktywnego notatnika, lub, nawet bez aktywnej aplikacji, mo ˙zna sprawdzi´c jej internetow ˛a wersj ˛e.

Jako ´cwiczenie wprowadzaj ˛ace do ´srodowiska Wolfram Mathema- tica proponujemy sprawdzi´c w dokumentacji do czego mog ˛a słu ˙zy´c nast ˛epuj ˛ace funkcje

u Plot[]

u Manipulate[], u D[],

u Integrate[], u Table[], u ListPlot[],

u Animate[], u Graphics[], u Simplify[]. Jak mo ˙zna zauwa ˙zy´c, podczas analizy powy ˙zszych przykładów, podstawow ˛a struktur ˛a danych w Mathematice jest lista. Lista to nic innego jak pewien uporz ˛adkowany zbiór pewnych (niekoniecznie tego samego typu!) elementów. Poni ˙zej zamieszczamy przykłady list

{a, b, c, 1, 2, 3}

{{1,0},{0,1}}

Table[1/i,{i,10}]

Poni ˙zsze kody ´zródłowe s ˛a przykładami wykorzystania ´srodowi- ska Mathematica do tworzenia grafiki. Sugerujemy je skopiowa´c do notatnika i sprawdzi´c co daje ich wykonanie. Przejrzenie dokumenta- cji wykorzystanych funkcji równie ˙z b ˛edzie pouczaj ˛ace.

Graphics[Table[Circle[RandomReal[{-10, 10}, {2}]], {80}]]

Graphics[{Blue, FilledCurve[Line[RandomReal[{0, 10}, {10, 2}]]], Red, FilledCurve[Line[RandomReal[{0, 10}, {20, 2}]]],

Green, FilledCurve[Line[RandomReal[{0, 10}, {100, 2}]]]}]

(8)

Wymagania formalne

Prawidłowo przygotowana praca domowa powinna spełnia´c nast ˛epu- j ˛ace wymagania

u Po pierwsze musi by´c zgodna z obowi ˛azuj ˛acym, umieszczonym na stronie przedmiotu, szablonem odpowiedzi. W szczególno´sci, nie mo ˙ze zajmowa´c wi ˛ecej ni ˙z jednej kartki A4.

u Kody ´zródłowe powinny by´c czytelne i poprawne.

u Wszystkie liczby i cyfry wyst ˛epuj ˛ace na wykresach i rysunkach powinny by´c w rozmiarach zbli ˙zonych do czcionki tekstu oraz kroju, umo ˙zliwiaj ˛acym ich wygodne odczytanie.

u Wszystkie krzywe (w tym osie współrz ˛ednych i wykresy) wy- st ˛epuj ˛ace na rysunkach powinny by´c pogrubione tak, aby by´c czytelne i odró ˙znia´c si ˛e od reszty rysunku.

u Osie wykresów powinny by´c podpisane.

(9)

Uwaga:Przed wykonywaniem zada ´n sugerowane jest przeczytanie pierwsze- go rozdziału niniejszego skryptu.

:=vs.=

Plot[]

ListPlot[]

GraphicsGrid[],Show[]

Manipulate[]

Nest[]

NestList[]vs.Table[]

Histogram[]vs.HistogramList[]

Obroty

Eppur si muove — Galileo Galilei

Celem ´cwicze ´n b ˛edzie zbadanie podstawowych dynamicznych własno´sci obrotu na okr ˛egu (S1= [0, 2π]/(0=)), czyli funkcji

fθ :S1→ S1, fθ(x) = (x+θ) mod 2π.

Na przykładzie tych bada ´n poznamy te ˙z podstawow ˛a funkcjonalno´s´c

´srodowiska Wolfram Mathematica.

Plan bada ´n

1. Implementacja funkcji fθ(definicja funkcji, definicja zmiennej).

2. Rysowanie wykresu funkcji fθ.

3. Rysowanie wykresu orbity fθ(naiwne).

4. Ł ˛aczenie wykresów.

5. Dyskusja zale ˙zno´sci fθ(x)od θ i x.

6. Iterowanie funkcji fθ. 7. Generowanie orbity fθ.

8. Analiza orbity funkcji fθi dyskusja jej zale ˙zno´sci od θ.

Pytania i problemy

1 Wyja´snij jak działa i, rysuj ˛ac wykres funkcji sinus, podaj przy- kład u ˙zycia funkcjiPlot[].

2 Wyja´snij jak działa i, rysuj ˛ac wykres listy{3,1,4,1,5,9}, podaj przykład u ˙zycia funkcjiListPlot[].

3 Wyja´snij jak działa i, generuj ˛ac iteracje funkcji h(x) = 2x, podaj przykład u ˙zycia funkcjiNest[].

4 Wyja´snij jak działa i, rysuj ˛ac wykres listy pierwszych 10 liczb pierwszych, podaj przykład u ˙zycia funkcjiListPlot[].

5 Wyja´snij jak działa i, rysuj ˛ac wykres funkcji kosinus, podaj przy- kład u ˙zycia funkcjiPlot[].

6 Wyja´snij jak działa i, generuj ˛ac iteracje funkcji h(x) = x/3, podaj przykład u ˙zycia funkcjiNest[].

7 Jak w ´srodowisku Mathematica definiuje si ˛e funkcje? Zdefiniuj własn ˛a funkcj ˛e sgn(x):= |x|/x dla x6=0.

(10)

Potrzebn ˛a list ˛e najpro´sciej wygenerowa´c komend ˛ali=RandomReal[{0,1},{100}]

Zwró´cmy uwag ˛e, ˙ze jest to lista par postaci{{a,Sin[a]},{b,Sin[b]},...}

Sugrowanym przykładem mog ˛a by´c punkty{{0.1,0.15},{0.2,0.19}, {0.3,0.32},{0.4,0.39},{0.5,0.51}, {0.6,0.59}}i przybli ˙zaj ˛aca je funkcja h(x) =x.

W zadaniach21− ♣23sugerujemy uwa ˙znie przeczyta´c rozdziałOptions w dokumentacji funkcjiPlot[].

W zadaniach24− ♣26sugerujemy uwa ˙znie przeczyta´c rozdziałOptions w dokumentacji funkcjiListPlot[].

W zadaniach27− ♣30sugerujemy uwa ˙znie przeczyta´c rozdziałOptions w dokumentacji funkcjiListPlot[]

i/lubPlot[].

8 Wyja´snij jak działa i, generuj ˛ac list ˛e kolejnych iteracji funkcji sinus, podaj przykład u ˙zycia funkcjiNestList[].

9 Wyja´snij jak działa i, wyznaczaj ˛ac histogram listy liczb pseudolo- sowych, podaj przykład u ˙zycia funkcjiHistogram[].

10 Wyja´snij jak działa i, generuj ˛ac list ˛e kolejnych iteracji funkcji h(x) =x/10, podaj przykład u ˙zycia funkcjiNestList[].

11 Jak w ´srodowisku Mathematica definiuje si ˛e funkcje? Zdefiniuj własn ˛a funkcj ˛e h(x) = |x|.

12 Jak w ´srodowisku Mathematica definiuje si ˛e zmienne? Podaj przykłady co najmniej 5 typów zmiennych.

13 Jak w ´srodowisku Mathematica stworzy´c list ˛e? Jak zmieni´c dokładnie jeden jej element?

14 Wyja´snij jak działa i, generuj ˛ac macierz jednostkow ˛a 5×5, podaj przykład u ˙zycia funkcjiTable[].

15 Wyja´snij jak działa i, generuj ˛ac list ˛e ze współrz ˛ednymi wybra- nych punktów wykresu funkcji sinus na zbiorze[0, 2π], podaj przykład u ˙zycia funkcjiTable[].

16 Jak doda´c wi ˛ecej niz jeden wykres naPlot[]? Podaj przykład z funkcjami sinus i kosinus.

17 Jak doda´c wi ˛ecej niz jeden wykres naListPlot[]? Podaj przy- kład z listami{1,2,3,4}i{{4,5},{3,2},{2,1},{1,0}}.

18 Jak doda´c kropki na wykresie typuPlot[]?

19 Powtórz poprzednie zadanie, ale tym razem dodaj ˛ac lini ˛e ci ˛agł ˛a na wykresie typuListPlot[].

20 Wyja´snij jak działa funkcjaManipulate[]. Zilustruj jej działanie przykładem.

21 Jak pogrubi´c krzyw ˛a wykresu typuPlot[]?

22 Jak zmieni´c kolor krzywej wykresu typuPlot[]?

23 Jak zmieni´c styl kreskowania krzywej wykresu typuPlot[]?

24 Jak zmieni´c rozmiar punktów wykresu typuListPlot[]?

25 Jak zmieni´c kolor punktów wykresu typuListPlot[]?

26 Jak zmieni´c kształt punktów wykresu typuListPlot[]?

27 Jak doda´c do wykresu (dowolnego typu) linie siatki?

(11)

Uwaga:Pami ˛etaj aby w rozwi ˛azaniach

zastosowa´c opcje zwi ˛ekszaj ˛ace czytelno´s´c (a niekiedy nawet nadaj ˛ace sens) wykresów. S ˛a to opcje takie jak:

PlotRange,AxesOrigin,PlotStyle, PlotLegendsitp.

Dobierz odpowiednie rozmiary prze- działów (binów).

Dobierz odpowiednie rozmiary prze- działów (binów).

˙Zeby rysunek był czytelny zamiast funkcjiListPlot[]wykorzystaj ListLogPlot[].

Dobierz odpowiednie rozmiary prze- działów (binów).

Zamiast funkcjiPlot[]wykorzystaj LogPlot[].

Dobierz odpowiednie rozmiary prze- działów (binów).

28 Jak zmieni´c na wykresie (dowolnego typu) zakres na osi odci ˛e- tych i rz ˛ednych?

29 Jak na wykresie (dowolnego typu) podpisa´c osie?

30 Jak doda´c do wykresu (dowolnego typu) linie siatki?

1 Narysuj wykres pierwszych 10 elementów orbity funkcji h(x) =x3w x0=0.5.

2 Wykorzystuj ˛ac warunkow ˛a instrukcj ˛eIf[]napisz własn ˛a imple- mentacj ˛e funkcjiMod[].

3 Narysuj wykres pierwszych 10 elementów orbity funkcji h(x) =√

x w x0=0.5.

4 Narysuj histogram pierwszych 100 elementów orbity funkcji h(x) =√

x w x0=0.5.

5 Narysuj wykresy trzech pierwszych iteracji funkcji sinus na zbiorze[0, 2π].

6 Narysuj histogram pierwszych 100 elementów orbity funkcji h(x) =x3w x0=0.5.

7 Narysuj wykresy trzech pierwszych iteracji funkcji kosinus na zbiorze[0, 2π].

8 Narysuj wykres pierwszych 4 elementów orbity funkcji h(x) =exw x0=0.05.

9 Narysuj histogram pierwszych 100 elementów orbity funkcji h(x) =sin x w x0=π/2.

10 Narysuj wykres drugiej iteracji funkcji wykładniczej na[0, 1].

11 Narysuj wykres pierwszych 50 elementów orbity funkcji h(x) =3x(1−x)w x0=0.27.

12 Narysuj wykres czwartej iteracji funkcji h(x) = 3x(1−x)na zbiorze[0, 1].

13 Narysuj wykres pierwszych 10 elementów orbity funkcji h(x) =sin x w x0=π/2.

14 Narysuj wykres trzeciej iteracji funkcji h(x) =sin(ex)na[0, 1].

15 Narysuj histogram pierwszych 100 elementów orbity funkcji h(x) =3x(1−x)w x0=0.27.

16 Wygeneruj list ˛e wykresów pierwszych 5 iteracji funkcji sinus na zbiorze[0, 2π].

(12)

Polecamy tutaj funkcj ˛eManipulate[].

Polecamy tutaj funkcj ˛eManipulate[].

Polecamy tutaj funkcj ˛eManipulate[].

Pojawiaj ˛aca si ˛e w zadaniach24− ♠27 funkcja zwi ˛azana jest ze słynnym otwartym problemem Collatza.

Sugerujemy rozpocz ˛a´c poszukiwania od n<5.

Sugerujemy przyj ˛ecie warto´sci n = 1, . . . , 10.

17 Wygeneruj macierz 5×5, o współrz ˛ednych b ˛ed ˛acych sum ˛a numeru wiersza i kolumny.

18 Narysuj i wyja´snij jak zale ˙zy wykres funkcji hC(x) = e−Cx2 od parametru C∈ [0, 2].

19 Wypisz wszystkie macierze 2×2 o elementach ze zbioru{0, 1}.

20 Rozwi ˛a ˙z graficznie równanie x2−2x=0.

21 Jak zale ˙zy od warto´sci parametru C orbita funkcji hC(x) =Cx?

22 Jak zale ˙zy od warto´sci parametru C ∈ [−2, 1]orbita funkcji hC(x) =C sin(πx)na zbiorze x∈ [−1, 1]?

23 Rozwi ˛a ˙z graficznie równanie ex+x=0.

24 Rozstrzygnij własn ˛a implementacj ˛a czy dla warto´sci pocz ˛at- kowych n = 2, 3, . . . , 200 poni ˙zsza całkowitoliczbowa funkcja posiada orbit ˛e okresow ˛a?

h(n) =

n

2 gdy n jest parzysta 3n+1 gdy n jest nieparzysta.

25 Zidentyfikuj punkt stały funkcji z zadania♠24. Rozstrzygnij albo pospekuluj o istnieniu innych punktów stałych.

26 Znajd´z co najmniej dwie orbity funkcji z zadania♠24.

27 Narysuj wykres długo´sci orbity funkcji z zadania♠24 zanim osi ˛agnie swoj ˛a finaln ˛a orbit ˛e okresow ˛a w zale ˙zno´sci od punktu.

pocz ˛atkowego n.

28 Wygeneruj macierz trójk ˛atn ˛a, gdzie ka ˙zdy niezerowy element jest numerem naddiagonali na której lezy.

29 Wyznacz punkt stały funkcji f(x) =x/π dla xR.

30 Narysuj wykres trzeciej iteracji funkcji h(x) = 3x(1−x)na zbiorze[0, 1].

(13)

Dlaczego naiwny model ˆfλ(x) =λxjest niefizyczny?

Przy definiowaniu fλ[x_]:=przydatna mo ˙ze okaza´c si ˛e funkcjaN[]. Dlaczego?

Prosz ˛e pami ˛eta´c te ˙z aby uwzgl ˛edni´c mo ˙zliwo´s´c zmiany długo´sci obserwo- wanej orbity

Pomocne mo ˙ze by´c naniesienie na badany wykres funkcji h(x) =x

Na diagramie bifurkacyjnym nale ˙zy umie´sci´c tylko punkty powy ˙zej pewnej liczby iteracji n0.

Rodzina kwadratowa

A w dodatku, daj ˛e s ł o w o, mam rodzin ˛e w y j ˛at k o w ˛a! J. Brzechwa

Celem ´cwicze ´n b ˛edzie numeryczne zbadanie dynamiki rozwoju populacji bakterii, modelowane przez rodzin ˛e odwzorowa ´n kwadra- towych

fλ(x) =λx(1−x), x∈ [0, 1], gdzie λ∈ [1, 4]to parametr.

Plan bada ´n

1. Rodzina kwadratowa jako uproszczony model populacji bakterii.

Ustalmy pojemno´s´c ´srodowiska M > 0, liczb ˛e y0 ∈ [0, M]jako pocz ˛atkow ˛a ilo´s´c bakterii oraz wielko´s´c x0:=y0/M.

u Niech populacji zmienia si ˛e zgodnie z fλ(x) =λx(1−x), u Dokonaj interpretacji biologicznej rekurencji postaci

xn+1= fλ(xn).

2. Dla ustalonych warto´sci x0i λ wygeneruj 30 pierwszych elemen- tów orbityO(fλ, x0).

3. Przedstaw w formie graficznej uzyskan ˛a orbit ˛e.

4. Przy u ˙zyciu funkcjiManipulate[]przedyskutuj zale ˙zno´s´c dyna- miki od λ i x0.

5. Narysuj kolejne iteracje funkcji fλ(x). Przedyskutuj zale ˙zno´s´c kolejnych iteracji od parametru λ oraz zinterpretuj uzyskane wyniki.

6. Diagram bifurkacyjny.

Dla wybranego (dobrze dobranego) punktu startowego x0wyge- neruj pierwsze n elementów orbityO(fλ, x0). Dysponuj ˛ac szere- gami czasowymi dla ró ˙znych warto´sci λ nanie´s ich „zachowania asymptotyczne” dla kolejnych warto´sci λ na wykres aby otrzyma´c poszukiwany diagram bifurkacyjny.

Pytania i problemy

1 Jak do wykresu (dowolnego typu) doda´c legend ˛e?

2 Opisz co najmniej 3 typy komórek (np.In,Out,Text).

(14)

3 Wyja´snij czym ró ˙zni ˛a si ˛e w działaniu np. funkcjiTable[]liczniki {i,1,10,1}i{i,{1,10,1}}.

4 Czym ró ˙zni ˛a si ˛e przypisania=i:=? Zilustruj t ˛e ró ˙znic ˛e wykorzy- stuj ˛ac funkcj ˛eRandomInteger[].

5 Wyja´snij jak działa funkcjaShow[]. Podaj przykład jej wykorzy- stania.

6 Wyja´snij jak działa funkcjaNestWhile[]. Podaj przykład jej zasto- sowania.

7 Wyja´snij jak działa funkcjaNestWhileList[]. Podaj przykład jej zastosowania.

8 Wyja´snij jak działa funkcjaFixedPoint[]. Podaj przykład jej za- stosowania.

9 Wyja´snij jak działa funkcjaPartition[]. Podaj przykład jej zasto- sowania.

10 Wyja´snij jak działa funkcjaRiffle[]. Podaj przykład jej zastoso- wania.

11 Wyja´snij jak działa funkcjaJoin[]. Podaj przykład jej zastoso- wania.

12 Wyja´snij jak działa funkcjaFlatten[]. Podaj przykład jej zasto- sowania.

13 Wyja´snij jak działa funkcjaReverse[]. Podaj przykład jej zasto- sowania.

14 Wyja´snij jak działa funkcjaAnimate[]. Podaj przykład jej zasto- sowania.

15 Jak działa funkcjaGraphicsGrid[]? Podaj przykład jej zastoso- wania.

16 Jak działa funkcjaGraphicsRow[]? Podaj przykład jej zastosowa- nia.

17 Jak działa funkcjaGraphicsColumn[]? Podaj przykład jej zasto- sowania.

18 Wyja´snij jak działa funkcjaRange[]. Podaj przykład jej zastoso- wania.

19 Wyja´snij jak działa funkcjaDirective[]. Podaj przykład jej za- stosowania.

(15)

Uwaga:Pami ˛etaj aby w rozwi ˛azaniach

zastosowa´c opcje zwi ˛ekszaj ˛ace czytelno´s´c (a niekiedy nawet nadaj ˛ace sens) wykresów. S ˛a to opcje takie jak:

PlotRange,AxesOrigin,PlotStyle, PlotLegendsitp.

Do zliczania czasu wykonania funkcji polecamy komend ˛eAbsoluteTiming[].

20 Wyja´snij na przykładach czym ró ˙zni si ˛e sze´s´c ró ˙znych liczników opisanych w dokumentacji funkcjiManipulate[].

21 Wyja´snij na przykładach czym ró ˙zni si ˛e sze´s´c ró ˙znych liczników opisanych w dokumentacji funkcjiTable[].

22 Wyja´snij jak działa funkcjaSort[]. Podaj przykład jej zastoso- wania.

23 Wyja´snij jak działa, a nast ˛epnie wykorzystaj w napisaniu wła- snej funkcji, procedur ˛eFunction[]w wersjiFunction[x,body].

24 Wyja´snij jak działa, a nast ˛epnie wykorzystaj w napisaniu wła- snej funkcji, procedur ˛eFunction[]w wersjiFunction[F[#]].

25 Co w ´srodowisku Mathematica oznacza#(Slot)?

26 Wyja´snij jak działa, a nast ˛epnie wykorzystaj w napisaniu wła- snej funkcji, procedur ˛eF[#]&.

27 Jakie znaczenie w ´srodowisku Mathematica maj ˛a#(Slot) i&

(Function)?

28 Jakie warto´sci mo ˙ze przyjmowa´c i jak działa (m. in. wPlot[]

iListPlot[]) dyrektywaFilling?

29 Jakie warto´sci mo ˙ze przyjmowa´c i jak działa (wListPlot[]) dyrektywaJoined?

30 Jakie warto´sci mo ˙ze przyjmowa´c i jak działa (wListPlot[]) dyrektywaMesh?

1 Analizuj ˛ac wykres orbity wyznacz (empirycznie) warto´s´c λ przy której zachodzi pierwsza bifurkacja w rodzinie kwadratowej.

2 Analizuj ˛ac wykres orbity wyznacz (empirycznie) warto´s´c λ przy której zachodzi druga bifurkacja w rodzinie kwadratowej.

3 Porównaj na wykresie, w zale ˙zno´sci od n∈ {1, 2, . . . , 20}, czasy wykonywania komend

Table[Nest[λ # (1 - #) &, 2/5, n], {λ, 1, 4, 1/4}]

Table[Nest[λ # (1 - #) &, 2/5, n], {λ, 1, 4, 0.25}]

Wyja´snij ró ˙znice.

4 Analizuj ˛ac wykres orbity wyznacz (empirycznie) warto´s´c λ przy której, dla rodziny kwadratowej, pojawia si ˛e pierwsza or- bita o okresie 4.

(16)

Mo ˙zna wyliczy´c jej wzór, analizuj ˛ac posta´c funkcji fλ, odszuka´c go w lite- raturze albo dopasowa´c numerycznie np. przy pomocy funkcjiFit[]lub FindFit[].

W zadaniu tym bardzo wa ˙zne jest odpowiednie dobranie długo´sci orbity i liczby binów. Zbyt małe zniwecz ˛a spodziewany efekt.

5 Analizuj ˛ac f3.54 Przy pomocy funkcjiSolve[]wyznacz warto-

´sci orbity okresowej o okresach 2 i 4 oraz punkty stałe. Sprawd´z wszystkie wyniki bezpo´srednio z definicji (wywołuj ˛ac funkcj ˛e f3.5

odpowiedni ˛a liczb ˛e razy).

6 Powtórz wykres diagramu bifurkacyjnego z zaj ˛e´c w lepszej roz- dzielczo´sci dla λ ∈ (1, 3). Dopasuj krzyw ˛a do obserwowanych punktów.

7 Wykonuj ˛ac operacje na listach wyznacz warto´s´c λ dla pierwszej bifurkacji podwajania okresu.

8 Analizuj ˛ac f3.12 Przy pomocy funkcjiSolve[]wyznacz warto´sci orbity okresowej o okresie 2 oraz punkty stałe. Sprawd´z wszystkie wyniki bezpo´srednio z definicji (wywołuj ˛ac funkcj ˛e f3.1 odpo- wiedni ˛a liczb ˛e razy). Narysuj wykres zale ˙zno´sci punktów orbity o okresie 2 w funkcji λ∈ (3, 3.5).

9 Wykonuj ˛ac operacje na listach wyznacz warto´s´c λ dla pierwszej bifurkacji podwajania okresu.

10 Wychodz ˛ac od listy danej funkcj ˛aRange[200]i stosuj ˛ac operacje na listach, wygeneruj list ˛e liczb mniejszych ni ˙z 200 i podzielnych przez 13.

11 Odczytaj, zmieniaj ˛ac warto´sci λ na wykresie fλ3(x)przy jakiej warto´sci parametru λ pojawia si ˛e orbita o okresie 3.

12 Wykonaj animacj ˛e (wzgl ˛edem parametru λ) histogramu orbity funkcji fλ. W raporcie zamie´s´c kod ´zródłowy i wybrane, reprezen- tatywne, klatki tej animacji, nie mniej ni ˙z 10.

13 Dodaj ˛ac strzałki do wspólnego wykresu funkcji fλ i h(x) = x zilustruj pierwsze trzy iteracje metod ˛a graficzn ˛a. Zamie´s´c wyniki dla czterech warto´sci λ generuj ˛acych odmienn ˛a dynamik ˛e.

14 Wychodz ˛ac od listy danej funkcj ˛aRange[200]i stosuj ˛ac ope- racje na listach, wygeneruj list ˛e par postaci{n,n+1}, gdzie n = 0, 2, 4, . . . , 200.

15 Powtórz wykres diagramu bifurkacyjnego z zaj ˛e´c w lepszej roz- dzielczo´sci dla λ ∈ (3, 3.7). Odczytaj z wykresu mo ˙zliwie najdo- kładniej warto´sci λ odpowiadaj ˛ace trzem pierwszym bifurkacjom podwojenia okresu.

16 Analizuj ˛ac wykres orbity wyznacz (empirycznie) warto´s´c λ przy której, dla rodziny kwadratowej, pojawia si ˛e pierwsza orbita o okresie 8.

(17)

Je´sli λbto punkt bifurkacji to przed oznacza λbε, a po λb+εnp. dla ε=0.001.

W zadaniu16nale ˙zy odnosi´c si ˛e do kolejnych elementów orbity (co najmniej 200), które wyst ˛epuj ˛a powy ˙zej pewnej dostatecznie du ˙zej liczby iteracji n0.

Pami ˛etaj, ˙ze operujesz na liczbach zmiennoprzecinkowych, a nie rzeczywi- stych!

17 Odczytaj z diagramu bifurkacyjnego warto´sci 4 kolejnych bi- furkacji, a nast ˛epnie narysuj histogramy orbity przed i po ka ˙zdej bifurkacji.

18 Korzystaj ˛ac z licznika postaci{λ,3,4,0.01}wygeneruj list ˛e orbit funkcji fλ, nast ˛epnie usu ´n dubluj ˛ace si ˛e elementy i narysuj wykres liczno´sci orbity w funkcji λ.

19 Wykonuj ˛ac operacje na listach wyznacz warto´s´c λ dla drugiej bifurkacji podwajania okresu.

20 Wychodz ˛ac od listy danej funkcj ˛aRange[200]i stosuj ˛ac operacje na listach, wygeneruj list ˛e liczb mniejszych ni ˙z 200 i podzielnych przez 7.

21 Stosuj ˛ac funkcj ˛eHistogramListdo listy słu ˙z ˛acej podczas ´cwi- cze ´n do narysowania diagramu bifurkacyjnego narysuj funkcj ˛a ArrayPlotwykres, w którym na osi poziomej b ˛ed ˛a warto´sci λ, na osi pionowej wartosci y ∈ [0, 1], a intensywno´s´c koloru ka ˙zdego piksela wykresu b ˛edzie zale ˙ze´c od cz ˛esto´sci wyst ˛epowania danych warto´sci y w orbicie funkcji fλ.

22 Na diagramie bifurkacyjnym z zaj ˛e´c nanie´s strzałki wskazuj ˛ace miejsca pierwszych trzech bifurkacji.

23 Dodaj ˛ac strzałki do wspólnego wykresu funkcji fλ i h(x) = x zilustruj pierwsze trzy iteracje metod ˛a graficzn ˛a. Zamie´s´c wyniki dla czterech warto´sci λ generuj ˛acych odmienn ˛a dynamik ˛e.

24 Powtórz wykres diagramu bifurkacyjnego z zaj ˛e´c w lepszej rozdzielczo´sci dla λ∈ (3.7, 4).

25 Usu ´n dubluj ˛ace si ˛e punkty z diagramu bifurkacyjnego z zaj ˛e´c.

26 Wykonuj ˛ac operacje na listach wyznacz warto´s´c λ dla trzeciej bifurkacji podwajania okresu.

27 Wychodz ˛ac od listy danej funkcj ˛aRange[200]i stosuj ˛ac operacje na listach, wygeneruj list ˛e liczb mniejszych ni ˙z 200 i podzielnych przez 11.

28 Wyznacz graficznie, powi ˛ekszaj ˛ac odpowiedni fragment dia- gramu bifurkacyjnego i zwi ˛ekszaj ˛ac jego rozdzielczo´s´c warto´s´c parametru λ, dla którego funkcja fλma orbit ˛e o długo´sci 3.

29 Odczytaj z diagramu bifurkacyjnego krotno´sci orbit pojawiaj ˛a- cych si ˛e w pierwszych 4 bifurkacjach.

(18)

30 Stosuj ˛ac funkcj ˛eHistogramListdo listy słu ˙z ˛acej podczas ´cwi- cze ´n do narysowania diagramu bifurkacyjnego narysuj funkcj ˛a ArrayPlotwykres, w którym na osi poziomej b ˛ed ˛a warto´sci λ, na osi pionowej wartosci y ∈ [0, 1], a intensywno´s´c koloru ka ˙zdego piksela wykresu b ˛edzie zale ˙ze´c od cz ˛esto´sci wyst ˛epowania danych warto´sci y w orbicie funkcji fλ.

(19)

Sugeruj ˛e rysowa´c na wykresie ListLogLogPlot, a krzyw ˛a dopaso- wywa´c funkcjaFindFit.

Polecamy funkcjeLinei wycinanie r ˛eczne lub automatyzacja przy po- mocy operacji na listach i/lub funkcji RealDigits.

Polecamy funkcj ˛eCountryDatai ryso- wanie konturów pa ´nstw.

Pomocna oka ˙ze si ˛e funkcjaImageTrimi operacje na listach.

Oczywi´scie wybórJuliaSetPloti MandelbrotSetPlotodradzamy – popsułoby to cał ˛a zabaw˛e.

Fraktale

We need to go deeper!

Incepcja

Celem ´cwicze ´n b ˛edzie analiza i wizualizacja zbiorów fraktalnych w tym (trójkowego) zbioru Cantora, zbiorów Julii i Mandelbrota dla rodziny kwadratowej, a tak ˙ze obliczanie wymiaru fraktalnego dla rzeczywistych obiektów.

Plan bada ´n

1. Wyznacz empirycznie wymiar fraktalny dla zbioru Cantora. Ze- staw dopasowan ˛a krzyw ˛a z danymi empirycznymi na jednym wykresie. Porównaj ze ´scisłym wynikiem.

2. Narysuj graficzn ˛a wizualizacj ˛e zbioru Cantora.

3. Wygeneruj binarny obrazek rzeczywistego obiektu o fraktalnej naturze

4. Wyznacz eksperymentalnie wymiar fraktalny swojego rysunku.

5. Wykonaj wizualizacje zbiorów Julii i Mandelbrota.

Pytania i problemy

1 Jak działa funkcjaGraphics? Podaj przykład jej zastosowania.

2 Jak działa funkcjaLine? Podaj przykład jej zastosowania.

3 Jak działa funkcjaRectangle? Podaj przykład jej zastosowania.

4 Jak działa funkcjaPolygon? Podaj przykład jej zastosowania.

5 Jak działa funkcjaDisk? Podaj przykład jej zastosowania.

6 Jak działa funkcjaCircle? Podaj przykład jej zastosowania.

7 Jak działa funkcjaArrow? Podaj przykład jej zastosowania.

8 Jak działa funkcjaThickness? Podaj przykład jej zastosowania.

9 Jak działa funkcjaArrayPlot? Podaj przykład jej zastosowania.

10 Jak działa funkcjaListLogLogPlot? Podaj przykład jej zastoso- wania.

11 Jak działa funkcjaImageTrim? Podaj przykład jej zastosowania.

12 Jak działa funkcjaImageCrop? Podaj przykład jej zastosowania.

(20)

13 Jak działa funkcjaImageValue? Podaj przykład jej zastosowania.

14 Czym ró ˙zni si ˛e dyrektywaThickodThickness?

15 Jak działa funkcjaCountryData? Podaj przykład jej zastosowa- nia.

16 Jak działa funkcjaFindFit? Podaj przykład jej zastosowania.

17 Jak działa funkcjaReplaceAll(\.)? Podaj przykład jej zastoso- wania.

18 Jak zmieni´c grubo´s´c lini podczas rysowania grafiki?

19 Jak zmieni´c styl lini podczas rysowania grafiki?

20 Jak wczyta´c obrazek do ´srodowiska Mathematica?

21 Jak działa funkcjaNestWhile? Podaj przykład jej zastosowania.

22 Jak działa funkcjaMap? Podaj przykład jej zastosowania.

23 Jak działa funkcjaApply? Podaj przykład jej zastosowania.

24 Jak działa funkcjaImageMeasurements? Podaj przykład jej zasto- sowania.

25 Jak działa dyrektywaColorFunctions? Podaj przykład jej zasto- sowania.

26 Co robi@? Podaj przykład zastosowania.

27 Co robi\@? Podaj przykład zastosowania.

28 Co robi@@? Podaj przykład zastosowania.

29 Co robi@@@? Podaj przykład zastosowania.

30 Co robi#i&? Podaj przykład zastosowania.

1 Wyznacz empirycznie wymiar fraktalny zbioru Julii dla 3 wybra- nych warto´sci c.

2 Poł ˛acz wykresy zbiorów Julii i Mandelbrota w jeden blokManipulate, w którym klikaj ˛ac na punkt zbioru Mandelbrota kod rysuje odpo- wiadaj ˛acy temu punktowi zbiór Julii.

3 Narysuj rysunek zbioru Julii w wi ˛ekszej rozdzielczo´sci dla 3 wybranych warto´sci c.

4 Narysuj polityczn ˛a map ˛e polityczn ˛a Afryki, wykorzystuj ˛ac funk- cjeCountryData.

(21)

5 Narysuj polityczn ˛a map ˛e polityczn ˛a Ameryki Południowej, wy- korzystuj ˛ac funkcjeCountryData.

6 Narysuj w wi ˛ekszej rozdzielczo´sci wybrany fragment zbioru Mandelbrota, wyznacz jego empiryczny wymiar fraktalny.

7 Narysuj polityczn ˛a map ˛e polityczn ˛a Ameryki Północnej, wyko- rzystuj ˛ac funkcjeCountryData.

8 Poł ˛acz wykresy zbiorów Julii i Mandelbrota w jeden blokManipulate, w którym klikaj ˛ac na punkt zbioru Mandelbrota kod rysuje odpo- wiadaj ˛acy temu punktowi zbiór Julii.

9 Narysuj rysunek zbioru Julii w wi ˛ekszej rozdzielczo´sci dla 3 wybranych warto´sci c.

10 Narysuj polityczn ˛a map ˛e polityczn ˛a Azji, wykorzystuj ˛ac funkcje CountryData.

11 Narysuj w wi ˛ekszej rozdzielczo´sci wybrany fragment zbioru Mandelbrota, wyznacz jego empiryczny wymiar fraktalny.

12 Narysuj polityczn ˛a map ˛e Europy, wykorzystuj ˛ac funkcjeCountryData.

13 Wyznacz empirycznie wymiar fraktalny zbioru Julii dla 3 wy- branych warto´sci c.

14 Dopasuj parametry wybranej krzywej do ci ˛agu liczb Fibonaccie- go.

15 Poł ˛acz wykresy zbiorów Julii i Mandelbrota w jeden blok Manipulate, w którym klikaj ˛ac na punkt zbioru Mandelbrota kod rysuje odpowiadaj ˛acy temu punktowi zbiór Julii.

16 Narysuj rysunek zbioru Julii w wi ˛ekszej rozdzielczo´sci dla 3 wybranych warto´sci c.

17 Dopasuj parametry wybranej krzywej do ci ˛agu liczb pierw- szych.

18 Narysuj w wi ˛ekszej rozdzielczo´sci wybrany fragment zbioru Mandelbrota, wyznacz jego empiryczny wymiar fraktalny.

19 Dopasuj parametry wybranej krzywej do ci ˛agu liczb Fibonaccie- go.

20 Wyznacz empirycznie wymiar fraktalny zbioru Julii dla 3 wy- branych warto´sci c.

21 Wczytaj plik z grafik ˛a przedstawiaj ˛ac ˛a wybran ˛a ro´slin ˛e, wy- znacz empirycznie jego wymiar fraktalny.

(22)

22 Narysuj rysunek zbioru Julii w wi ˛ekszej rozdzielczo´sci dla 3 wybranych warto´sci c.

23 Wczytaj plik z grafik ˛a przedstawiaj ˛ac ˛a wybran ˛a muszl ˛e, wy- znacz empirycznie jego wymiar fraktalny.

24 Poł ˛acz wykresy zbiorów Julii i Mandelbrota w jeden blok Manipulate, w którym klikaj ˛ac na punkt zbioru Mandelbrota kod rysuje odpowiadaj ˛acy temu punktowi zbiór Julii.

25 Narysuj w wi ˛ekszej rozdzielczo´sci wybrany fragment zbioru Mandelbrota, wyznacz jego empiryczny wymiar fraktalny.

26 Wczytaj plik z grafik ˛a przedstawiaj ˛ac ˛a delt ˛e wybranej rzeki, wyznacz empirycznie jego wymiar fraktalny.

27 Wczytaj plik z grafik ˛a przedstawiaj ˛ac ˛a układ naczy ´n krwiono-

´snych, wyznacz empirycznie jego wymiar fraktalny.

28 Wyznacz empirycznie wymiar fraktalny zbioru Julii dla 3 wy- branych warto´sci c.

29 Poł ˛acz wykresy zbiorów Julii i Mandelbrota w jeden blok Manipulate, w którym klikaj ˛ac na punkt zbioru Mandelbrota kod rysuje odpowiadaj ˛acy temu punktowi zbiór Julii.

30 Narysuj rysunek zbioru Julii w wi ˛ekszej rozdzielczo´sci dla 3 wybranych warto´sci c.

(23)

Mo ˙zna u ˙zy´c funkcjiIntegrate[].

Polecamy do tego celuNest[]iMap[].

Warto zapozna´c si ˛e z opcj ˛aPDFdla funkcjiHistogramList[]- b ˛edzie to pomocne.

Ergodyczno´s´c

Wstrz ˛a ´s n i ˛e t e, nie zmieszane — James Bond

Plan bada ´n

1. Korzystaj ˛ac z twierdzenia Birkhoffa i wyników uzyskanych na pierwszych zaj ˛eciach dla obrotu na okr ˛egu (o k ˛at niewspółmierny do π) oblicz numerycznie poni ˙zsze całki. Porównaj uzyskane wyniki z warto´sci ˛a dokładn ˛a.

a) R

0 sin(x)dx, b) R

0 cos2(x)dx.

2. Wyestymuj miar ˛e niezmiennicz ˛a dla f4=4x(1−x), w tym celu:

• Wylosuj wektor m liczb pseudolosowych z rozkładu równomier- nego na[0, 1].

• Na ka ˙zdej ze współrz ˛ednych rozwa ˙zanego wektora wywołaj n-t ˛a iteracj ˛e funkcji f4Zadziałaj na ka ˙zdej współrz ˛ednej tego wektora n razy rozwa ˙zan ˛a funkcj ˛a.

• Przy u ˙zyciu funkcjiHistogramList[]utwórz z tej listy odpo- wiedni ˛a list ˛e histogramu - sugerujemy samemu popracowa´c nad optymalnym doborem liczby przedziałów i ich szeroko´sci na jakie chcemy podzieli´c nasze dane.

• Stosuj ˛ac funkcjePartition[]iRiffle[]tak przekształ´c uzyska- n ˛a list ˛e aby mo ˙zna było narysowa´c j ˛a z wykorzystaniem funkcji ListPlot[].

• Porównaj uzyskany wynik z wynikiem dokładnym:

h(x) = 1 πpx(1−x).

3. Odwzorowanie z rodziny logistycznej f4(x)jest ergodyczne. Ob- licz warto´s´c oczekiwan ˛aE

X jako warto´s´c oczekiwan ˛a rozkładu danego przez miar ˛e niezmiennicz ˛a z poprzedniego zadania

h(x) = 1 πpx(1−x) oraz poprzez iteracj ˛e odwzorowania f4(x).

4. Wyznacz wszystkie deterministyczne układy dynamiczne na zbio- rze trójelementowym. Narysuj ich macierze i diagramy przej´scia w jednym kroku. Które s ˛a ergodyczne w sensie dynamicznym, a które w sensie procesów Markowa?

(24)

Przydatne mog ˛a by´c funkcje Eigensystem[],Eigenvalues[], Eigenvectors[]

5. Zaproponuj ła ´ncuch Markowa o 5 stanach, który jest ergodyczny.

Znajd´z stacjonarny rozkład prawdopodobie ´nstwa, analizuj ˛ac jego macierz przej´scia, a nast ˛epnie j ˛a iteruj ˛ac.

Pytania i problemy

1 Wyja´snij w jaki sposób mo ˙zna obliczy´c n-t ˛a pot ˛eg ˛e macierzy.

2 Wyja´snij jak działa funkcjaIntegrate[]. Podaj przykład jej zasto- sowania.

3 Wyja´snij jak działa funkcjaD[]. Podaj przykład jej zastosowania.

4 Wyja´snij jak działa funkcjaSolve[]. Podaj przykład jej zastoso- wania.

5 Wyja´snij jak działa funkcjaNSolve[]. Podaj przykład jej zastoso- wania.

6 Czym ró ˙zni ˛a si ˛e porównania==(Equal) i===(SameQ)?

7 Wyja´snij jak działa funkcjaEigenvalues[]oraz zilustruj jej dzia- łanie na przykładzie.

8 Wyja´snij jak działa funkcjaEigenvectors[]oraz zilustruj jej działanie na przykładzie.

9 Wyja´snij jak działa funkcjaEigensystem[]oraz zilustruj jej dzia- łanie na przykładzie.

10 Jaka jest ró ˙znica mi ˛edzy funkcjamiMap[]iApply[].

11 Wyja´snij oraz zilustruj na przykładzie działanie funkcjiNIntegrate[].

12 Wyja´snij oraz zilustruj na przykładzie działanie funkcjiWeightedAdjacencyGraph[].

13 Wyja´snij jak wykorzysta´c funkcj ˛eArrayPlot[]do narysowania szachownicy 4×4.

14 Wyja´snij oraz zilustruj na przykładzie działanie funkcjiMatrixForm[].

15 Wyja´snij dlaczego kod:MatrixForm[{1, 1}] == {2, 2}nie zwraca warto´sci logicznejTrue.

16 Wyja´snij jak zmieni´c kolor wybranej (tylko jednej) kraw˛edzi w grafie generowanym za pomoc ˛a funkcjiWeightedAdjacencyGraph[].

17 Wyja´snij jak działa funkcjaGraph[]oraz zilustruj jej działanie na przykładzie.

18 Wyja´snij jak działa funkcjaFlatten[]oraz zilustruj jej działanie na przykładzie.

(25)

Prosz ˛e szuka´c wbudowanej funkcji, a nie implementowa´c np. metod ˛e odwrotnej dystrybuanty!

Pomocna b ˛edzie funkcjaTable[].

19 Wyja´snij oraz zilustruj na przykładzie działanie funkcjiTranspose[].

20 Wyja´snij jak przy pomocy funkcjiAdjacencyGraph[]wygenero- wa´c graf pełny o 5 wierzchołkach.

21 Wyja´snij i zilustruj przykładem działanie funkcjiTotal[].

22 Wyja´snij oraz zilustruj przykładem działanie funkcjiMax[]

iMin[].

23 Wyja´snij oraz zilustruj przykładem działanie dyrektywyGraphLayout.

24 Wyja´snij oraz zilustruj przykładem działanie dyrektywyVertexyStyle

25 Wyja´snij oraz zilustruj przykładem działanie dyrektywyEdgeStyle

26 Czym ró ˙zni ˛a si ˛e funkcjeDirectedEdge[]iUndirectedEdge[]?

27 Wyja´snij oraz zilustruj przykładem działanie funkcjiMean[]

28 Wyja´snij jak działa funkcjaHistogram[], zilustruj jej działanie przykładem.

29 Jak w ´srodowisku Mathematica wygenerowac liczby pseudolo- sowe z rozkładu jednostajnego na zadanym przedziale?

30 Jak w ´srodowisku Mathematica wygenerowac liczby pseudolo- sowe z zadanego rozkładu?

1 Niech n∈N, parzysta. W jaki sposób w grafie o n wierzchołkach generowanym za pomoc ˛a funkcjiWeightedAdjacencyGraph[]

pokolorowa´c parzyste wierzchołki na zielono a nieparzyste na

˙zółto?

2 Zaproponuj proces Markowa o co najmniej 6 stanach posiadaj ˛acy stany o ró ˙znym okresie, tak aby graf reprezentuj ˛acy ten proces był spójny (jako graf nieskierowany). Dla zaproponowanego procesu:

u narysuj diagram przej´scia w jednym kroku, u narysuj macierz przej´scia w jednym kroku,

u znajd´z wszystkie stacjonarne rozkłady prawdopodobie ´nstwa.

3 Dla dowolnego grafu zapisz macierz przej´scia w jednym kroku dla cz ˛astki bł ˛adz ˛acej po nim przypadkowo.

4 Zaproponuj proces Markowa o okresie 2 posiadaj ˛acy co najmniej 6stanów, tak aby graf reprezentuj ˛acy ten proces był spójny (jako graf skierowany). Dla zaproponowanego procesu:

u narysuj diagram przej´scia w jednym kroku, u narysuj macierz przej´scia w jednym kroku,

(26)

u znajd´z wszystkie stacjonarne rozkłady prawdopodobie ´nstwa.

5 Wykorzystuj ˛ac funkcj ˛eEigensystem[]znajd´z wszystkie stacjo- narne rozkłady prawdopodobie ´nstwa dla grafu zadanego macierz ˛a przej´scia (Rozumianej w my´sl definicji 11)

1 0 0 0 0

0 0.5 0.5 0 0

0 0 0 0.5 0

0 0.5 0 0 1

0 0 0.5 0.5 0

 .

6 Dla dowolnego grafu zapisz macierz przej´scia w jednym kroku dla cz ˛astki bł ˛adz ˛acej po nim przypadkowo.

7 Powtórz zadanie♠5dla macierzy przej´scia:

1 0 0 0.3 0

0 0.5 0.5 0 0 0 0.5 0.5 0 0

0 0 0 0.5 1

0 0 0 0.2 0

8 Wykorzystuj ˛ac funkcjeAdjacencyGraph[],Table[],If[]napisz program, który dla zadanego n ∈ N wygeneruje graf pełny o n wierzchołkach.

9 Wykorzystuj ˛ac funkcjeGraph[],Table[],If[]napisz program, który dla zadanego n ∈ N wygeneruje graf pełny o n wierzchoł- kach.

10 Napisz funkcj ˛e, który, wykorzystuj ˛ac funkcj ˛eTotal[]sprawdza czy podana w jej argumencie macierz jest macierz ˛a przej´scia w jednym kroku (w my´sl definicji 11).

11 Napisz funkcj ˛e, który, wykorzystuj ˛ac funkcj ˛ePlus[]sprawdza czy podana w jej argumencie macierz jest macierz ˛a przej´scia w jednym kroku (w my´sl definicji 11).

12 Napisz funkcj ˛e która dla zadanego n ∈ N zwraca´c b ˛edzie przy pomocyArrayPlot[]graficzn ˛a reprezentacj ˛e macierzy n×n przedstawiaj ˛ac ˛a pikselowe koło, czyli figur ˛e, w której małymi kwadratami przybli ˙za si ˛e z coraz wi ˛eksz ˛a dokładno´sci ˛a (wraz ze wzrostem warto´sci n) wn ˛etrze dwuwymiarowej kuli.

13 Wykonaj zadanie♠12 przybli ˙zaj ˛ac wn ˛etrze dwuwymiarowej figury danej nast ˛epuj ˛aco:

P=n(x, y) ∈R2: 4+2x<x2+y2<9o .

Cytaty

Powiązane dokumenty

W aktach perswazyjnych zawsze obecna jest jakaś ocena (jawna bądź ukryta). Barańczaka można wskazać elementy wartościowania lub narzucania wartości odbiorcy.

Jeśli chcemy wyznaczyć wszystkie liczby pierwsze nieprzekraczające n, wypisujemy na kartce liczby naturalne od 1 do n, wykreślamy 1, bo nie jest pierwsza, zostawiamy 2 i

Co ważne, wybór tutora nie jest ani ostateczny (można go zmienić po każdym roku), ani nie wiąże się z koniecz- nością pisania pracy magisterskiej u tej właśnie osoby..

◦ od góry, gdy współczynnik wielomianu przy najwyższej potędze jest dodatni;.. ◦ od dołu, gdy współczynnik wielomianu przy najwyższej potędze

Na Stadionie Narodowym odbył się ważny mecz.. Ważny mecz odbył się na

warto´sci alfa ´zródła, czyli przez (1-warto´s´c alfa celu) GL_DST_ALPHA mno˙zy kolor ´zródł ˛ a przez warto´s´c alfa celu. GL_ONE_MINUS_DST_ALPHA mno˙zy kolor ´zródła

jako przykład implementacji VBHC w Polsce Pomorski model zintegrowanej opieki dla chorych na zaawansowaną przewlekłą obturacyjną chorobę płuc (POChP) został wprowadzony w

W obu przypadkach wskaż cechy, które sprawiają, że dana reklama Ci się podoba