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,计算尺寸dxdy每个网格单元:

(dx, dy) = cdtdim(纬度,经度,“公里”);

这一次,而不是显示网格单元尺寸在一个非预料的网格背阔肌和经度,让我们把dxdy成有效的x和y值的累积的总和dx的年代,dy的:

x = cumsum (dx, 2);y = cumsum (dy, 1);

我们可以画出xy位置只是累积金额从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));

删除的方法,我们看到的是由网格单元计算cdtdimcdtarea就像一个正弦地图投影:

pcolor (x, y, sst)阴影插值函数图像包含(“x距离(公里))ylabel (“y”距离(公里))cmocean“热”

作者信息

这个函数是由乍得a。格林德克萨斯大学的地球物理研究所(UTIG)。