How can I plot diagrams for a particle model?

3 Ansichten (letzte 30 Tage)
Jeff Lau
Jeff Lau am 1 Mär. 2019
Beantwortet: Karan Singh am 6 Jan. 2025
I am working on a particle model that models a swarm (which involves systems of differential equations) and would like to produce diagrams of this form:
pastedImage.png
(source: Yao-li Chuang, Maria R. D’Orsogna, Daniel Marthaler, Andrea L. Bertozzi, and Lincoln S. Chayes, State Transitions and the Continuum Limit for a 2D Interacting, Self-Propelled Particle System)
Is it possible to create diagrams like this?
Right now I have
V = sym('V', [N d]); % velocity (N particles, dimension = 2), V(i,j) is the jth velocity component of the ith particle
X = sym('X',[N d]); % the position defined same way as above
I am aiming to approximate the solution numerically and plot the graphs above.
  1 Kommentar
KSSV
KSSV am 23 Okt. 2020
If you the locations (x,y) and the respective vector components (u,v) you can very much plot the shown figures using quiver.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Karan Singh
Karan Singh am 6 Jan. 2025
I tried quiver as mentioned by KSSV
N = 20;
theta = linspace(0, 2*pi, N);
r = linspace(0, 1, N);
[R, T] = meshgrid(r, theta);
X1 = R .* cos(T)
X2 = R .* sin(T);
V1_radial = X1;
V2_radial = X2;
V1_rotational = -X2;
V2_rotational = X1;
figure;
subplot(1, 2, 1);
quiver(X1, X2, V1_radial, V2_radial, 'b');
axis equal;
xlabel('X');
ylabel('Y');
title('Radial Velocity Field');
grid on;
subplot(1, 2, 2);
quiver(X1, X2, V1_rotational, V2_rotational, 'b');
axis equal;
xlabel('X');
ylabel('Y');
title('Rotational Velocity Field');
grid on;

Kategorien

Mehr zu Data Import and Analysis finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by