Добавил:
nikolozzz15@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

IdzP1

.doc
Скачиваний:
0
Добавлен:
27.11.2022
Размер:
722.94 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра САУ

отчет

по индивидуальному домашнему заданию П1

по дисциплине «Математические Пакеты в инженерных и технических расчетах»

Вариант 12 "Мозаика"

Студент гр. 5492

Логинов А.А.

Преподаватель

Филатова Е.С.

Санкт-Петербург

2018

Код для построения фрактала:

function X = P1(N)

RuleForF = 'F-b+FF-F-FF-Fb-FF+b-FF+F+FF+Fb+FFF';

X = 'F-F-F-F';

teta = pi/2;

alfa = 0;

m=1;

n=1;

i=1;

j=1;

while i<N+1

len_X = length(X);

while j<len_X+1

if X(j) == 'F'

while m<length(RuleForF)+1

H(n) = RuleForF(m);

m=m+1;

n=n+1;

end

elseif X(j)=='-'

H(n) = '-';

n=n+1;

elseif X(j) =='+'

H(n) = '+';

n=n+1;

end

m=1;

j=j+1;

end

i=i+1;

X=H;

j=1;

n=1;

end

line = animatedline; i=2;j=1;

x(1)=0;

y(1)=0;

addpoints(line,x(1),y(1));

drawnow

while j<length(X)+1

if X(j) == 'F'

x(i) = x(i-1)+cos(alfa);

y(i) = y(i-1)+sin(alfa);

addpoints(line,x(i),y(i));

i=i+1;

drawnow

elseif X(j)=='-'

alfa = alfa-teta;

elseif X(j) =='+'

alfa = alfa+teta;

end

j=j+1;

end

end

Результат выполнения программы с 3-я итерациями:

4

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]