Wolfram Mathematica & Mouvement Brownien
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Wolfram Mathematica & Mouvement Brownien



  1. #1
    inviteb400d35e

    Question Wolfram Mathematica & Mouvement Brownien


    ------

    Bonjour à tous,

    Je suis étudiant en MP* et dans le cadre de mes TIPE (Intitulé mouvement brownien) je dois effectuer quelques tracés de mouvements browniens sur le logiciel Mathematica. C'est le mouvement désordonné de particules dans un fluide.
    Dans son modèle le plus simple, il s'agit d'un mouvement où l'on ne peut pas définir de vitesse car il y a changement de direction à chaque instant. Les trajectoires entre deux chocs sont rectilignes. Voici un exemple :
    Source : wikipedia
    Pourriez-vous m'éclairer, me donner des pistes pour générer des valeurs aléatoires et les tracer?
    Sachant qu'il est uniquement possible de le faire en deux dimensions non?

    Autre question : Dans mes recherches, j'ai vu qu'on considérait uniquement la moyenne quadratique des positions <x^2(t)> lors de ce mouvement et non la moyenne arithmétique x(t). Sauriez-vous pourquoi?

    Merci d'avance

    -----
    Dernière modification par obi76 ; 15/06/2011 à 12h31.

  2. #2
    invitec317278e

    Re : Wolfram Mathematica & Mouvement Brownien

    http://www.maplesoft.com/support/hel...aspx?path=rand


    Si le mouvement est aléatoire, s'intéresser à la moyenne (espérance) ne donnera rien, car on obtiendra 0, vu qu'aucune direction n'est privilégiée.

    en revanche, le fait que les molécules restent en moyenne au centre ne veut pas dire qu'elles ne s'en éloignent jamais. x² permet de calculer cet éloignement, en prenant sa moyenne, car ainsi, on a que des valeurs positives.

  3. #3
    coussin

    Re : Wolfram Mathematica & Mouvement Brownien

    Je passe d'un point au suivant par un vecteur déplacement dont la norme est aléatoire entre rmin et rmax (ici 1 et 2 à toi de choisir ça) et dont la direction est aléatoire entre 0 et 2pi. Je fais ça pour nData points et je plotte
    À raffiner, j'ai fait ça en 2 minutes

    nData = 100;
    rmin = 1.;
    rmax = 2.;
    data = Riffle[RandomReal[{rmin, rmax}, nData],
    RandomReal[{0., 2 \[Pi]}, nData]] //
    Partition[#, 2] & // {#1 Cos[#2], #1 Sin[#2]} & @@@ # &;
    sum = {};
    Do[
    sum = sum~Join~(Plus @@ data[[1 ;; i]])
    , {i, 1, Length[data]}];
    sum = sum // Partition[#, 2] &;
    ListLinePlot[sum, PlotMarkers -> {Automatic, Small}]

  4. #4
    obi76

    Re : Wolfram Mathematica & Mouvement Brownien

    Bonjour,

    merci de citer vos sources (en particulier pour les images).

    Pour la modération,
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  5. A voir en vidéo sur Futura
  6. #5
    inviteb400d35e

    Re : Wolfram Mathematica & Mouvement Brownien

    Merci beaucoup pour vos réponses. Cependant, il me semble que vous m'avez tous les deux répondu d'un point de vue Maple non? (Que je ne maitrise absolument point) Moi c'est pour Mathematica...

  7. #6
    coussin

    Re : Wolfram Mathematica & Mouvement Brownien

    Nan nan, mon code c'est du Mathematica

  8. #7
    inviteb400d35e

    Re : Wolfram Mathematica & Mouvement Brownien

    Merci beaucoup!

  9. #8
    inviteb400d35e

    Question Re : Wolfram Mathematica & Mouvement Brownien

    coussin, pourrais-tu me détailler ton code? Je maitrise Mathematica mais pas particulièrement les fonctions statistiques.

    nData = 100; -> Nbre de points
    rmin = 1.; -> Rayon Minimum
    rmax = 2.; -> Rayon Maximum
    data = Riffle[RandomReal[{rmin, rmax}, nData],
    RandomReal[{0., 2 \[Pi]}, nData]] //
    Partition[#, 2] & // {#1 Cos[#2], #1 Sin[#2]} & @@@ # &; -> Riffle permet d'intercaler un {angle, nData} dans la liste des {{rmin,rmax}, nData} ?
    sum = {}; -> Tu initialise sum
    Do[
    sum = sum~Join~(Plus @@ data[[1 ;; i]])
    , {i, 1, Length[data]}];
    sum = sum // Partition[#, 2] &; -> Rien compris
    ListLinePlot[sum, PlotMarkers -> {Automatic, Small}]

  10. #9
    inviteb400d35e

    Re : Wolfram Mathematica & Mouvement Brownien

    Ou quelqu'un d'autre?

  11. #10
    coussin

    Re : Wolfram Mathematica & Mouvement Brownien

    Je prends 5 minutes de mes vacances pour te répondre
    Les 2 RandomReal[] créent des vecteurs en polaires aléatoires (norme aléatoire entre rmin et rmax, direction aléatoire entre 0 et 2 pi). Je transforme ensuite ça en cartésien (la fonction avec les cosinus et sinus).
    Dans la boucle Do[], je les additionne tels que le point numéro i est la somme du point 1 jusqu'au point i (pour avoir une trajectoire).
    La Partition[] à la fin est juste pour avoir une liste de coordonnées.

Discussions similaires

  1. mouvement brownien
    Par invite9c7554e3 dans le forum Physique
    Réponses: 4
    Dernier message: 23/06/2010, 15h51
  2. Wolfram Mathematica Help !!
    Par inviteef6fb3c6 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 27/08/2009, 15h25
  3. Mouvement brownien
    Par invitec12bc20e dans le forum Physique
    Réponses: 17
    Dernier message: 05/03/2006, 18h47
  4. Le Mouvement Brownien
    Par invite77fec917 dans le forum TPE / TIPE et autres travaux
    Réponses: 2
    Dernier message: 08/02/2006, 21h22
  5. mouvement brownien
    Par Heimdall dans le forum Physique
    Réponses: 4
    Dernier message: 07/06/2005, 10h11