私はMatlab上の2Dでいくつかの粒子の軌跡をシミュレートしようとしています。私は時間の関数としてこれらの粒子のx座標とy座標を持っています。これは行列xとyとして保存します。 xとyの両方の列は時間に対応し、行はパーティクル番号に対応します:1,2など複数の点を同時にMatlabアニメーション
私は一時停止して1つのパーティクルのアニメーションを行う方法を知っていますが、複数のパーティクルの軌跡のコードをカスタマイズすることができます。基本的に私の考えは、最初のプロットでは、パーティクルA、B、Cなどの粒子の初期位置に対応する3つのマーカーがあることです。次に、これらの3つのマーカーの動きに従いたいと思います。私は問題に遭遇しました。私は、パーティクルアイデンティティに従って後続のポイントをどのようにソートするのか分かりません。たとえば、2番目の時点の最初の点をパーティクルA、2番目の点をパーティクルB、3番目の点をパーティクルCに指定します。
私はこのようなことをしましたが、私のシミュレーションでは、
y = rand(3, 20); % Generate random sample data.
x = rand(size(y, 1), size(y, 2));
% Now we have x and y sample data and we can begin.
% Extract into separate arrays
x1 = sort(x(1,:));
x2 = sort(x(2,:));
x3 = sort(x(3,:));
y1 = y(1,:);
y2 = y(2,:);
y3 = y(3,:);
for k = 1 : length(x1)
plot(x1(1:k), y1(1:k), 'r*-', 'LineWidth', 2);
xlim([min(x(:)), max(x(:))]);
ylim([min(y(:)), max(y(:))]);
grid on;
hold on;
plot(x2(1:k), y2(1:k), 'g*-', 'LineWidth', 2);
plot(x3(1:k), y3(1:k), 'b*-', 'LineWidth', 2);
hold off;
fprintf('Plotted points 1 through %d\n', k);
pause(0.8);
end
任意のアイデアや提案:粒子の数は、仕事へのアニメーションのためのX1を作成することが非現実的になり100、X2、...、X100、Y1、Y2、...、Y100かもしれ大いに感謝されます!
これを見てください[answer](http://stackoverflow.com/questions/31781277/how-can-i-visualize-the-tracking-of-every-nero-zero-elements-in-a- 2d-matrix/31784703#31784703)には、複数の点を同時にアニメーション化する方法の例が含まれています。 – Hoki