Оценить:
 Рейтинг: 0

Математические модели в естественнонаучном образовании. Том I

Год написания книги
2022
Теги
<< 1 ... 21 22 23 24 25 26 27 28 29 ... 50 >>
На страницу:
25 из 50
Настройки чтения
Размер шрифта
Высота строк
Поля

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);
<< 1 ... 21 22 23 24 25 26 27 28 29 ... 50 >>
На страницу:
25 из 50