How can I plot diagrams for a particle model?

조회 수: 1 (최근 30일)
Jeff Lau
Jeff Lau 2019년 3월 1일
답변: Karan Singh 2025년 1월 6일
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
KSSV
KSSV 2020년 10월 23일
If you the locations (x,y) and the respective vector components (u,v) you can very much plot the shown figures using quiver.

댓글을 달려면 로그인하십시오.

답변 (1개)

Karan Singh
Karan Singh 2025년 1월 6일
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;

카테고리

Help CenterFile Exchange에서 Data Import and Analysis에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by