- •This is a static copy of a profile report
- •This is a static copy of a profile report
- •Code Analyzer results
- •Function listing
- •This is a static copy of a profile report
- •Code Analyzer results
- •Function listing
- •This is a static copy of a profile report
- •Code Analyzer results
- •Function listing
- •Ответы на контрольные вопросы:
Московский авиационный институт
(Национальный исследовательский университет)
Отчёт
Лабораторная работа
(практикум 11)
«Геометрические фракталы»
Вариант №25.
Выполнил студент:
Панин Сергей
Группа 7О – 104С
Проверил: Кривилев Александр Владимирович
Цель работы: Приобретение навыков рекурсивного решения задач и знакомство с геометрическими фракталами.
Самостоятельная работа:
Создать m-файл, в котором размещаются две функции. Первичная функция принимает в качестве входного параметра число, которое соответствует максимальной глубине рекурсивных вызовов. Во время выполнения первичной функции создается графическое окно, оформляется координатная плоскость и происходит вызов рекурсивной функции. Подфункция является рекурсивной функцией, которая выполняет построение геометрического фрактала согласно индивидуальному варианту. В том случае, если первичная функция вызывается без входного параметра, то он по умолчанию равен двум. Процедуру построения геометрического фрактала следует выполнять до тех пор, пока не будет достигнута необходимая глубина рекурсивных вызовов или текущая длина линий, из которых формируется необходимая фигура, не будет меньше минимально допустимой длины Lmin. Значение минимально допустимой длины следует хранить в глобальной переменной L_MIN, которая удаляется из памяти во время окончания работы первичной функции.
Создать профили функции при различных значениях входного параметра.
Создать отчет. В отчете необходимо поместить задания практикума, описание первичной функции и рекурсивной подфункции, построенные геометрические фракталы первого, второго и третьего порядков, профили функции при построении геометрических фракталов соответствующих порядков и ответ на контрольный вопрос, полученный от преподавателя.
function [] = rec_fractal(n)
%REC_FRACTAL Построение фрактала по рекурсивной схеме
% n - глубина фрактального изображения или рекурсии.
if (nargin < 1) | (n < 1), n = 2; end
figure('Color','w');
axes('Color','none',…
'DataAspectRatio',[1 1 1],…
'NextPlot','add',…
'XColor','w','YColor','w')
global L_MIN
L_MIN = 0.1;
picture(0,0,1,1.25,n)
clear('global','L_MIN')
end
function [] = picture(x,y,L,L1,n)
%PICTURE рекурсивная функция
x_c = [x-L/2,x+L/2,x+L/2,x-L/2,x-L/2];
y_c = [y-L/2,y-L/2,y+L/2,y+L/2,y-L/2];
line(x_c,y_c);
global L_MIN
if (n-1>0) & ~(L<L_MIN)
L1 = 1.25 * L; L = L/3.1;
x1 = [x-L1, x, x+L1, x+L1, x+L1, x, x-L1, x-L1];
y1 = [y+L1, y+L1, y+L1, y, y-L1, y-L1, y-L1, y];
for i=1:8
picture(x1(i),y1(i),L,L1,n-1);
end
end
end
Геометрический фрактал второго порядка.
Профиль функции.
This is a static copy of a profile report
Profile Summary Generated 17-Mar-2012 22:36:33 using cpu time.
Function Name |
Calls |
Total Time |
Self Time* |
Total Time Plot (dark band = self time) |
rec_fractal |
1 |
3.877 s |
3.877 s |
|
addpath |
1 |
1.001 s |
0.250 s |
|
path |
1 |
0.750 s |
0.500 s |
|
general/private/parsedirs |
2 |
0.250 s |
0.250 s |
|
closereq |
1 |
0.250 s |
0.250 s |
|
workspacefunc |
2 |
0.125 s |
0.125 s |
|
general/private/catdirs |
1 |
0 s |
0.000 s |
|
pathsep |
3 |
0 s |
0.000 s |
|
filesep |
2 |
0 s |
0.000 s |
|
datamanager.schema |
1 |
0 s |
0.000 s |
|
initprintexporttemplate |
1 |
0 s |
0.000 s |
|
rec_fractal>picture |
9 |
0 s |
0.000 s |
|
workspacefunc>getWhosInformation |
2 |
0 s |
0.000 s |
|
gcbf |
3 |
0 s |
0.000 s |
|
Self time is the time spent in a function excluding the time spent in its child functions. Self time also includes overhead resulting from the process of profiling.
This is a static copy of a profile report
rec_fractal (1 call, 3.877 sec) Generated 17-Mar-2012 22:36:35 using cpu time. function in file /home/psdarko/matlab/Var 25/pw11/rec_fractal.m Copy to new window for comparing multiple runs
Parents (calling functions) No parent
Lines where the most time was spent
Line Number |
Code |
Calls |
Total Time |
% Time |
Time Plot |
6 |
figure('Color','w'); |
1 |
3.752 s |
96.8% |
|
8 |
global L_MIN |
1 |
0.125 s |
3.2% |
|
13 |
end |
1 |
0 s |
0% |
|
11 |
clear('global','L_MIN') |
1 |
0 s |
0% |
|
10 |
picture(0,0,1,1.25,n) |
1 |
0 s |
0% |
|
All other lines |
|
|
0 s |
0% |
|
Totals |
|
|
3.877 s |
100% |
|
Children (called functions)
Function Name |
Function Type |
Calls |
Total Time |
% Time |
Time Plot |
rec_fractal>picture |
subfunction |
1 |
0 s |
0% |
|
initprintexporttemplate |
function |
1 |
0 s |
0% |
|
datamanager.schema |
function |
1 |
0 s |
0% |
|
Self time (built-ins, overhead, etc.) |
|
|
3.877 s |
100.0% |
|
Totals |
|
|
3.877 s |
100% |
|
Code Analyzer results
Line number |
Message |
5 |
Use || instead of | as the OR operator in (scalar) conditional statements. |
Coverage results [ Show coverage for parent directory ]
Total lines in function |
13 |
Non-code lines (comments, blank lines) |
5 |
Code lines (lines that can run) |
8 |
Code lines that did run |
8 |
Code lines that did not run |
0 |
Coverage (did run/can run) |
100.00 % |
Function listing
time calls line 1 function [] = rec_fractal(n) 2 %REC_FRACTAL Построение фрактала по рекурсивной схеме 3 % n - глубина фрактального изображения или рекурсии. 4 1 5 if (nargin < 1) | (n < 1), n = 2; end 3.75 1 6 figure('Color','w'); 1 7 axes('Color','none','DataAspectRatio',[1 1 1],'NextPlot','add','XColor','w','YColor','w') 0.13 1 8 global L_MIN 1 9 L_MIN = 0.1; 1 10 picture(0,0,1,1.25,n) 1 11 clear('global','L_MIN') 12 1 13 end
Other subfunctions in this file are not included in this listing.