- 积分
- 25905
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-3-17
- 最后登录
- 1970-1-1

|
发表于 2013-1-31 17:42:32
|
显示全部楼层
本帖最后由 斥鷃 于 2013-1-31 17:53 编辑
只做过散度分析,没有做过涡度的,这里提出我的一点浅见:
1.divergence函数不能用于地理散度计算,原因自然是经距会随纬度变化这个问题了,divergence函数只适用于横纵坐标轴均匀的坐标系散度计算。具体解释很简单,看open divergence就行了,源代码写的很简单,个人觉得这个matlab函数写的有点水……重要部分我贴在下面(引自divergence函数源代码):
if isempty(w) % 2D
[msg x y] = xyuvcheck(x,y,u,v); error(msg)
if isempty(x)
[px junk] = gradient(u); %#ok
[junk qy] = gradient(v); %#ok
else
hx = x(1,:);
hy = y(:,1);
[px junk] = gradient(u, hx, hy); %#ok
[junk qy] = gradient(v, hx, hy); %#ok
end
div = px+qy;
2.49楼正解!顶一个,我在处理的时候直接用矩阵加减法做的中心差分求,做出来结果和grads绘出图形一致,不过代码不见得有49楼(他的方法去掉边界后也应该是中心差分)好,就不献丑了。但是另一方面49楼同学的做法在极地投影下也会出问题,这个的解决方法我按LZ和无径之林的方法试了试,比较笨~没成功~ 以后什么时候有空再研究研究~ |
|