Problem in computing the curl of 2D velocity vector field

4 次查看(过去 30 天)
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.
  2 个评论
Andreas Passos
Andreas Passos 2021-2-25
编辑:Andreas Passos 2021-2-25
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



Emanuele Spinosa
Emanuele Spinosa 2014-12-3
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?

更多回答(1 个)

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


Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息


Community Treasure Hunt

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

Start Hunting!

Translated by