Я обнаружил, что реализация и визуализация Динамические системы - это здорово
за введение в программирование и интересную ветвь
Прикладная математика. Потому что можно увидеть «жизнь» в этих системах,
наши студенты действительно наслаждаются этим практическим модулем.
Обычно мы начинаем с визуализации 1D аттрактора, чтобы мы могли
наложить правило эволюции / скорость изменения с текущим состоянием
система. Таким образом, вы можете учить вычислительные аспекты (интеграция системы) и
визуализация и разделение обоих в реализации (на простом уровне, обновление
графика на каждом n-м шаге вычислений, но в C ++, приводящем к потокам, вы не уверены в возможностях MATLAB здесь).
Затем мы добавляем шум, а затем добавляем сигмоидальную нелинейность к линейному аттрактору. Мы объединяем это расширение с введением в управление версиями (для этого мы используем SVN-репозиторий с песочницей):
Студенты сначала должны создать ветви, изменить правило эволюции, а затем объединить
это обратно в голову.
При переходе в режим 2D вы можете просто начать вращение и изменить его, чтобы он стал осциллятором Хопфа, и визуализировать его, изменяя сетку во времени или переходя в режим 3D, начиная с отдельной точки. Вы также можете визуализировать бифуркационную диаграмму в 3D. Таким образом, вы снова комбинируете общие навыки MATLAB, такие как 3D-черчение, с математикой.
Чтобы перейти по другим темам, поищите в википедии: вы можете использовать модели охотников / хищников, хаотические системы, физические системы и т. Д. И т. Д.
Обычно мы не преподаем объектно-ориентированное программирование из MATLAB, хотя это возможно, и вы можете легко создавать свои собственные сценарии использования в настройке динамических систем.
При введении наследования мы уже перешли на C ++, и я снова не знаю о возможностях MATLAB здесь.
Возвращаясь к вашим пяти пунктам:
- Продолжительность легко регулируется, потому что простой 1D аттрактор может быть
сделано быстро и с тех пор, расширения являются достаточными и модульными.
- Мы назначаем это как отдельное задание, но разрешаем и поощряем обсуждение среди студентов.
- Про веб-интерфейс я в растерянности: что именно вы имеете в виду, почему это
важно, что бы это добавило к заданию, как это связано с изучением MATLAB.
Я бы порекомендовал сбросить это.
- Сложность: простой аттрактор легко понять, но небо это предел:)
- Использование базы данных действительно сильно отличается от конфигурационных файлов. Что касается первого, там
набор инструментов для доступа к базам данных из MATLAB Лишь немногие институты имеют лицензию, и, кроме того: это ИМХО не относится к такому курсу. Я предлагаю познакомиться с концепцией конфигурационных файлов, например, для определения местоположения и силы аттрактора, а затем для соответствующих свойств системы.
Все это говорит, я бы по крайней мере также сказал вашему профессору (и вашим студентам!), Что Python восстает против MATLAB. Мы находимся в процессе разработки Python с нашими учебниками, но я понимаю, если кто-то хочет придерживаться того, что знакомо.
Кроме того, нам на самом деле понадобится научное содержание позже, поэтому полезность для вас, вероятно, будет зависеть от того, с каким отделом будет связан ваш курс.