end
end
%
% cobweb2.m
%
% Паутинная диаграмма для моделирования одной популяции разностным уравнением.
%
% У пользователя запрашивается уравнение, определяющее модель. Затем по
% щелчку на начальной численности популяции на графике будет отображаться
% «паутина» будущих численностей популяции. Старые линии постепенно стираются
% с течением времени.
%
m=[];
s=16; % количество линий для рисования
p=0; % инициализируем начальное значение
% % численности популяции
disp (' ')
disp (' Введите формулу, определяющую модель популяции, используя "p" для')
disp ('обозначения численности: (По умолчанию: next_p = p+2.5*p*(1-p/10) ) ')
next_p=input ('next_p = ','s');
if isempty(next_p) next_p='p+2.5*p*(1-p/10)';
end;
p=eval (next_p); % проверяем корректна ли формула
%
disp (' ')
disp ('Введите верхний и нижний пределы P в момент времени t, чтобы задать')
disp ('границы изображения графика:')
plimits=input ('(По умолчанию [pmin pmax]=[0 20]) [pmin pmax]= ');
if isempty(plimits) plimits=[0 20]; end;
%
% Формируем данные для построения модели
pinc=(plimits(2)-plimits(1))/20; % устанавливает интервал между
% % соседними значениями
h=[plimits(1):pinc:plimits(2)];
for k=1:21; % цикл создания вектора значений
p=h(k);
p=eval (next_p);
m=[m p];
end;
% начало построения нового графика с изображением функции модели и диагональной линии
figure;
hold on;
axis([plimits plimits]);
curve=plot(h,m,'Color','b');
diag=plot(h,h,'Color','g');
xlabel ('P_t');
ylabel ('P_{t+1}');
title (['следующее\_p=',next_p] );
% создаём вектор фрагментов для ступенек
stephan=ones(1,2*s);