✅ Пост по событиям пятой недели

На этой неделе я завершил несколько интересных проектов и задач, которые помогли расширить мои знания в области моделирования, радиосигналов и веб-разработки. Вот подробности.
1. Завершение группового проекта: Моделирование эпидемии в изолированной популяции
Постановка задачи
Мы смоделировали эпидемию чумы в изолированном городе “Амбрелла Сити” с населением 7777 человек. В начальный момент:
- Инфицировано: 1500 человек.
- Выздоровевших: 0 человек.
- Восприимчивых: 6277 человек.
Используя модель SIR, мы разделили популяцию на три группы: восприимчивые (S), инфицированные (I) и выздоровевшие (R). Для моделирования критических условий распространения эпидемии был учтён порог инфицированных, после которого происходит полная изоляция.
Математическая основа
Модель SIR основывается на следующих дифференциальных уравнениях:
$$ \frac{dS}{dt} = -\alpha S I, \quad \frac{dI}{dt} = \alpha S I - \beta I, \quad \frac{dR}{dt} = \beta I $$- \(\alpha = 0.007\) — коэффициент заражения.
- \(\beta = 0.003\) — коэффициент выздоровления.
- \(I^* = 1300\) — критический порог.
Реализация
Мы использовали Julia и библиотеку DifferentialEquations.jl для решения модели. Реализация включала два сценария:
- Если \(I > I^*\), происходит активное заражение и выздоровление.
- Если \(I \leq I^*\), все инфицированные изолированы, и происходит только выздоровление.
Код для комбинированной модели выглядел так:
function combo_case!(du, u, p, t)
a, b, crit_I = p
if u[2] > crit_I
du[1] = -a * u[1]
du[2] = a * u[1] - u[2] * b
du[3] = u[2] * b
else
du[1] = 0
du[2] = -u[2] * b
du[3] = u[2] * b
end
end
Графики показали, как изменение коэффициентов \(\alpha\) и \(\beta\) влияет на развитие эпидемии. Мы успешно спрогнозировали сценарии, где возможно сдерживание эпидемии.
2. Лабораторная работа: моделирование беспроводных сетей
Сценарий: блокировка прямой видимости
Я построил имитационную модель для оценки вероятности блокировки линии прямой видимости между двумя точками на плоскости. Основные этапы:
Размещение объектов:
- Генерация объектов по точечному пуассоновскому процессу с плотностью \(q\).
- Распределение объектов внутри квадратной области с длиной стороны \(A\).
Проверка блокировок:
- Для каждой реализации проверялось, блокирует ли хотя бы один объект прямую видимость между двумя точками.
Результаты:
- Получено 1000 реализаций. Вероятность блокировки рассчитана как доля случаев, где хотя бы один объект заблокировал линию.
Результаты имитации сравнивались с математической моделью. Схожесть показателей подтвердила корректность алгоритма.
3. Лабораторная работа: анализ FSPL
Распространение радиосигнала
Мы изучили модель FSPL (Free Space Path Loss), описывающую потери сигнала в свободном пространстве:
$$ FSPL(d) = \left( \frac{4 \pi d f}{c} \right)^2 $$Где:
- \(d\) — расстояние,
- \(f\) — частота радиоволны,
- \(c\) — скорость света.
Преобразование в логарифмическую шкалу
Для удобства анализа мы перевели формулу в децибелы:
$$ FSPL_{dB}(d) = 20 \log_{10} \left( \frac{4 \pi d f}{c} \right) $$Графики
Я построил графики зависимости потерь сигнала от расстояния для частот:
- \(f_1 = 900 \, \text{МГц}\),
- \(f_2 = 1.9 \, \text{ГГц}\),
- \(f_3 = 28 \, \text{ГГц}\).
Анализ
- Потери увеличиваются с ростом частоты и расстояния.
- Логарифмическая шкала упрощает сравнение, позволяя выражать значения в более компактной форме.
4. Расширение сайта Hugo
На этой неделе я добавил второй язык на сайт Hugo, обеспечив мультиязычную поддержку. Это позволило охватить более широкую аудиторию. В дополнение я написал пост о языке программирования Julia, в котором рассказал о его особенностях, истории создания и примерах использования.
Теперь сайт поддерживает переключение языков, а контент стал доступен для разных категорий пользователей.
Итоги
Эта неделя была насыщенной и продуктивной. Завершение группового проекта по моделированию эпидемий и лабораторные работы в области беспроводных сетей помогли мне лучше понять математическое моделирование и радиотехнические процессы. Расширение сайта Hugo сделало его более функциональным и привлекательным для пользователей. 🚀