
- •Федеральное агенство связи
- •Множество Жюлиа
- •Множество Мандельброта
- •Теорема о множествах Мандельброта и Жюлиа
- •Программа построения 3Dмодели множества Мандельброта вMatlab
- •Задание
- •Контрольные вопросы
- •Аттрактор
- •Аффинное преобразование
- •Построение рсиф в matlab
- •Задание
- •Поведение численности популяций
- •Диаграмма орбит
- •Константа Фейгенбаума
- •Теорема Шарковского.
- •Построение бифуркационной диаграммы Ферхюльста в системе Matlab
- •Задание
- •Контрольные вопросы
- •Винеровский процесс
- •Фрактальное броуновское движение
- •Показатель Херста
- •Задание
- •Выполнение
- •Контрольные вопросы
- •Приложение 1. Рецепт торта Мандельброта Приложение 2.Размерность Хаусдорфа и тетраэдр Серпинского
- •Приложение 3. Использование сиф для сжатия изображений
Задание
В среде Matlab построить фрактальное броуновское движение для двух значений показателя Херста, которые указаны в таблице 1, для своего варианта. Написать программу, реализующую винеровский процесс. Сравнить графики, сделать выводы.
Выполнение
Выполнение работы происходит в пакете Wavelet Toolbox . Для его открытия введите в окно команд wavemenu и нажмите Enter.
В появившемся меню выбрать Fractional Brownian Generation 1-D.
Введите первое значение Fractal Index из таблицы.
Поставьте в State значение своего варианта.
Нажмите кнопку Generate.
Нажмите кнопку Statistics. Изучите полученные графики, гистограммы и значения статистик.
Повторите пункты 3 – 6 для второго значения.
Измените приведенную программу броуновского движения так, что бы строился винеровский процесс.
№ |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Значение 1 |
0,025 |
0,050 |
0,075 |
0,100 |
0,125 |
0,150 |
0,175 |
0,200 |
0,225 |
0,250 |
Значение 2 |
0,600 |
0,625 |
0,650 |
0,675 |
0,700 |
0,725 |
0,750 |
0,775 |
0,800 |
0,825 |
№ |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
Значение 1 |
0,275 |
0,300 |
0,325 |
0,350 |
0,375 |
0,400 |
0,425 |
0,450 |
0,475 |
0,485 |
Значение 2 |
0,850 |
0,875 |
0,900 |
0,925 |
0,950 |
0,975 |
0,985 |
0,520 |
0,550 |
0,575 |
Контрольные вопросы
Что такое винеровский процесс?
Чем фрактальное броуновское движение отличается от стандартного броуновского?
Что такое константа Херста? Какие значения она принимает? При каких значениях константы Херста шум обладает антиперсистентными свойствами? Персистентными свойствами?
Приложение 1. Рецепт торта Мандельброта Приложение 2.Размерность Хаусдорфа и тетраэдр Серпинского
Пусть
d
– обычная Евклидова размерность
пространства, в котором находится
фрактальный объект ( d=1
– линия, d=2
– плоскость, d=3
– обычное трехмерное пространство).
Покроем этот объект целиком d-мерными
«шарами» (под «шарами» можно понимать
также и куб, и квадрат, и просто отрезок
прямой, в зависимости от задачи) радиуса
l.
Предположим, что нам потребовалось не
менее, чем N(l)
шаров. Тогда, если при достаточно малых
l
величина N(l)
меняется с l
по степенному закону
,
тоD
– называется хаусдорфовой или фрактальной
размерностью этого объекта.
Это и служит определением фрактальной размерности D.
Так, например, для множества, состоящего из конечного числа изолированых точек, N, минимальное число d-мерных «шаров», с помощью которых мы можем покрыть это множество, при достаточно малом размере шаров совпадает, очевидно, с количеством точек, т.е. N(l)=N и не зависит от диаметра шаров l. Следовательно, согласно формуле, фрактальная размерность этого множества D=0. Она совпадает с обычной Евклидовой размерностью точки d=0.
Для фракталов с идеальным самоподобием покрытие можно осуществлять элементами, из которых состоит фрактал. Тогда можно упроститить формулу для определения фрактальной размерности. Пусть на некотором этапе покрытия фрактала нам пришлось использовать, как минимум, N(l) таких элементов размера l, а на другом N(l’) элементов размера l’. Тогда величина фрактальной размерности может быть вычислена по формуле:
Вычислим фрактальную размерность Канторовского множества.
Рецепт его построения: разобьем отрезок [0; 1] на три равные части и выбросим среднюю часть – интервал (1/3; 2/3). Разобьем каждую из двух оставшихся частей снова на три равные части и выбросим каждую среднюю часть – интервал (1/9; 2/9) и интервал (7/9; 8/9). Разобьем каждую из четырех оставшихся частей на три равные части и выбросим каждую среднюю и т.д.
Воспользуемся
формулой
.
Очевидно, что наn-м
шаге нашего построения мы имеем
отрезков
длинной 1/
каждый.
Поэтому в качествеN(l)
на этом шаге можно взять величину
,
а в качествеl
– величину
1/
.
Предел l->0 соответствует пределу n->inf. Поэтому фрактальная размерность равна:
D==
=0.6309.
Она оказалась меньше Евклидовой размерности пространства (d=1), в котором располагается это множество (т.е. его длина равна нулю), но все-таки отлична от нуля, т.е. больше топологической размерности элементов (точек) этого множества. По математической терминологии данный объект представляет собой несчетное множество точек, обладающее мощностью континуума.
function TetrahedronFractal
vert=[+1 +1 +1
-1 -1 +1
-1 +1 -1
+1 -1 -1];
face=[1 2 3
2 3 4
1 3 4
1 2 4];
sca=1/2; %scale factor
level=5; %level of recursion
drawFractal(vert,face,sca,level)
axis equal
view(3)
function drawFractal(vert,face,sca,n)
if n>0
vnew=vert;
for k=1:length(vert)
vnew(:,1)=vert(:,1)+vert(k,1);
vnew(:,2)=vert(:,2)+vert(k,2);
vnew(:,3)=vert(:,3)+vert(k,3);
if n==1
patch('vertices',vnew,'faces',face,'facecolor','r');
end
drawFractal(vnew*sca,face,sca,n-1);
end
end
xlabel('x'); ylabel('y'); zlabel('z');
return