From c482e238d7434a8abd2c00d4fa6196850e10bbd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=83=D1=80=20=D0=93=D0=B0=D0=B1=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D0=B2?= Date: Sat, 5 Sep 2026 06:22:50 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20readme.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..15864be --- /dev/null +++ b/readme.md @@ -0,0 +1,119 @@ +План курса «Математическое моделирование» + +Направление: 09.02.07 «Информационные системы и программирование» +Объём: 24 часа лекций + 48 часов практических занятий = 72 часа +Форма итоговой аттестации: зачёт + +--- + +1. О чём этот предмет? + +Математическое моделирование – это искусство переводить реальные задачи на язык математики, решать их с помощью компьютера и анализировать результаты. Для программиста это ключевой навык: любая серьёзная программа (от игры до банковской системы) использует математические модели. + +Чему вы научитесь: + +· строить математические модели для практических задач; +· выбирать подходящий численный метод; +· реализовывать алгоритмы вручную и на Python; +· оценивать точность и достоверность результатов. + +Зачем это нужно: чтобы понимать, как работают алгоритмы внутри готовых библиотек, уметь самостоятельно создавать вычислительные модули и принимать обоснованные решения на основе данных. + +--- + +2. Темы лекций (24 часа) + +№ Тема лекции (2 часа) Краткое содержание +1 Введение в математическое моделирование Понятие модели. Этапы моделирования: постановка задачи, формализация, выбор метода, реализация, анализ. Примеры из IT. +2 Погрешности вычислений Источники погрешностей: неустранимая, метода, округления. Абсолютная и относительная погрешность. Правила записи приближённых чисел. +3 Решение нелинейных уравнений (часть 1) Отделение корней. Метод половинного деления: алгоритм, сходимость, оценка числа итераций. +4 Решение нелинейных уравнений (часть 2) Метод простых итераций, метод Ньютона (касательных). Сравнение скорости сходимости. +5 Решение систем линейных уравнений (СЛАУ) Метод Гаусса (прямой ход, обратный ход). Метод простых итераций. Метод Зейделя. Условия сходимости. +6 Интерполяция функций Постановка задачи. Интерполяционный многочлен Лагранжа. Погрешность интерполяции. +7 Аппроксимация. Метод наименьших квадратов Отличие аппроксимации от интерполяции. Линейная и квадратичная аппроксимация. Построение эмпирических формул. +8 Численное интегрирование Формулы прямоугольников, трапеций, Симпсона. Оценка погрешности. Правило Рунге. +9 Численное дифференцирование Простейшие формулы численного дифференцирования. Погрешность. Применение в обработке данных. +10 Решение обыкновенных дифференциальных уравнений Задача Коши. Метод Эйлера (явный и неявный). Модифицированный метод Эйлера. Метод Рунге-Кутты 4-го порядка. +11 Имитационное моделирование Метод Монте-Карло: генерация случайных чисел, оценка площадей, моделирование случайных процессов. +12 Основы теории массового обслуживания Понятие СМО. Входящий поток, очередь, каналы обслуживания. Показатели эффективности: загрузка, длина очереди, время ожидания. Формулы для простейшей СМО. +13 Оптимизация и линейное программирование Постановка задачи оптимизации. Графический метод для двух переменных. Транспортная задача. Понятие о симплекс-методе. +14 Обзор современных инструментов моделирования Обзор библиотек Python (NumPy, SciPy, Matplotlib), сред моделирования (AnyLogic). Подготовка к итоговому проекту. + +Курс лекций может незначительно корректироваться в зависимости от темпа усвоения материала. + +--- + +3. Темы практических занятий (48 часов) + +Практики проводятся в компьютерном классе (Python, Excel) или с использованием калькуляторов для ручных расчётов. Каждое занятие рассчитано на 2 академических часа. + +№ практики Тема Содержание работы +1 Построение простейших моделей Разбор примеров перевода словесной задачи в математическую формулу. Составление блок-схемы этапов моделирования. +2 Вычисление погрешностей Определение абсолютной и относительной погрешности. Оценка погрешности арифметических операций. +3 Метод половинного деления (вручную) Решение уравнения x^3 - x - 1 = 0 с точностью 0.1. Заполнение таблицы итераций. +4 Метод половинного деления (программирование) Написание программы на Python, реализующей метод. Сравнение с ручным расчётом. +5 Метод Ньютона и простых итераций Ручной расчёт для уравнения x^2 - 2 = 0. Реализация на Python. Сравнение скорости сходимости. +6 Решение СЛАУ методом Гаусса Решение системы 3×3 вручную. Составление алгоритма, реализация на Python. +7 Итерационные методы для СЛАУ Метод простых итераций и Зейделя. Исследование сходимости на примере. +8 Интерполяция многочленом Лагранжа Построение интерполяционного многочлена для табличных данных. Вычисление значения в промежуточной точке. +9 Метод наименьших квадратов Построение линейной и квадратичной аппроксимации по экспериментальным данным в Excel и Python. +10 Численное интегрирование (вручную) Вычисление определённого интеграла методами прямоугольников, трапеций, Симпсона с заданным шагом. +11 Численное интегрирование (Python) Реализация функций интегрирования. Оценка погрешности по правилу Рунге. +12 Численное дифференцирование Вычисление производной таблично заданной функции. Сравнение с аналитическим значением. +13 Метод Эйлера для ОДУ (вручную) Решение задачи Коши y' = y, y(0)=1 с шагом 0.1. Построение таблицы. +14 Метод Эйлера и Рунге-Кутты (Python) Реализация методов, сравнение с точным решением, визуализация. +15 Метод Монте-Карло Оценка числа π методом случайных точек. Моделирование бросания игральной кости. +16 Расчёт показателей СМО Вычисление загрузки сервера, длины очереди, времени ожидания для заданных λ и μ. +17 Имитационная модель очереди Написание программы, моделирующей очередь в магазине/на сервере. Сбор статистики. +18 Графический метод линейного программирования Решение задачи о максимизации прибыли с двумя переменными. Построение области допустимых решений. +19 Транспортная задача Решение транспортной задачи методом северо-западного угла и методом потенциалов (упрощённо). +20 Комплексная работа: модель траектории снаряда Использование метода Рунге-Кутты для расчёта траектории с сопротивлением воздуха. Построение графиков. +21 Обработка экспериментальных данных Построение аппроксимирующей функции, оценка точности, прогнозирование. +22 Подготовка к итоговому проекту Выбор темы, постановка задачи, обсуждение плана реализации. +23 Работа над проектом Консультации, отладка программ, оформление результатов. +24 Защита проектов Представление проекта: модель, метод, программа, анализ результатов. + +Примечание: если нет возможности использовать компьютеры на каждой практике, часть работ выполняется вручную (как указано), но для специальности 09.02.07 желательно как можно больше программировать. + +--- + +4. Система оценивания + +Итоговая оценка складывается из нескольких компонентов. В течение семестра вы будете получать баллы за следующие виды работ: + +Текущий контроль (60% итоговой оценки) + +· Практические работы – 40%. + Каждая выполненная и защищённая практическая работа оценивается по 5-балльной шкале. Средний балл за все практики умножается на коэффициент. +· Домашние задания – 10%. + Выборочно задаются после некоторых тем. Проверяется правильность, аккуратность, самостоятельность. +· Контрольная работа (рубежный контроль) – 10%. + Проводится после 6-й лекции. Включает задачи на погрешности, решение уравнений, СЛАУ, интерполяцию. + +Итоговый контроль (40% итоговой оценки) + +· Зачёт в форме защиты индивидуального или группового проекта (математическая модель + программа + отчёт). + Требования к проекту: + · сформулирована задача; + · построена математическая модель; + · выбран и реализован численный метод; + · приведены результаты и их анализ. + +Критерии оценки на зачёте + +· «Зачтено» – проект выполнен полностью, модель адекватна, программа работает, студент отвечает на вопросы по теме. +· «Не зачтено» – проект отсутствует или грубо нарушены ключевые этапы моделирования. + +Важно: пропуски практических занятий отрабатываются в течение семестра. Без выполненных практик студент не допускается до зачёта. + +--- + +5. Рекомендуемая литература и ресурсы + +1. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. – М.: БИНОМ, любое издание. +2. Турчак Л.И., Плотников П.В. Основы численных методов. – М.: Физматлит. +3. Самарский А.А., Гулин А.В. Численные методы. – М.: Наука. +4. Интернет-ресурсы: + · NumPy User Guide + · SciPy Lecture Notes + · Python Programming for Mathematician \ No newline at end of file