Некоторые m-файлы определяют функции, которые принимают аргументы. Например, такая команда, как compseq(seq1,seq2), запускает программу compseq.m для сравнения двух последовательностей ДНК seq1 и seq2. Набрав help compseq, можно увидеть объяснение синтаксиса такой функции. A mat-файл содержит данные, доступ к которым возможен только из MATLAB. Чтобы загрузить такой файл, скажем, seqdata.mat, введите load seqdata. Имена всех новых переменных, которые будут созданы, можно увидеть вводя команду who, в то время как значения, хранящиеся в этих переменных, можно увидеть просто вводя имя переменной.
Некоторые файлы данных могут быть предоставлены в виде m-файлов, тогда вспомогательные комментарии и пояснения сохраняются вместе с данными. Для них запуск m-файла создает переменные, так же, как и загрузка mat-файла. Комментарии можно прочитать с помощью любого текстового редактора.
В ходе выполнения задач для самостоятельного решения предлагается использовать следующие файлы скриптов MATLAB, доступных из открытых источников:
aidsdata.m содержит данные числа случаев синдрома приобретенного иммунодефицита;
cobweb.m и cobweb2.m рисуют графики с паутинной диаграммой для итераций модели с одной популяцией; первая программа оставляет все рисуемые линии, а вторая программа постепенно стирает их;
compseq.m функция сравнивает две последовательности ДНК, получая частотную таблицу количества фрагментов с каждой из возможных базовых комбинаций;
distances.m функция вычисляет расстояния Джукса-Кантора, 2-параметрическое расстояние Кимуры и логарифмическое расстояния между всеми парами в коллекции последовательностей ДНК;
distJC.m, distK2.m и distLD.m функции вычисляют расстояние Джукса-Кантора, 2-параметрическое расстояние Кимуры и логарифмическое расстояние для одной пары последовательностей, описываемых частотным массивом сайтов ДНК с каждой комбинацией оснований;
flhivdata.m содержит последовательности ДНК гена оболочки вируса иммунодефицита человека из «случая стоматолога во Флориде»;
genemap.m моделирует данные тестового скрещивания для проекта генетического картирования, используя гены мухи или мыши;
genesim.m производит временной график частоты аллелей гена в популяции фиксированного размера; относительные значения приспособленности для генотипов могут быть установлены для моделирования естественного отбора;
informative.m функция находит участки в выровненных последовательностях ДНК, которые информативны для метода максимальной экономии;
longterm.m рисует диаграмму бифуркации для модели с одной популяцией, показывая долгосрочное поведение по мере изменения значения одного параметра;
markovJC.m и markovK2.m эти функции осуществляют получение марковской матрицы Джукса-Кантора или 2-параметрической модели Кимуры с заданными значениями параметров;
mutate.m и mutatef.m моделирует мутации последовательности ДНК по марковской модели замещения оснований; вторая программа является функциональной версией первой;
nj.m функция реализует алгоритм присоединения соседей для построения дерева из массива расстояний;
onepop.m отображает графики итераций модели с одной популяцией;
primatedata.m содержит последовательности митохондриальной ДНК из 12 приматов, а также вычисленные расстояния между ними;
seqdata.mat содержит смоделированные данные последовательности ДНК;
seqgen.m функция генерирует последовательности ДНК с заданной длиной и распределением оснований;
sir.m отображает итерации эпидемиологической модели SIR, включая графики временной и фазовой плоскости;
twopop.m отображает итерации 2-популяционной модели, включая графики временной и фазовой плоскости.
Глава 1. Динамическое моделирование разностными уравнениями
Независимо от того, исследуем ли мы рост числа выпускников математических специальностей, взаимодействие с работодателями, эволюцию рабочих программ классических курсов, передачу фундаментальных идей или распространение фейков, дидактические системы характеризуются изменениями и адаптацией. Даже когда они кажутся постоянными и стабильными, это часто является результатом баланса тенденций, толкающих системы в разных направлениях. Большое количество взаимодействий и конкурирующих тенденций может затруднить просмотр полной картины сразу.
Как мы можем понять такие сложные системы, как те, которые возникают в социальных науках? Как мы можем проверить, достаточно ли нашего предполагаемого понимания ключевых процессов, чтобы описать, как ведет себя система? Математический язык предназначен для точного описания, и поэтому описание сложных систем часто требует математической модели.