cdtdim文档
的cdtdim给出了近似的尺寸每个单元格在一个纬度,经度网格假设椭圆地球。这个函数类似cdtarea。
内容
语法
[dx, dy] = cdtdim(纬度、经度)[dx, dy] = cdtdim(纬度,经度,“公里”)
描述
[dx, dy] = cdtdim(纬度、经度)给出了一个近似尺寸米每个网格单元的地理坐标网格纬度、经度。输入纬度和经度必须匹配维度,好像他们是由meshgrid。
(dx, dy) = cdtdim(纬度,经度,“公里”)给在公里网格单元大小,而不是默认的米。
示例1:10度网格单元尺寸
鉴于全球网格由10度cdtgrid。
(纬度、经度)= cdtgrid (10);
每个网格单元都有这些尺寸:
(dx, dy) = cdtdim(纬度,经度,“公里”);
如果你看的价值dy,你会发现他们都是一样的。这是因为纬度线总是等距的(一个程度的纬度大约是111公里)。所以我们10度网格,网格细胞不出所料
独特的(dy (:))
ans = 1.0 e + 03 * -1.1132 -1.1129 -1.1125 -1.1120 -1.1113 -1.1107 -1.1101 -1.1097 -1.1095
约1111公里。在x方向上,然而,每个网格单元大小取决于纬度。来看看如何x全球网格细胞不同的维度:
p = pcolor(经度、纬度、dx);轴图像ylabel (“纬度”)包含(“经”)cb = colorbar;ylabel (cb、的网格单元区域宽度(公里))
如果你仔细看看上面的地图,你可能会注意到,世界的顶部的值不匹配的值出现在底部的世界。这是由于一个不幸的行为pcolor丢弃一个行和列的数据。这种行为可以通过使用插值阴影或固定使用显示亮度图像而不是pcolor,但我使用pcolor上面,因为它是一个简单的方法包括网格线。
示例2:可视化网格单元尺寸与全局数据
这是另一种方式看网格单元大小是如何计算的cdtdim。首先加载一个海面温度数据集网格分辨率为0.75度。
负载global_sst
,目前纬度和朗向量,所以把它们变成矩阵大小一样吗风场使用meshgrid:
(经度、纬度)= meshgrid(经度、纬度);
现在就像在示例1,计算尺寸dx和dy每个网格单元:
(dx, dy) = cdtdim(纬度,经度,“公里”);
这一次,而不是显示网格单元尺寸在一个非预料的网格背阔肌和经度,让我们把dx和dy成有效的x和y值的累积的总和dx的年代,dy的:
x = cumsum (dx, 2);y = cumsum (dy, 1);
我们可以画出x和y位置只是累积金额从0开始,但不会很:
情节(x, y,“b”。)轴平等的
更有意义中心这些价值观的起源,这可以通过删除意味着x和y值。如果你有一个post - 2016 b版本的Matlab只需减去x-mean (x, 2)执行隐式的扩张,但我们平民与旧版本的Matlab使用吗bsxfun减:
x, x = bsxfun (@minus意味着(x, 2));y, y = bsxfun (@minus意味着(y, 1));
删除的方法,我们看到的是由网格单元计算cdtdim和cdtarea就像一个正弦地图投影:
pcolor (x, y, sst)阴影插值函数轴图像包含(“x距离(公里))ylabel (“y”距离(公里))cmocean“热”
作者信息
这个函数是由乍得a。格林德克萨斯大学的地球物理研究所(UTIG)。