Problem in computing the curl of 2D velocity vector field

3 次查看(过去 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.
Emanuele
  2 个评论
Thorsten
Thorsten 2014-12-3
编辑:Thorsten 2014-12-3
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 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 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by