MATLAB:curl + meshgrid二维和三维

时间:2015-06-24 14:22:47

标签: matlab

我正在努力处理MATLAB R2011b curlmeshgrid功能。 我必须计算curl网格上定义的2D速度field (U,V)的{​​{1}}。

我的网格由(2D) 2 vectors,xm提供,大小不同且间距不均匀。

基本上

ym

现在我必须计算size(xm)=size_x size(ym)=size_y size(U)=(size_x,size_y) size(V)=(size_x,size_y) 的卷曲。所以我这样做:

field (U,V)

[Mxm,Mym]=meshgrid(xm,ym); [curl,omega]=curl(Mxm,Mym,transpose(U),transpose(V)); 函数定义。

我讨厌curl,因为我必须转置MATLABU

如果现在情况有所改变,我必须在三个方面做到这一点? 我有第三个方向的网格向量V。 就我而言,由于某些致命的原因,我的速度字段为zm

(U,V,W)

问题:

1)我如何计算这种3D东西的卷曲?我无法进行某种换位。

2)如何避免2D中的换位?

非常感谢。

更新:

根据评论这篇文章的用户的建议,我切换到size(xm)=size_x size(ym)=size_y size(zm)=size_z size(U)=(size_x,size_y,size_z) size(V)=(size_x,size_y,size_z) 函数来构建网格:

ndgrid

矢量具有正确的尺寸,但产生的卷曲充满了NaN和Inf。任何线索?

UPDATE2:

我正在使用的一些数据(muuuch简化版)

[Mxm,Mym]=ndgrid(xm,ym);
[curl,omega]=curl(Mxm,Mym,U,V);

U V 的每个的空间位置由 xm 的相应值给出,每个 ym

标识

0 个答案:

没有答案