瓷砖文档

瓷砖决定了指数矩阵划分成多个模块。

回到气候数据工具的内容

内容

语法

(行,坳)=瓷砖(A, maxsiz)[行,坳]=瓷砖(siz maxsiz)[行,坳]=瓷砖(…,重叠,重叠)[行,坳,h_rect h_txt] =瓷砖(…,“展示”)

描述

(行,坳)=瓷砖(A, maxsiz)返回下标索引上校可以用来划分矩阵一个成块,每个最大大小%maxsizmaxsiz可以是一个标量描述一个正方形瓷砖维方位的副作用,还是maxsiz可以是一个双元素数组来限制瓷砖尺寸矩形尺寸。输出上校细胞阵列,每个单元格包含的下标索引范围的瓷砖一个一个可以是一个2 d或3 d矩阵,但如果一个是一个三维矩阵,只有两个维度是瓷砖的计算。

(行,坳)=瓷砖(siz maxsiz)瓷砖一个矩阵的大小siz最大尺寸的瓷砖maxsiz

(行,坳)=瓷砖(…,重叠,重叠)指定的行数和列的瓷砖重叠。重叠是一个标量或双元素数组。

[行,坳,h_rect h_txt] =瓷砖(…,“展示”)显示编号矩形情节,显示了瓷砖。可选的输出h_recth_txt是绘制矩形的处理和文本标签。

例子

假设你有这20 x20的矩阵:

Y =山峰(20);显示亮度图像(Y)包含“列\ rightarrow”ylabel“\ leftarrow行”

但20 x20太大你想申请的处理算法Y。这需要太多内存来处理整个矩阵,所以你要把它分成更小、小块的碎片不大于5 x5。怎么做:

(行,坳)=瓷砖(Y, 5);

现在我们有上校,正如你所看到的:

上校
类属性名称大小字节坳4 x4 2432细胞行4 x4 2432细胞

每个4 x4细胞阵列。每个单元格的行或列指标描述包含一个瓷砖Y。举个例子,行指数的第一个瓷砖Y是由

行{1}
ans = 1.00 2.00 3.00 4.00 - 5.00

显示所有的瓷砖和它们的数量在矩阵的情节Y通过包括“显示”选择当你打电话瓷砖:

瓷砖(20 5“显示”);标题瓦数的

上图显示,如我们所愿,打破了20 x20的矩阵Y成块,每个不超过5行5列,结果在16平方瓷砖。现在很容易提取一砖一瓦。例如,显示瓷砖10号,使用Y(行{10},{10})上校像这样:

图显示亮度图像(col{10},{10}行,Y(行{10},{10})上校)标题“瓦10”包含“列\ rightarrow”ylabel“\ leftarrow行”

大小不均匀

如果大小的Y不是完美的最大瓷砖大小整除?在这种情况下,产生的瓷砖会有不同的大小。

如果你想要的最大瓷砖大小广场吗?在这种情况下,指定表单中的最大瓷砖大小[maxrow maxcol]

下面是如何指定一个最大瓷砖大小不是广场,和不均匀划分矩阵Y:

图显示亮度图像(Y)包含“列\ rightarrow”ylabel“\ leftarrow行”瓷砖(Y, 4 [9],“显示”);

指定重叠

对于某些应用程序需要有重叠的瓷砖。下面是如何添加一个额外的行和列每个瓷砖,这样他们重叠:

图显示亮度图像(Y)包含“列\ rightarrow”ylabel“\ leftarrow行”瓷砖(Y, 6 [9],“重叠”,1“显示”);

过程2 d网格

假设你有一个大2160 x4320数据集和你想要处理它在瓷砖没有超过300×。加载数据集的行r和列c每个瓦:

负载global_topography.mat[r、c] =瓷砖(Z, 300);

处理二维矩阵Z在瓷砖,我们将遍历每个8 x15 = 120瓦,我们会单独处理每个瓷砖。在这个例子中,假设处理我们要做的是每个瓷砖颠倒翻转。首先preallocatingZf,然后操作在每瓦:

% Preallocate输出网格:Zf =南(大小(Z));%循环每瓦:k = 1:元素个数(r) Zf c (r k {}, {k}) = flipud (Z (c r k {}, {k}));结束图imagescn(经度,纬度,Zf) cmocean (“威尼斯平底渔船”,“主”)包含“经”ylabel“纬度”标题“每个瓷砖掀翻”

作用于一个三维矩阵

瓷砖函数的主要目的是帮助大型3 d网格时间序列,有时你电脑的内存的限制。说明如何使用这个函数这样的数据集,我们将操作一个相对较小的网格时间序列,带有CDT的月度表面压力数据集:

sp = ncread (“ERA_Interim_2017.nc”,“sp”);lat = ncread (“ERA_Interim_2017.nc”,“纬度”);朗= ncread (“ERA_Interim_2017.nc”,“经”);

数据集是480 x241x12表面压力。最后,“12”对应于每一个12个月的2017年。

2017年平均表面压力是什么样子?这样的小数据集,我们可以简单的做

spm =值(sp, 3);

但是,如果sp数据集被更大的我们可能需要打破成砖。打破成砖,说每个不大于50×50,得到每个瓷砖的行和列如下:

[r、c] =瓷砖(sp, 50);

然后计算的中值sp在第三维度,做一些类似于上面的2 d示例,但添加一个额外的,:指数来表示“这些行,列和所有在第三维度”。

首先preallocatingspm沿着第三维度,然后计算平均每瓦:

% Preallocate:spm =南(长度(朗),(lat));%循环每瓦:k = 1:元素个数(r) spm (c r k {}, {k}) =值(sp (c r k {}, {k},:), 3);结束

情节2017平均表面压力,我们只是在瓷砖计算:

图imagescn cmocean(经度、纬度、spm的)节奏%设置colormap

看起来正确,但我们可以验证平铺的解决方案匹配突然这样的解决方案

isequal (spm),中等(sp, 3))
ans =逻辑1

1,或真正的值表示,是的,瓷砖soltuion non-tiled相匹配的解决方案。

作者信息

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