Mathematica

Tout ce qui concerne notamment les outils de calcul numérique, de calcul formel ou de géométrie.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Nikus

Mathematica

Message non lu par Nikus »

J'utilise actuellement Mathematica 5.1 pour realiser une simulation Monte-Carlo d'un phenomene physique. Pour cela, j'ai besoin d'utiliser une boucle for qui modifie une liste (precedemment cree) a chaque increment de l'argument i. Le corps du programme est schematiquement :

Code : Tout sélectionner

p=Range[n];
For[i=1,i<n+1,i++,
{
..........;
value=.........;                            /*Generee aleatoirement a chaque boucle*/
ReplacePart[p,value,i];               /*Ou Insert[...]*/
}];
ListPlot[p];
A priori, ce bout de programme devrait remplacer les valeurs {1,2,...n} originales de p par celles generees a l'interieur de la boucle. Mais ce n'est pas le cas, car j'obtient en retour le plot du tableau p d'origine, comme si la fonction ReplacePart[] (ou Insert[]) ne faisait rien. Est-ce parce que Mathematica ne voit pas le meme symbole i dans For[] et ReplacePart[]?
Je serais tres heureux si quelqu'un pouvait me donner une reponse sur la facon de proceder.
D'avance, merci.
DUET
Utilisateur confirmé
Utilisateur confirmé
Messages : 64
Inscription : mercredi 01 juin 2005, 08:14
Contact :

Message non lu par DUET »

Moi en général, j'écris les boucles ainsi

Code : Tout sélectionner

For[k = 1,k < qqchoz,
(*corps de boucle*)
; k++]
je ne sais pas si ça améliorera ton programme mais je ne connais pas ReplacePart
Nikus

mathematica

Message non lu par Nikus »

En fait, je viens de trouver une solution a mon probleme mais merci beaucoup pour ta reponse. Ca me servira surement plus tard.
Répondre