我初学到matlab。还在学习它。最近我被要求计算三个速度分量的卷曲并绘制其轮廓w.r.t沿x轴的圆周角和沿y轴的半径。数据u,v和w由我预先计算如下
u = V * Cos(beta)* cos(alpha); %V是以m / s为单位的速度,α,β是以弧度表示的角度
同样v = V * cos(beta)* sin(alpha);
w = V * sin(alpha)
有人最近评论说要启用mat实验室的卷曲功能,我的u,v和w数据应该是笛卡尔坐标。我依旧说,虽然我的初始数据是球面坐标(V,alpha,beta),但我使用u,v和w的坐标转换,并将我的数据转换为笛卡尔坐标。
他进一步回答说“不仅你,v,w应该是笛卡儿,但它的相对数据x,y,z也应该是笛卡尔坐标”
我得到它。谁能说出他想说的话,或者我是否可以在matlab中使用curl功能
我会非常感谢你的帮助和回答
答案 0 :(得分:1)
我还没有尝试过这个功能,但只要涉及坐标u
,v
,w
就会为x
,{y
定义每个网格空间的力1}},z
。但是,help on mathworks homepage表示x
,y
,z
必须是单调的,但不需要均匀间隔。
当转换为笛卡儿时,这可能是球坐标的麻烦。我认为任何坐标(但不是所有坐标)的弱单调都可行,但球面坐标不适用于此。您可以尝试的是转换坐标,但要确保网格是单调的。我的意思是,你确保笛卡尔坐标系中的网格保持单调而不是球形。
因此,答案更明确地x
,y
,z
,需要在不增加时至少增加1个坐标,但每个坐标的力point可以将球面坐标的值转换为相应的笛卡尔值。
除此之外,我建议您使用球形坐标的正式定义,将球形坐标定义为从z
到xy
- 平面的角度(alpha = 0
是z
- 轴)。我还建议您使用更常见的坐标名称。 r
,phi
和theta
。