Идеи проекта для использования курса дискретной математики MATLAB?

blooberry.com является большим справочным сайтом HTML/CSS.

9
задан Daniel Moura 19 July 2013 в 14:56
поделиться

8 ответов

Общие предложения:

На The MathWorks есть множество учебных ресурсов, которые могут дать вам некоторые идеи для курсовых проектов. Некоторые примеры ссылок:

Конкретные предложения:

Один из моих проектов в аспирантуре по нелинейной динамике, который я нашел интересным, касается осцилляторов Лоренца . Осциллятор Лоренца - это нелинейная система трех переменных, которая может демонстрировать хаотическое поведение. Такая система дала бы возможность познакомить студентов с численными вычислениями ( итерационными методами для моделирования систем дифференциальных уравнений, устойчивости и сходимости и т. Д.).

Самым интересным в этом проекте было то, что мы использовали генераторы Лоренца для кодирования и декодирования сигналов. Этот аспект «зашифрованной связи» был действительно крутым и был основан на следующей журнальной статье:

Кевин М. Куомо и Алан В. Оппенгейм,

Самым интересным в этом проекте было то, что мы использовали генераторы Лоренца для кодирования и декодирования сигналов. Этот аспект «зашифрованной связи» был действительно крутым и был основан на следующей журнальной статье:

Кевин М. Куомо и Алан В. Оппенгейм,

Самым интересным в этом проекте было то, что мы использовали генераторы Лоренца для кодирования и декодирования сигналов. Этот аспект «зашифрованной связи» был действительно крутым и был основан на следующей журнальной статье:

Кевин М. Куомо и Алан В. Оппенгейм, Реализация схемы синхронизированного хаоса с приложениями to Communications , Physical Review Letters 71 (1), 65-68 (1993)

В статье рассматриваются аппаратные реализации хаотической системы связи, но эквивалентная программная реализация должна быть достаточно простой

Некоторые другие полезные аспекты такого проекта:

  • Поведение системы может быть визуализировано в 2-D и 3-D графиках, таким образом раскрывая студентов к ряду графических утилит в MATLAB ( PLOT , PLOT3 , COMET , COMET3 и т. д.).
  • Audio сигналы могут быть прочитаны из файлов, зашифрованы с помощью уравнений Лоренца, записаны в новый файл и затем снова расшифрованы. Вы даже можете попросить каждого студента зашифровать сигнал своим кодом генератора Лоренца и передать его другому студенту для расшифровки. Это познакомит их с различными файловыми операциями ( FREAD , FWRITE , SAVE , LOAD и т. Д.), И вы даже сможете ввести их в работу с форматами файлов аудиоданных .
  • Вы можете познакомить учащихся с использованием команды PUBLISH в MATLAB, которая позволяет вам форматировать M-файлы и опубликовать их в различных типах вывода (например, в документах HTML или Word). Это научит их методам создания полезной справочной документации для их кода MATLAB.
8
ответ дан 4 December 2019 в 12:20
поделиться

Вы можете посмотреть здесь: http://www.mathworks.com/academia/student_center/tutorials/launchpad.html на сайте MathWorks. Интерактивное руководство (вторая ссылка) довольно популярно.

- Loren

0
ответ дан 4 December 2019 в 12:20
поделиться

Я обнаружил, что реализация и визуализация динамических систем - это здорово за введение в программирование и в интересную ветвь Прикладная математика. Поскольку в этих системах можно увидеть «жизнь», нашим студентам очень нравится этот практический модуль.

Обычно мы начинаем с визуализации одномерного аттрактора, чтобы мы могли накладывать правила эволюции / скорость изменений на текущее состояние система. Таким образом, вы можете научить вычислительным аспектам (интеграции системы) и визуализация и разделение обоих в реализации (на простом уровне, освежающий графики на каждом n-м шаге вычислений, но в C ++, ведущем к потокам, не уверены в возможностях MATLAB здесь).

Затем мы добавляем шум, а затем добавляем сигмоидальную нелинейность к линейному аттрактору. Мы объединяем это расширение с введением в систему контроля версий (для этого мы используем репозиторий песочницы SVN): студенты сначала должны создать ветви, изменить правило эволюции, а затем объединить его обратно в ГОЛОВУ.

При переходе в 2D вы можете просто начать с вращения и изменить его, чтобы он стал осциллятором Хопфа, и визуализировать либо путем преобразования сетки с течением времени, либо путем перехода в 3D, начиная с отдельной точки. Вы также можете визуализировать бифуркационную диаграмму в 3D. Итак, вы снова комбинируете общие навыки работы с MATLAB, такие как построение трехмерных графиков, с математикой. Чтобы ссылаться на другие темы, просмотрите википедию: вы можете использовать модели охотников / хищников, хаотические системы, физические системы и т. Д.

Обычно мы не обучаем объектно-ориентированному программированию изнутри MATLAB, хотя это возможно, и вы можете легко создать свои собственные варианты использования в настройке динамических систем. При введении наследования мы уже перешли на C ++, и я снова не знаю о возможностях MATLAB здесь.

Возвращаясь к вашим пяти пунктам:

  • Продолжительность легко настраивается, потому что простой аттрактор 1D может быть выполняются быстро, и с тех пор расширения стали обширными и модульными.
  • Мы назначаем это как отдельную задачу, но разрешаем и поощряем обсуждение среди студентов.
  • Что касается веб-интерфейса, я не понимаю: что именно вы делаете иметь в виду, почему это важно, что бы он добавил к заданию, как это связано с изучением MATLAB. Я бы рекомендовал отказаться от этого.
  • Сложность: простой аттрактор легко понять, но нет предела :)
  • Использование базы данных действительно сильно отличается от файлов конфигурации. Что касается первого, то там это набор инструментов базы данных для доступа к базам данных из MATLAB. Правда, у немногих институтов есть лицензия, и кроме того: это ИМХО не относится к такому курсу. Я предлагаю познакомиться с концепцией конфигурационных файлов, например, для определения местоположения и силы аттрактора, а затем и для соответствующих свойств системы.

Все это говорит о том, что я бы по крайней мере также сказал вашему профессору (и вашим студентам!), Что Python восстает против MATLAB. Мы находимся в процессе перехода на Python с нашими учебными пособиями, но я понимаю, если кто-то захочет придерживаться того, что уже знакомо.

Кроме того, нам действительно понадобится научное содержание позже, поэтому полезность для вас, вероятно, будет зависеть от того, в каком отделе вы курс будет связан с.

3
ответ дан 4 December 2019 в 12:20
поделиться

Многое возможно.

Первый пример, который приходит на ум, - смоделировать сеть общественного транспорта (сеть вашего города, метро, ​​автобусы, трамваи, ...). Он представлен взвешенным ориентированным графом (например, для его представления можно использовать разреженную матрицу).

Вы можете, например, попросить их вычислить кратчайший путь от одной станции до другой (алгоритм Мура-Дийкистры, например) и отобразите его.

Итак, для учащихся нужно сделать несколько шагов:

  • выбрать подходящее представление для сети (это могут быть некоторые объекты, представляющие свойства станций и линий,
2
ответ дан 4 December 2019 в 12:20
поделиться

Вы хотите создать проект с веб-интерфейсом и базой данных, но без какой-либо серьезной математики ... и вы делаете это в MATLAB? Понимаете ли вы, что MATLAB специально разработан для использования «глубокой математики», а не для веб-интерфейсов или баз данных?

Я думаю, что если это введение в курс дискретной математики, вам, вероятно, следует заняться чем-то, связанным с дискретной математикой, и не тратить зря время студентов, поскольку они изучают на этом языке кучу вещей, которые они никогда не будут использовать.

Почему бы не сделать что-то, связанное со звуком? Я работал над студенческим проектом, в котором мы использовали MATLAB для автоматического сопоставления ритмов разных мелодий и микширования между ними. Полная программа заняла весь семестр, но вы могли выполнить ее часть. wavread () и подобные встроены и просты в использовании.

2
ответ дан 4 December 2019 в 12:20
поделиться

Я всегда думал, что тот, который мне назначили в аспирантуре, был хорошим выбором - симулятор магнитной линзы . Математика не слишком сложна, поэтому вы можете больше сосредоточиться на изучении языка, и это хорошее введение в графические возможности (например, анимация траектории внеосевого электрона, проходящего через линзу).

0
ответ дан 4 December 2019 в 12:20
поделиться

MATLAB начал жизнь как МАТРИЦА LAB, так что, возможно, было бы естественно сосредоточиться на задачах линейной алгебры.

Дискретные математические задачи с использованием матриц включают:

  1. Остовные деревья и кратчайшие пути
  2. Проблема брака (двудольные графы)
  3. Алгоритмы сопоставления
  4. Максимальный поток в сети
  5. Транспортная задача

См. Идеи в «Введение в прикладную математику» Гила Стрэнга или «Конкретная математика» Кнута .

2
ответ дан 4 December 2019 в 12:20
поделиться

Ввод-вывод db и необычные интерфейсы неуместны в дискретном курсе математики.

мои лабораторные работы в Matlab обычно представляли собой реализации алгоритмов с диаграммами в качестве вывода и простым вводом файлов.

] насколько твердый материал? обработка изображений в Matlab действительно проста, можете ли вы сделать дискретную 2D-фильтрацию? размытия и прочее. http://homepages.inf.ed.ac.uk/rbf/HIPR2/filtops.htm

0
ответ дан 4 December 2019 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: