Рассчитайте аналитически равновесия (которые могут быть выражены через и
или
) и стабильность этих равновесий (которые также могут зависеть от
и
или
).
Объясните равновесие и стабильность с точки зрения паутинных диаграмм. Какое влияние оказывает вычитание и
на паутинную диаграмму логистической модели?
Постарайтесь найти наибольшее или
которое можно выбрать так, чтобы все еще было устойчивое равновесие. Если
или
выбраны как можно большими, чтобы все еще существовало стабильное равновесие (это вполне может быть экономически обоснованным), что произойдет с нестабильным равновесием?
Если бы вы отвечали за управление моделируемой организации, было бы вам комфортно, если бы стабильное равновесие находилось близко к нестабильному?
Существуют ли значения , для которых
может быть больше
? Имеет ли это какой-либо смысл?
Если без проведения сокращений численность сотрудников не имеет устойчивого равновесия, то может ли принудительное сокращение привести к стабильности? Имеет ли это экономический смысл?
Используйте программу longterm.m для создания диаграмм, показывающих изменения моделируемой численности в долгосрочной перспективе по мере изменения параметров модели.
% longterm.m
fun = @(x,r) x + r*x*(1-x);
x0 = .99; a0 = 0; a1 = 3; N = 777; preL = 200; L = 100;
mat = bifur(fun,x0,a0,a1,N,preL,L);
function mat = bifur(fun,x0,a0,a1,N,preL,L,p_siz)
%
% Функция bifur: строит однопараметрическую диаграмму бифуркаций
% Вход: fun = некоторая функция @(x,para)
% x0 = стартовое значение для x
% a0 = начальное значение параметра a
% a1 = конечное значение параметра a
% N = количество интервалов для параметра 'a' на отрезке [a0;a1]
% preL = количество предварительно пропускаемых итераций для
% преодоления переходного процесса перед стабилизацией
% L = количество итераций для каждой начальной пары
% от (x0,параметр a)
% p_siz = размер маркера, по умолчанию 1
% Выход: mat = бифукационная матрица размера N на L
% которая хранит последовательность длины L
% для каждой пары (x0, параметр a)
%
% установки по умолчанию
if ~exist('p_siz','var')
p_siz = 1;
end
% инициализация
mat = zeros(N,L);
a = linspace(a0,a1,N);
% основной цикл
format long
for i = 1:N
ca = a(i); % выбрать одно значение параметра в каждый момент времени
for j = 1:L % сгенерировать последовательность длиной L
if j == 1
pre = x0; % инициализируем стартовое значение
for k = 1:preL % пропускаем значения переходного процесса
nxt = fun(pre,ca);
pre = nxt;
end
end
nxt = fun(pre,ca); % вычисляем следующее значение последовательности
mat(i,j) = nxt; % сохраняем в результирующей матрице mat
pre = nxt; % последнее значение будет начальным для следующей итерации
end
end
% построение графика
dcolor = [0,0,1]; % настройка цвета маркера: синий
[r,c] = meshgrid(1:L,a); % наполяем сетку данных координат
surf(r,c,mat,'Marker','*','MarkerSize',p_siz,'FaceColor','None','MarkerEdgeColor', dcolor,'EdgeColor','None')
view([90,0,0]) % фиксируем направление камеры
ylim([a0,a1]) % размещаем данные на диаграмме
end
2. Для популяции со временем регенерации значительно меньшей единицы времени может быть неуместно думать о пропускной способности как о константе. Исследуйте, что произойдет, если пропускная способность изменяется синусоидально. Для начала попробуйте понять следующие команды MATLAB:
t=[0:50]
K=5+sin((2*pi/12)*t)
p=.1; pops=p
for i=1:50
p=p+.2*p*(1-p/K(i));
pops=[pops p];
end
plot(t,K,t,pops)
Рекомендации
Объясните, почему синусоидально изменяющаяся пропускная способность может иметь физический или социально-экономический смысл при некоторых обстоятельствах.
Исследуйте поведение модели для различных вариантов и
. Колеблется ли
вместе с
? Обратите особое внимание на то, когда популяция достигает пика и каково среднее значение
в долгосрочной перспективе. Соответствуют ли результаты машинных экспериментов вашей интуиции?
Что происходит, если изменяется частота колебаний пропускной способности? Попробуйте заменить в предыдущем примере на
при разных N.