Читать книгу Математические модели в естественнонаучном образовании. Том I - Денис Владимирович Соломатин - Страница 6
Глава 1. Динамическое моделирование разностными уравнениями
1.3. Анализ нелинейных моделей
ОглавлениеВ отличие от простой линейной модели, описывающей экспоненциальный рост, нелинейные модели, такие как дискретная логистическая, могут описывать достаточно сложную динамику поведения. Без сомнения, это стало заметным в ходе выполнения некоторые упражнений из предыдущего раздела.
В этом разделе рассмотрим несколько конкретных типов поведения и разработаем простые инструменты для их изучения.
Начнём с моделирования таких явлений, как переходные процессы, равновесие и стабилизация. Полезно выделить несколько аспектов, связанных с поведением динамической модели. Иногда, несмотря на первоначальную уникальность, после того как прошло много шагов, поведение модели становится шаблонным. Первые несколько шагов итерации, однако, могут не указывать на то, что подобное произойдет в долгосрочной перспективе. Например, с дискретной логистической моделью и большинство начальных значений , первые несколько итераций модели производят относительно большие изменения в по мере дальнейшего приближения к 10. Таким образом, подобное поведение на ранней стадии называется переходным, потому что оно в конечном итоге сменяется другим поведением. Однако это не означает, что переходные процессы не вызывают интереса, поскольку реальные популяции вполне могут переживать кризисные ситуации, которые продолжают возвращать популяцию обратно на переходный этап.
Как правило, исследователей интересует долгосрочное поведение модели. Причина этого заключается в том, что изучаемая система не должна быть разрушена раньше, чем прекратятся переходные процессы. Часто, но далеко не всегда, долгосрочное поведение не зависит от точной численности исходной популяции. В модели , долгосрочное поведение для большинства начальных значений заключается в том, что популяция становится очень близкой к . Заметим, что если , то , следовательно в дальнейшем численность популяции никогда не поменяется. Таким образом, является равновесием (или стационарной, фиксированной точкой) модели.
Определение. Равновесным значением для модели является значение такое, что . Это эквивалентно тому, что для модели существует значение такое, что .
Нахождение равновесных значений сводится к решению уравнения равновесия. Для модели , решив уравнение видим, что существует ровно два равновесных значения: и .
Вопросы для самопроверки:
– Графически тоже можно найти равновесия, выполнив поиск пересечения кривой с диагональной прямой. Почему это так?
Тем не менее, Равновесие все еще может иметь различные качественные особенности. В примере выше и являются равновесиями, но популяция, близкая к 0, имеет тенденцию отходить от 0, тогда как популяция близкая к 10 имеет тенденцию двигаться к 10. Таким образом, 0 является неустойчивым или отталкивающим равновесием, а 10 является стабильным или притягивающим равновесием.
Предположим, что модель близка к описанию реальной популяции, стабильные равновесия – это те, которые можно наблюдать не только в живой природе. Поскольку любая система, вероятно, будет иметь небольшие отклонения от идеальной модели, даже когда популяция находится в состоянии равновесия, ожидается, что она будет меняться, по крайней мере, благодаря тем факторам, которые исключены из модели или изначально не принимались во внимание. Однако, отклоняясь на небольшое расстояние от стабильного равновесия, наблюдаемое значение будет возвращаться к нему обратно. С другой стороны, если происходит отклонение от неустойчивого равновесия, то наблюдаемое значение остается в стороне. Хотя нестабильные равновесия важны для понимания модели в целом, они не являются характерными особенностями популяции, которые стоит когда-либо ожидать в реальном мире.
Далее займёмся вопросами линеаризации. Следующая цель – определить, что заставляет одни равновесия быть стабильными, а другие – нестабильными.
Стабильность зависит от того, что происходит вблизи равновесия. Итак, чтобы сконцентрироваться в окрестности , рассмотрим популяцию , где – очень маленькое число, которое говорит о том, насколько далеко популяция находится от состояния равновесия. Называется отклонением от равновесия и интересно тем, как оно меняется с течением времени. Вычислим и используем его для поиска . Если больше, чем по абсолютной величине, то можно сделать вывод о том, что отдалилось от . Если наоборот, меньше по абсолютной величине, то приблизилось к . Если теперь проанализировать, как меняется на всех достаточно малых значениях , то можно будет определить, является ли исследуемое равновесие стабильным или нестабильным. Растущее отклонение означает нестабильность, в то время как уменьшающееся означает стабилизацию. Здесь не учитывается знак отклонения, рассматривая лишь абсолютное значение. Знак стоит принимать во внимание в последнюю очередь, так как он не имеет прямого отношения к вопросу о стабильности.
Пример. Рассмотрим модель , с которой уже сталкивались ранее и знаем, что равновесие достигается в точках и 10. В первую очередь исследуем , которое, судя по графику, стабилен на основании численных экспериментов. Подстановка значений и в уравнение для модели приводит к следующему выводу:
Заметим, что является очень малым числом, меньше 1, следовательно, еще меньше и ничтожно мало по сравнению с . Таким образом .
Это означает, что значения близкие к равновесию будут иметь отклонение от равновесия, уменьшающееся примерно в 0.3 раза с каждым последующим шагом времени. Поэтому небольшие отклонение от равновесия в дальнейшем уменьшаются и действительно стабильное значение.
Можно смотреть на число 0.3 как на «коэффициент растяжения», который говорит о том, насколько стремительно меняются отклонения от равновесия с течением времени. В данном примере, поскольку растягиваемся в менее чем 1 раз, на деле имеет место сжатие.
Процесс, описанный в примере выше, называется линеаризацией модели в равновесии, потому что сначала фокусируем внимание вблизи равновесия путем линейной замены , а затем игнорируем члены степени больше 1 в . Остается только линейная модель, аппроксимирующая исходную модель. Линейные модели, как видели, легко понять, потому что они производят либо экспоненциальный рост, либо распад.
Вопросы для самопроверки:
– Выполните аналогичный анализ для другого равновесия этой модели, чтобы показать, что оно нестабильно. Каким будет коэффициент растяжения, на который расстояния от точки равновесия растут с каждым шагом времени?
В результате аналогичного анализа в окрестности 0 обнаружится, что линеаризация при дает . Поэтому возмущения от этого равновесия со временем растут, следовательно, неустойчиво. В общем случае, когда коэффициент растяжения больше 1 по абсолютной величине, равновесие нестабильно. И наоборот, когда оно меньше 1 по абсолютной величине, равновесие стабильно.
Из курса математического анализа известно, что вышеописанный процесс линеаризации напоминает аппроксимацию графика функции по касательной прямой. Развивая эту идею коэффициент растяжения в предыдущем примере можно было бы выразить как отношение при бесконечно малых значениях . Но , где уравнение, определяющее модель. Заметим, что в последнем равносильном преобразовании использовалось равенство . Поскольку интересны лишь значения , очень близкие к , то последнее выражение очень близко к предельному значению . Но этот предел по определению является не чем иным, как производной , производной функции, определяющей модель. Итак, мы доказали следующую теорему.
Теорема. Если модель имеет равновесное значение , то подразумевает, что значение нестабильно, а при , будет стабильным значением. Если же , то этой информации недостаточно для определения стабильности и необходимо проводить дополнительное исследование.
Пример. Пусть , тогда . Вычислим . Следовательно, , поэтому стабильно.
Обратите внимание, что в этом примере значение, которое нашли для , оказалось точно таким же, как значение, которое нашли для «коэффициента растяжения» в примере выше, без использования инструментов дифференциального исчисления. Это, конечно, должно было произойти, потому что то, что привело к производной, изначально было более тщательным исследованием «методом пристального всматривания». Таким образом, производную можно интерпретировать как меру того, насколько быстро функция меняет свои значения.
Поскольку использовался формализованный подход, то есть записывались формулы и уравнения, для иллюстрации тесной связи между понятиями производной и стабилизацией поведения модели, настоятельно рекомендуется решить задачи с 1.3.1 по 1.3.3 в конце раздела, чтобы представить обнаруженную связь графически.
Почему важны как графический, так и аналитический подходы к определению стабильности? Первый является наиболее интуитивным и делает основные идеи наиболее ясными. Что можно было наблюдать на примере. Но слабость такого подхода в том, что он действенен лишь для моделей, включающих простые алгебраические формулы. Если бы в уравнении модели присутствовали экспоненты или другие сложные функции, алгебраические средства оказались бессильны. Когда модель усложняется, математический анализ становится прекрасным подручным инструментом для профессионального исследователя.
При линеаризации для определения стабильности очень важно сосредоточиться на равновесии. Даже не пытайтесь определить является ли точка стабильным или нестабильным равновесием, пока не убедитесь в том, что это точка является равновесием в принципе. Последующий анализ предполагает, что точка удовлетворяет равенству . Например, если бы попытались линеаризовать для в предыдущем примере, то не смогли бы ничего сделать, потому что 11 не является точкой равновесия.
Наконец, также важно, что проведённый анализ стабильного и неустойчивого равновесия, был локальным, а не глобальным. Эта устоявшаяся терминология означает, что рассмотрели лишь то, что происходит в очень небольших окрестностях вокруг точки равновесия. Хотя устойчивое равновесие будет притягивать все близлежащие значения, это не означает, что значения расположенные далекого тоже должны стремиться именно к нему. Точно так же, как несмотря на то нестабильность равновесие, нельзя утверждать, что далёкие от него значения не будут к нему стремиться или не окажутся вовсе ему равными.
Далее рассмотрим такие явления в динамическом моделировании как колебания, бифуркации и хаос. В задаче 1.2.4 предыдущего раздела исследовалось динамическое поведение логистической модели для K = 10 при множестве значений r. На самом деле, параметр в модели не очень важен; можно выбрать единицы, в которых измеряется численность популяции так, чтобы пропускная способность стала равна 1. Например, если пропускная способность составляет 10 000 штук, то можно использовать масштабную единицу равную 10 000, и тогда получится . Это наблюдение позволяет подробно сосредоточиться на том, как параметр влияет на поведение модели.
Зафиксировав , для любого значения логистическая модель имеет два равновесных значения, 0 и 1, так как это единственные значения , которые приводят к . Как увидите в ходе решения задач чуть позже, «коэффициент растяжения» при будет равен , а при равен . Поэтому всегда является неустойчивым равновесием для .
Случай гораздо интереснее. Во-первых, когда , что равносильно , модель имеет стабильное равновесие в точке . Формула показывает, что знак при этом никогда не изменится; хотя отклонение уменьшается, первоначально положительное отклонение остается положительным, а изначально отрицательное – отрицательным. Популяция просто движется к равновесию, никогда не превышая его.
Далее, когда увеличивается настолько, что , то и равновесие будет все еще стабильным. Однако, теперь видим, что так как , то знак будет чередоваться между положительным и отрицательным значением по мере увеличения . Таким образом, можно видеть колебательное поведение выше и ниже точки равновесия, поскольку отклонение от равновесного значения имеет чередование знака. Таким образом, популяция приближается к равновесию как затухающее колебание.
Подумаем о том, почему такое колебание может произойти с точки зрения моделируемой популяции. Если , мера скорости воспроизводства новых ленов популяции, достаточно велика, то популяция ниже пропускной способности окружающей среды может за один временной шаг своего развития временно вырасти настолько, что превысит пропускную способность. Как только численность превышает пропускную способность, популяция вымирает достаточно быстро, чтобы к следующему шагу она снова оказалась ниже пропускной способности окружающей среды. Но затем её численность снова вырастет настолько, чтобы превзойти критическое значение. Как будто популяция перенастраивается и адаптируется заново на каждом временном интервале.
Если параметр логистической модели окажется больше только что рассмотренных значений, то популяция не приблизится к равновесию. Когда , получится и поэтому ранее устойчивое равновесие становится неустойчивым. Таким образом, происходит резкое качественное изменение поведения численности популяции по мере дальнейшего увеличения параметра . Отсюда возникает интересный вопрос, каковы возможности модели с двумя неустойчивыми равновесиями и без устойчивых. Какое поведение тогда можно ожидать в долгосрочной перспективе?
Компьютерный эксперимент показывает, что для значений чуть больше 2 популяция попадает в 2-цикл, её численность бесконечно прыгает взад и вперед между значением выше 1 и значением ниже 1. По мере дальнейшего увеличения значения в 2-цикле меняются, но наличие 2-цикла сохраняется до тех пор, пока не достигнем другого значения , при котором происходит еще одно внезапное качественное изменение. На этот раз видим, что 2-цикл становится 4-циклом. Дальнейшее увеличение производит 8-циклы, затем 16-циклы и так далее.
Эта модель приводит к неожиданному, но интересному выводу: одна и та же популяция может демонстрировать разные циклы в своей численности, даже когда окружающая среда совершенно неизменна. Считая, что теоретические предположения в построении математической модели были верны и популяция имеет достаточно большое значение , на практике она может никогда не достигать ни одного из теоретически существующих равновесных значений.
Хороший способ понять влияние изменения параметра на рассматриваемую модель заключается в изображении диаграммы бифуркации на рисунке 1.6. В Maple это изображение легко получить следующей серией команд:
with(IterativeMaps):with(ImageTools):
Logistic := Bifurcation([x], [x + r*x*(1 – x)], [0.99], 1.5, 3):
ArrayTools:-Dimensions(Logistic)
ColouringProcedures:-HueToRGB(Logistic):Embed(Logistic)
Рисунок 1.6. Бифуркационная диаграмма логистической модели . По горизонтальной оси слева направо меняется значение параметра , а по вертикальной снизу вверх отложены циклические аттракторы значений соответствующей популяции.
Рисунок 1.6 получен следующим образом. Для каждого значения на горизонтальной оси выбирается некоторое значение и выполняется итерация модели на несколько временных шагов, чтобы пройти этап переходного процесса, например, раз 200. На практике это означает повторение итераций столько раз, пока не надоест. Затем продолжаются итерации на серии дополнительных шагов, раз 100, но теперь все значения наносятся на вертикальную ось над конкретным используемым . Это значения будут концентрироваться вокруг своеобразных точек притяжения, формируя так называемые циклические аттракторы.
Чтобы проиллюстрировать процесс для дискретной логистической модели, положим . Тогда, независимо от , после первого набора большого числа итераций, будет очень близок к стабильному равновесию . Таким образом, когда строим следующий набор из многих итераций, просто многократно строим точки, которые будут выглядеть так, будто они находятся в . На рисунке 1.6 точки фрагмента этой горизонтальной прямой выделены розовым цветом.
Если теперь продолжить процесс построения диаграммы при чуть большем чем 2, то первый набор итераций устремляет значения в 2-цикл, и затем, когда строится график на последующем наборе итераций, появляются точки, которые циклически перескакивают назад и вперед между двумя значениями, поэтому кажется, будто построили две точки. На рисунке 1.6 точки сформировавшихся в результате ветвей выделены синим.
На этой диаграмме заметно несколько особенностей. Во-первых, интервал значений , через который получаем -цикл, будет короче, чем для предыдущего -цикла. Таким образом, как только становится достаточно большим, небольшие дополнительные увеличения его значения имеют более радикальные последствия.
Во-вторых, если продолжает увеличиваться после определенной точки (≈2.692…), на рисунке 1.6 этот фрагмент подсвечен красным, то все бифуркации на -циклах произошедшие ранее начинают смешиваться, обнаруживается принципиально иной тип поведения аттракторов. Создается впечатление, что предельные значения модели изменяются более или менее случайным образом. Однако такое поведение, конечно, не случайно – существует полностью детерминированная формула, воспроизводящая его. Техническая терминология для описания того, что произошло, заключается в том, что поведение модели стало хаотичным. Выбор слова «хаос» для описания этого процесса, возможно, неудачен, поскольку вызывает ассоциацию с элементами случайности и изначальной путаницы, которых на самом деле нет. Тем не менее, данная математическая модель прекрасно находит себе практическое применение в современных цифровых криптосистемах и аналоговых системах радиоэлектронной борьбы, поскольку достаточно просто реализуется на аппаратном уровне.
Подобный «хаос» в действительности имеет довольно точное техническое определение, но не будем его приводить. Вместо этого просто неформально укажем на два требования, которые математики предъявляют к употреблению этого слова: 1) модель должна быть детерминированной, то есть в ней не может быть случайности; и 2) прогнозы модели чрезвычайно чувствительны к начальным условиям.
Чтобы увидеть, как именно дискретная логистическая модель проявляет свою хаотичность, например, зафиксировав , достаточно проиллюстрировать проявление второго требования. На рисунке 1.7 показаны значения , которые возникают из двух разных, но достаточно близких друг к другу значений и .
Рисунок 1.7 Результаты роста значения , полученные из двух близких начальных значениях для логистической модели при .
Обратите внимание на тот факт, что, хотя популяции и изменяются похожим образом в течение нескольких первых шагов, после этого они становятся полностью различимыми. В результате для такой пары значений наблюдается чрезвычайная чувствительность модели к начальным условиям. Конечно, это не является доказательством чего-либо, и вполне возможно, что такое поведение было просто последствием череды ошибок компьютерного округления. Однако математиками строго доказано, что это подлинный «хаос».
Возможность хаотического поведения в такой простой популяционной модели, как дискретная логистическая, вызвала большой ажиотаж в 1970-х годах, когда она была впервые опубликована в работе Мэй от 1978 года. Если бы такая простая модель смогла воспроизводить сложное поведение любой динамической системы, то от гипотезы о том, что сложная динамическая система может возникать лишь из сложных взаимодействий и флуктуаций окружающей среды пришлось бы отказаться. Дальнейшая работа Мэй с сотоварищами по вычислению соответствующих значений таких параметров, как , в математических моделях на основании лабораторных и реальных популяциях насекомых заставила их усомниться в том, что хаотическое поведение действительно наблюдается в реальной динамике живых популяций. Тем не менее, исследование эпидемий кори в Нью-Йорке действительно предполагало возможность контролируемого хаоса. Однако эпидемический паротит и ветряная оспа, как оказалось, вели себя отнюдь не хаотично. Хотя та работа все еще не теряет актуальности, существует очень мало данных высокого качества и достаточно длительной продолжительности, чтобы в действительности проверить ключевую идею. В последнее время основное внимание уделялось демографическим моделям, более сложным, чем логистические. Фактически, в 1996 году Кушинг и др. объявили о первом открытии реальной популяции, лабораторной популяции мучного жука триболия, которая демонстрировала хаотическую динамику и опубликовали этот результат в 2001 году.
Задачи для самостоятельного решения:
1.3.1. Точки равновесия модели располагаются там, где график зависимости от пересекает прямую линию . Предположим, что фокусируемся на участке графика вокруг точки равновесия и увеличиваем масштаб так, чтобы график функции от казался прямой линией. В каждой из моделей, показанных на рисунке 1.8, решите, является ли равновесие стабильным или нестабильным, выбрав значение близкое к устойчивому состоянию, а затем изобразите паутинную диаграмму.
а.
б.
в.
г.
Рисунок 1.8. Заготовки паутинных диаграмм для задачи 1.3.1.
1.3.2. Исходя из приведенной выше задачи, в каком диапазоне должен находиться наклон графика функции от в точке равновесия, чтобы обеспечить стабильность? Неустойчивость? Подсказка: возможно, захотите подумать об особых случаях, взяв наклон сначала −1, а затем 1.
1.3.3. Средствами математического анализа сформулируйте ответ на предыдущую задачу на языке производных: если является точкой равновесия модели , то она стабильна, когда выполнено следующее условие _________________ .
1.3.4. С точки зрения математики, имея дело с логистической моделью роста , всегда можно выбрать единицы, в которых измеряется так, чтобы .Таким образом, можно рассматривать уравнение , имеющее только один параметр , а не два. Исследуйте долгосрочное поведение этой модели для различных значений , начиная с .5 и постепенно увеличивая его, используя программу onepop.m для MATLAB из задачи 1.2.4. При каких значениях обнаруживается сходимость к равновесию без колебаний? А при каких сходимость к равновесию осуществляется с колебаниями? При каких появляется 2-цикл? А при каких – цикл длины 4?
1.3.5. В предыдущем упражнении обнаружили, что по мере увеличения после значения 2 популяция перестанет стремиться к и вместо этого попадет в цикл длины 2 и более.
а. Покажите, что, несмотря на срыв модели в 2-цикл, единственными точками равновесия по-прежнему являются и 1.
б. Если попадает в 2-цикл, то . Поэтому, возможно, стоит найти формулу для выраженного через . Сделайте это для и . Ответ должен оказаться многочленом четвертой степени.
в. Можно ли использовать полученные результаты из части (б) для поиска аналитических формул точек равновесия в 2-цикле, приравняв ? Попробуйте. Не всё может получиться с первого раза, но, по крайней мере, попробуйте объяснить те сложности, с которыми столкнулись.
1.3.6. Для каждого из следующих пунктов определите точки равновесия.
а.
б.
в.
г.
д.
1.3.7. Для пунктов (а–д) из предыдущей задачи алгебраическими преобразованиями линеаризуйте модель сначала на устойчивом состоянии 0, а затем на другом устойчивом состоянии для определения типа их устойчивости.
1.3.8. Вычислите все точки равновесия модели . Затем используйте чисто алгебраические средства для линеаризации в каждой из этих точек, чтобы определить, когда они стабильны или нестабильны.
1.3.9. Средствами математического анализа повторите решение предыдущей задачи используя производные для определения устойчивости равновесий . Конечно, должны получиться те же ответы.
1.3.10. Несколько иной подход к поиску соотношения между производными и стабильностью заключается в следующем: найдите приближение касательной прямой к в точках равновесия и . После этого замените найденными линейными приближениями в уравнении . Используйте это для определения типа стабильности точек равновесия. Полученный результат должен совпадать с ответами из двух предыдущих задач.
1.3.11. Моделирование многих социальных процессов связано с диффузией. Даже на уровне математических идей их взаимное проникновение между самыми разными отраслями очень заметно. Простым примером является найм выпускников математических специальностей на работу программистами (верно и обратное, квалифицированные программисты как правило дополнительно получают качественную математическую подготовку). Простая модель представляет социальную группу программистов как единый пул с концентрацией незаурядных умов , а группу профессиональных математиков как смежный отдел с концентрацией умов . Если для простоты предположить, что оба интеллектуальных пула имеют единичный объем, то в течение фиксированного промежутка времени на одной итерации найма новых сотрудников общее количество сотрудников окажется неизменным. Если представить себе очень маленький фиксированный интервал времени, то увеличение за этот временной интервал будет пропорционально разности между и . То есть . Этот экспериментальный факт иногда называют законом Фика.
а. В каком диапазоне должен быть параметр , чтобы эта модель имела смысл?
б. Используя тот факт, что , формализуйте модель так, оставив лишь два параметра, и , чтобы выразить через .
в. Для , , и различных вариантов значений , исследуйте модель с помощью программы onepop.m для MATLAB из задачи 1.2.4. Как изменится поведение модели, если использовать другое значение ?
г. Алгебраическим путём найдите точку равновесия (выразив её через и ) для этой модели. Согласуется ли это с тем, что вы видели в части (в)? Можете ли объяснить результат интуитивно?
д. Пусть . Перепишите модель в виде зависимости от , отклонения значений от точки равновесия, путем подстановки в и дальнейшего упрощения полученного выражения.
е. Используйте часть (д), чтобы найти формулу для , а затем для . Убедитесь в том, что формула дает те же результаты, что и машинный эксперимент в 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]) % размещаем данные на диаграмме
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.
По мере увеличения эта модель демонстрирует бифуркации? Хаос?
3. Изучите, что произойдет, если пропускная способность изменяется случайным образом в логистической модели, и, в частности, влияние такой пропускная способность на небольшие популяции. Нужно будет знать, что команда rand(1) в MATLAB выдает случайное число в диапазоне от 0 до 1 с равномерным распределением, и что randn(1) генерирует случайное число из нормального распределения с матожиданием 0 и стандартным отклонением 1. Можете начать с использования программы onepop.m с выражением типа 10 + rand(1) в качестве пропускной способности в логистической модели.
Рекомендации
Возможно, 10*rand(1) или 10+2*randn(1) были бы лучшей формулой для значений в экспериментальной модели. Опишите качественные различия между реальными ситуациями, которые могут описывать эти математические выражения.
Для выбранного выражения изучите поведение модели для различных вариантов и . Как ведет себя ? Каково среднее значение в долгосрочной перспективе? Соответствуют ли результаты вашей математической интуиции?
По мере увеличения эта модель демонстрирует бифуркации? Хаос?
Исследуйте, что происходит, если численность популяции небольшая и принимает целые значения. В MATLAB команда floor(p) возвращает ближайшее целое число меньше или равное . Модель будет похожей на , где значение сначала задаётся константой, а затем изменяется случайным образом.