rect2cube文档

rect2cube功能重塑和排列一个二维矩阵三维立方体。rect2cube的补充cube2rect

回到气候数据工具的内容

内容

语法

A3 = rect2cube (A2, gridsize) A3 = rect2cube (A2,面具)

描述

gridsize A3 = rect2cube (A2)重塑了二维矩阵A2成一个三维矩阵的前两个维度空间(例如,纬度x经度或朗x lat)和第三维度的时间或者海洋深度或一些变量执行哪些操作。最后的尺寸A3是指定的gridsize,这可能是一个完整的描述3元素数组A3,或者gridsize可能只是一个2包含前两个维度的元素数组A3

A3 = rect2cube (A2,面具)重塑的元素A2真正的网格细胞在一个二维矩阵面具

为什么这个函数存在吗?

好问题!简短的回答是它允许快速和容易的向量化,意味着没有更多的嵌套循环。更细致的解释有很多的例子可以在这找到教程3 d数据分析

示例1:简单的情况

这个例子从一个随机的4 x3x2矩阵,这意味着它是一个网格空间维度4 x3和有两个测量——两个“时间”片网格中的每一个点:

%随机4 x3x2矩阵:A3 =兰迪(50 [4 3 2])
A3 (:: 1) = 33 45 15 42 36 14 16 13 1 21 38 19 A3(:,: 2) = 22 47 29日16 44 25 15 20 14 13 24 50

转换A3成一个二维矩阵通过cube2rect:

A2 = cube2rect (A3)
A2 = 33 42 16 21 45 36 13 38 15 14 1 19 22 16 15 13 47 44 20 24日29日25日14 50

以上我们看到的第一行A2包含每个网格单元的值在第一的“时间片”A3,第二行A2对应于第二个时间片。

让A3回原来的3 d安排,使用rect2cube并指定尺寸你想要的A3是:

A3 = rect2cube (A2, [4 3 2])
A3 (:: 1) = 33 45 15 42 36 14 16 13 1 21 38 19 A3(:,: 2) = 22 47 29日16 44 25 15 20 14 13 24 50

这让我们回到我们开始的地方。

注意:您没有指定的第三维度A3当你使用上面的语法。你可以指定第一两个维度rect2cube将算出第三个,是这样的:

A3 = rect2cube (A2, [4 3]);

示例2:屏蔽

如果您正在使用非常大的网格的气候数据,你会发现它更多的计算高效之前删除不感兴趣的区域进行计算。为此,创建一个包含面具真正的值为任何你想保持网格细胞。

在这个例子中,我们还将使用一个面具7真正的值表明网格细胞我们要分析和5值,我们不想在我们的分析包括:

%创建一个掩码:掩码= true ([4 3]);面具([3 4 6 10 11])= false
掩码= 4×3逻辑数组1 1 1 1 0 0 0 1 0 0 1 1

转换A3成一个二维矩阵通过cube2rect:

A2 = cube2rect (A3,面具)
A2 = 33 42 45 13 38 15 19 22日16 47 20 24日29日50

以上我们看到每一个真正的网格单元的面具被列在A2,行A2对应的时间片A3

现在,如果我们想要得到的A2回一个3 d网格,使用相同的面具:

A3b = rect2cube (A2,面具)
A3b(:: 1) = 33 45 15 42 13南南南南南38 19 A3b(:,: 2) = 22 47 29日16 20南南南南南24 50

以上,你会注意到A3b不完全匹配A3矩阵我们开始,因为我们扔掉了所有的信息网格中的细胞与0面具,然后我们必须填补他们值。这是有损压缩的方法分析,但如果没有这些网格细胞相关分析,然后是真的输了吗?

作者信息

这个函数的一部分气候数据为Matlab工具箱。的功能和支持文档是乍得a·格林写的德州大学奥斯丁分校。

Baidu
map