Je veux modéliser le mouvement brownien avec plusieurs molécules/particules et les animer. Jusqu'à présent, j'ai trouvé cette solution de code, mais je suis incapable d'obtenir le résultat souhaité. Ci-dessous est mon codeMouvement brownien avec plusieurs molécules/particules [Matlab]
N = 500; % number of samples
tau = .1; % time interval in seconds
D = 10; % diffusion coefficient
NumMolecules = 500; % number of moelcues to be released
k = sqrt(2*D*tau); % scaling factor
dx = k * randn(N,NumMolecules);
dy = k * randn(N,NumMolecules);
x = cumsum(dx);
y = cumsum(dy);
h = gscatter(x(1,:),y(1,:),1:NumMolecules,'b');
for k = 2:N
for p = 1:NumMolecules
h(p).XData = x(k,p);
h(p).YData = x(k,p);
end
drawnow limitrate
end
drawnow
Quelqu'un peut-il me dire pourquoi je suis incapable d'obtenir les résultats souhaités?
Modifier
Résultat souhaité: Pour animer le mouvement des molécules en utilisant « drawnow » fonction
* le résultat souhaité *. Eh bien, cela dépend complètement de ce que vous désirez! Si vous désirez que le code produise des cupcakes, nous ne pouvons pas vous aider. Si votre désir est quelque chose d'autre, alors s'il vous plaît dites-nous, car nous pourrions être en mesure d'aider. –
@AnderBiguri J'ai ajouté un Edit :) – nashynash
Pourquoi ça ne marche pas? Votre code ressemble beaucoup à la réponse [ici] (https://stackoverflow.com/questions/39632393/plotting-brownian-motion-matlab), et ce code fonctionne –