9
votes

Idées de projet pour cours de mathématiques discrètes utilisant MATLAB?

Un professeur m'a demandé d'aider à faire une spécification pour un projet collégial. Au moment où les étudiants doivent connaître les bases de la programmation.

Le professeur est un mathématicien et a peu d'expérience dans d'autres langages de programmation. Il devrait donc vraiment être à Matlab.

Je voudrais des idées de projets. Le projet devrait

  1. Deur d'environ 1 à 2 mois
    • être fait individuellement
    • avoir une interface Web serait super
    • n'a pas besoin d'aller au fond des mathématiques, mais certains seraient super
    • Utilisez une base de données (ou stockez des données dans les fichiers)

      Quel type de projet rendrait les étudiants excités?

      Si vous avez d'autres conseils, j'apprécierai.

      Mise à jour: Les élèves sont des sophomores et ont déjà étudié le calcul vectoriel. Ce projet concerne un cours de mathématiques discrètes d'un an.

      update 2: Les sujets abordés dans le cours sont

      1. Logique formelle
      2. épreuves, récursives et analyse des algorithmes
      3. Ensembles et Combinatoriques
      4. relations, fonctions et matrices
      5. graphiques et arbres
      6. Algorithmes graphiques
      7. algèbre booléen et logique informatique
      8. Modélisation arithmétique, calcul et langues

        Et il sera basé sur ce livre structures mathématiques Pour la science informatique: une approche moderne des mathématiques discrètes par Judith L. Gersting


2 commentaires

Les points 3 et 5 seraient probablement écrits à Perl ou à Java depuis que m souffler pour tout ce qui n'est pas mathématique / traçage


Pourriez-vous ajouter des informations sur les sujets spécifiques seront couverts dans le cours? Cela peut aider les gens à suggérer des idées de projet plus spécifiques au programme.


8 Réponses :


8
votes

Suggestions générales:

Il existe de nombreuses ressources pédagogiques chez Mathworks qui peut vous donner des idées pour des projets de cours. Quelques liaisons d'échantillons:


0 commentaires

0
votes

Vous pouvez regarder ici: http://www.mathworks.com/ Academia / Student_Center / Tutorials / LaunchPad.html sur le site web mathworks. Le tutoriel interactif (deuxième lien) est assez populaire.

- Loren


0 commentaires

3
votes

J'ai trouvé que la mise en œuvre et la visualisation Systèmes dynamiques est génial pour donner une introduction à la programmation et à une branche intéressante de mathématiques appliquées. Parce que on peut voir la «vie» dans ces systèmes, Nos étudiants apprécient vraiment ce module pratique.

Nous commençons généralement en visualisant un attracteur 1D, afin que nous puissions superposez la règle d'évolution / taux de changement avec l'état actuel de le système. De cette façon, vous pouvez enseigner des aspects informatiques (intégrer le système) et visualisation et la séparation de la mise en œuvre (à un niveau simple, rafraîchissant Graphiques à chaque étape de calcul de la nième N-ème, mais en C ++ conduisant à des threads, incertaine sur les capacités MATLAB ici).

Ensuite, nous ajoutons du bruit, puis ajoutons une non linéarité sigmoïdale à l'attracteur linéaire. Nous combinons cette extension avec une introduction au contrôle de version (nous utilisons un référentiel Sandbox SVN pour cela): le Les étudiants doivent d'abord créer des succursales, modifier la règle de l'évolution, puis fusionnez retour dans la tête.

Lorsque vous allez 2D, vous pouvez simplement commencer par une rotation et la modifier pour devenir un oscillateur HOPF et visualiser soit en morphing une grille au fil du temps, soit en passant 3D lorsque vous commencez avec un point distinct. Vous pouvez également visualiser le diagramme de la bifurcation en 3D. Donc, vous combinez à nouveau des compétences génériques Matlab comme 3D tracé avec les mathématiques. Pour relier d'autres sujets, parcourez dans Wikipedia: vous pouvez apporter des modèles Hunter / Predator, des systèmes chaotiques, des systèmes physiques, etc.

Nous n'enseignons généralement pas la programmation orientée objet à partir de MATLAB, bien que possible et que vous puissiez créer facilement vos propres cas d'utilisation dans le réglage des systèmes dynamiques. Lors de l'introduction de l'héritage, nous aurons déjà passé à C ++ et je n'aurai pas encore connaissance des capacités de Matlab ici.

revenir à vos cinq points:

  • la durée est facilement ajustée, car le simple attracteur 1D peut être fait rapidement et à partir de ce moment-là, les extensions sont amples et modulaires.
  • Nous attribuons cela comme une tâche individuelle, mais nous permettons et encourageons la discussion entre les étudiants.
  • à propos de l'interface Web Je suis à perte: qu'est-ce que vous avez exactement en tête, pourquoi est-ce IMPORTANT, que pourrait-il ajouter à la mission, comment se rapporte-t-il à l'apprentissage de Matlab. Je recommanderais de laisser tomber ceci.
  • Complexité: Un attracteur simple est facilement compris, mais le ciel est la limite :)
  • L'utilisation d'une base de données est vraiment très différente des fichiers de configuration. Quant au premier, là est une boîte à outils de base de données pour accéder à des bases de données de MATLAB. Peu d'instituts ont la licence cependant, en dehors de cela: cet IMHO n'appartient pas à un tel cours. Je suggère d'introduire sur le concept de fichiers de configuration, par ex. Pour l'emplacement et la force de l'attracteur, et plus tard pour les propriétés respectives du système.

    Tout cela dit, je voudrais au moins dire également à votre professeur (et vos étudiants!) Que Python se lève contre Matlab. Nous sommes dans le progrès de faire python avec nos tutoriels, mais je comprends si quelqu'un veut coller avec ce qui est familier.

    En outre, nous avons besoin du contenu scientifique plus tard, l'utilité pour vous dépendra probablement de quel département votre cours sera lié à.


0 commentaires

2
votes

Beaucoup de choses sont possibles.

Le premier exemple qui compte consiste à modéliser un réseau de transport en commun (réseau de votre ville, avec sous-sol, bus, tramways, ...). Il est représenté par un graphique dirigé pondéré (vous pouvez utiliser une matrice clairsemé pour le représenter, par exemple).

Vous pouvez, par exemple, demandez-leur de calculer le chemin le plus court d'une station à une autre (algorithme Moore-dijkistra, par exemple) et d'affichage.

Donc, pour les étudiants, plusieurs étapes à faire sont:

  • Choisissez une représentation appropriée pour le réseau (il pourrait s'agir de certains objets pour représenter les propriétés des stations et des lignes et une matrice de raccordement pour le réseau)
  • Chargez toutes les données (vous pouvez leur fournir les données dans un fichier XML)
  • Soyez capable de dessiner le réseau (puisque vous mettrez les coordonnées des stations)
  • Calculez le chemin le plus court d'un point à un autre et l'affiche d'une jolie
  • créer un frontal (avec interface graphique)

    Bien sûr, cela pourrait être compliqué en ajoutant des temps de connexion (lorsque vous passez d'une ligne à une autre), demandant plusieurs options (chemin le plus court avec les connexions minimales, prenez des considérations le temps que vous perdez en attendant un train / bus , ...)

    Le niveau de détails dépendra du niveau des élèves et du temps qu'ils pourraient y passer (il pourrait être très simple, ou très réaliste)


0 commentaires



2
votes

Matlab a commencé la vie en tant que laboratoire de matrice, alors peut-être concentrer sur des problèmes d'algèbre linéaire serait un ajustement naturel.

problèmes de mathématiques discrets utilisant des matrices incluent:

  1. Spanning Arbres et chemins les plus courts
  2. Le problème du mariage (graphiques bipartites)
  3. Algorithmes correspondants
  4. flux maximal dans un réseau
  5. Le problème de transport

    voir "INTRO INTRO DE MATH" DE GIL Strang ou "Concrete Math" de Knuth " pour idées .


0 commentaires

0
votes

Les interfaces d'E / S DB et de fantaisie sont hors de propos dans un cours de mathématiques discrètes.

Mes laboratoires MATLAB étaient généralement des implémentations d'algorithme, avec des graphiques comme sortie et une entrée de fichier simple.

Quelle est la dure le matériau? Le traitement de l'image est vraiment facile dans Matlab, pouvez-vous faire du filtrage 2D discret? Blurs et trucs. http://homepages.inf.ed.ac.uk/rbf/ HIPR2 / FILTOPS.HTM


0 commentaires