Professional Documents
Culture Documents
Matlab
dla zaawansowanych
wersja 1.0, 2010-09-29
- 1/8 -
2. Chaos deterministyczny (Chaos.m)
x i+1=k x 2i −1
Pierwszy wykres dla k =1.1, drugi dla k =1.6. W obu przypadkach oblicz 200 pierwszych wartości,
rozpoczynając od x 1=0.54321. Wykorzystaj funkcję subplot().
f1
x n+1 = 0
y n+ 1=0.16 y n.
f2
x n+1 = 0.2 x n - 0.26 y n
y n+ 1=0.23 x n+ 0.22 y n +1.6
f3
x n+1 = -0.15 x n + 0.28 y n
y n+ 1=0.26 x n+ 0.24 y n +0.44
f4
- 2/8 -
x n+1 = 0.85 x n + 0.04 y n
y n+ 1=−0.04 x n +0.85 y n +1.6
1 0 0
[ ]
T (t x ,t y )= 0 1 0
tx t y 1
sx 0 0
[ ]
S (s x , s y )= 0 s y 0
0 0 1
cosϕ sin ϕ 0
[
R(ϕ )= −sin ϕ cos ϕ 0
0 0 1 ]
- 3/8 -
Macierz transformacji jest iloczynem powyższych macierzy i ma postać:
M =T⋅S⋅R
W celu wykonania transformacji należy przemnożyć współrzędne figury płaskiej przez macierz M.
- 4/8 -
5. Szyfrowanie (Szyfr.m)
W celu zaszyfrowania tekstu należy najpierw zamienić go komendą uint16() na ciąg liczb. Następnie
do liczb należy bitowo dodać klucz, również w postaci liczby, stosując komendę bitxor(). Aby
odkodować zaszyfrowany tekst należy ponownie dodać komendą bitxor() ten sam klucz.
Zaszyfruj tekst „To jest mój pin kod: 1234.”, stosując klucz w postaci liczby 23.
tekst_zamieniony_na_cyfry =
Columns 1 through 12
Columns 13 through 24
Columns 25 through 26
52 46
tekst_zakodowany = Cx7}rdc7zä}7g~y7|xs-7&%$#9
- 5/8 -
6. Wykrywanie krawędzi obrazu (Obraz.m, Obraz.gif)
W celu odnalezienia krawędzi czarno-białego obrazu należy wykryć kolejno krawędzie w kierunku x i
w kierunku y a następnie zsumować oba obrazy. Wykrycie krawędzi np. w kierunku x polega na
przesunięciu obrazu w tym kierunku o kilka pikseli a następnie dodanie do obrazu oryginalnego
obrazu przesuniętego wykonując operację ~xor().
Do wczytania obrazy do pamięci programu należy posłużyć się komendą imread() a w celu
wyświetlenia go w oknie dialogowym imagesc(). Do sumowania obrazów krawędzi x i y można
posłużyć się komendą and(). Do narysowania wielu obrazów w jednym oknie dialogowym
wykorzystujemy komendę subplot().
Gra toczy się na nieskończonej planszy podzielonej na kwadratowe komórki. Każda komórka ma
ośmiu sąsiadów, czyli komórki przylegające do niej bokami i rogami. Każda komórka może znajdować
się w jednym z dwóch stanów: może być albo "żywa" albo "martwa". Stany komórek zmieniają się w
kolejnych cyklach. Stan wszystkich komórek w jednym cyklu jest używany do obliczenia stanu
wszystkich komórek w następnym cyklu. Po obliczeniu wszystkie komórki zmieniają swój stan
dokładnie w tym samym momencie. Stan początkowy może zostać dowolnie skonfigurowany,
wylosowany. Od stanu początkowego zależy dalsza ewolucja całego układu.
- 6/8 -
Zdefiniowano kilka wzorców reguł generowania, najbardziej rozpowszechnione są reguły wymyślone
przez Conwaya. Do nich też odnosi się podział struktur, przedstawiony w dalszej części artykułu.
Martwa komórka, która ma dokładnie 3 żywych sąsiadów, staje się ożywa w następnym
cyklu,
Żywa komórka z 2 albo 3 żywymi sąsiadami pozostaje nadal żywa,
Żywa komórka z mniej niż 2 sąsiadami umiera z "samotności" ,
Żywa komórka z większą niż 3 sąsiadami umiera z "zatłoczenia".
8. Fraktale (Mandelbrot.m)
x i+1=x i2− y i2 +C x
y i+1 =2 x i y i+C y
- 7/8 -
- 8/8 -