How to use curl for 2D-vector field correctly?

Hi everyone,
I've some data from a simulation like (x,y,u,v) which u corresponds to velocity in x-direction and v in y-direction. In order to compute the curl of vector V(u,v) i did it like so:
x = data(:,1);
y = data(:,2);
u = data(:,3);
v = data(:,4);
V = [u v];
R = [x y];
curl = curl(V,R);
Now i wanna to see if my code is correct or is there any mistake?
Many thanks!

1 Comment

I have the exact same question,
'how to calculate the curl of a trajectory'
if you found the answer please let me know

Sign in to comment.

Answers (1)

I think you might have to make those inputs into matrix format first with meshgrid. Then you can pass those directly into curl.
x = data(:,1);
y = data(:,2);
u = data(:,3);
v = data(:,4);
[X,Y] = meshgrid(x,y);
[U,V] = meshgrid(u,v);
curl = curl(X,Y,U,V);

2 Comments

If I use meshgrid, then I will receive 0 and NAN as results of curl!
Sorry - you are right. I am not sure because the help says it needs to be a matrix "as if produced by meshgrid."

Sign in to comment.

Products

Release

R2018b

Asked:

on 15 Aug 2019

Edited:

on 25 Feb 2021

Community Treasure Hunt

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

Start Hunting!