Problem in computing the curl of 2D velocity vector field

2 views (last 30 days)
Hi everyone,
I'm trying the compute the curl of a 2D velocity vector field using the function
[curlz,cav] = curl(X,Y,UU,VV);
X, Y are generated using meshgrid. However I obtain a matrix of NaNs and + - Inf ... Do you know what's happening? I think I followed the correct instructions from the Matlab Help... Please let me know.
Emanuele
  2 Comments
Thorsten
Thorsten on 3 Dec 2014
Edited: Thorsten on 3 Dec 2014
No, we don't know what's happening because you have not told us how you computed X, Y, UU and VV. Please do so and provide the code...
Andreas Passos
Andreas Passos on 25 Feb 2021
Edited: Andreas Passos on 25 Feb 2021
Hi, I want to calculate the curl from a single trajectory.
Basically, I want to identify if the trajectory rotates clockwise of anti-clock wise and measure the rotation speed.
I use something like the below:
x = data(:,1);
y = data(:,2);
u = data(:,3);
v = data(:,4);
V = [u v];
R = [x y];
curlRes = curl(V,R);
The result is 0 everywhere.
I also tried [curlz,cav] = curl(x,y,u,v) and it gives the follwoing error
'Index in position 1 is invalid. Array indices must be positive integers or logical values.'
the vectors u,v contain negative values as well as they indicate the velocity direction
Thank you

Sign in to comment.

Accepted Answer

Emanuele Spinosa
Emanuele Spinosa on 3 Dec 2014
I sorted out the problem, however it seems that the curl is too big at the extremes of the domain... any idea how to fix this?

More Answers (1)

Youssef  Khmou
Youssef Khmou on 3 Dec 2014
Generally, the input velocity matrices may contain NaNs, try :
sum(isnan(UU(:))); % must be zero if there is no NaN, same for VV

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!