скачать книгу бесплатно
г. Алгебраическим путём найдите точку равновесия
(выразив её через
и
) для этой модели. Согласуется ли это с тем, что вы видели в части (в)? Можете ли объяснить результат интуитивно?
д. Пусть
. Перепишите модель в виде зависимости от
, отклонения значений от точки равновесия, путем подстановки в
и дальнейшего упрощения полученного выражения.
е. Используйте часть (д), чтобы найти формулу для
, а затем для
. Убедитесь в том, что формула дает те же результаты, что и машинный эксперимент в onepop.m.
ж. Можно ли модифицировать модель так, чтобы описывалась диффузия между двумя отсеками разных размеров?
Проектные работы:
1. Предположим, что численность выпускников математических факультетов, трудоустраивающихся по специальности, имеет динамику, хорошо моделируемую дискретным разностным уравнением
.
Конечно, динамика этой численности всегда будет зависеть от значения
, но, выбрав соответствующие единицы измерения, можно зафиксировать
. Исследуйте влияние регулярного сокращения таких сотрудников при двух различных типах предположений.
а.
, где
– некоторое фиксированное число сотрудников, сокращаемых на каждом этапе времени, например, ежегодно.
б.
, где
– некоторый фиксированный процент сотрудников, сокращаемых на каждом временном этапе (
).
Рекомендации
Чтобы почувствовать модели, исследуйте тему с помощью onepop.m из задачи 1.2.4 для множества разумных вариантов параметров. Опишите любое необычное поведение модели и попытайтесь его объяснить.
Рассчитайте аналитически равновесия (которые могут быть выражены через
и
или
) и стабильность этих равновесий (которые также могут зависеть от
и
или
).
Объясните равновесие и стабильность с точки зрения паутинных диаграмм. Какое влияние оказывает вычитание
и
на паутинную диаграмму логистической модели?
Постарайтесь найти наибольшее
или
которое можно выбрать так, чтобы все еще было устойчивое равновесие. Если
или
выбраны как можно большими, чтобы все еще существовало стабильное равновесие (это вполне может быть экономически обоснованным), что произойдет с нестабильным равновесием?
Если бы вы отвечали за управление моделируемой организации, было бы вам комфортно, если бы стабильное равновесие находилось близко к нестабильному?
Существуют ли значения
, для которых
может быть больше
? Имеет ли это какой-либо смысл?
Если без проведения сокращений численность сотрудников не имеет устойчивого равновесия, то может ли принудительное сокращение привести к стабильности? Имеет ли это экономический смысл?
Используйте программу 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]) % размещаем данные на диаграмме