How can I plot diagrams for a particle model?

1 vue (au cours des 30 derniers jours)
Jeff Lau
Jeff Lau le 1 Mar 2019
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 commentaire
KSSV
KSSV le 23 Oct 2020
If you the locations (x,y) and the respective vector components (u,v) you can very much plot the shown figures using quiver.

Connectez-vous pour commenter.

Réponses (1)

Karan Singh
Karan Singh le 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;

Catégories

En savoir plus sur Data Import and Analysis dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by