8
\ begingroup美元

我需要regrid温度数据集从1度到0.5度。以防我们有数据对所有网格落在一个方形,可用如下所示,我们可以简单地regrid在MATLAB使用双线性/双立方插值法。

在这里输入图像描述

但是,数据网格我形成一个不规则的形状。,没有价值观outsie给定的网格,如下所示。

在这里输入图像描述

regriding在这种情况下怎么办?

\ endgroup美元
5
  • 1
    \ begingroup美元 恐怕,这取决于应用程序。使用什么样的内插和外推法和边界所代表的含义。有e。g热流细胞不包括在您的模型还是一个封闭的系统? \ endgroup美元
    - - - - - -user2821
    2015年8月16日22:33
  • \ begingroup美元 我试图regrid温度。边界代表州或县。没有流量。 \ endgroup美元
    - - - - - -dsbisht
    2015年8月17日在7:09
  • \ begingroup美元 我怀疑你的一般方法应该是找到你原来的船体凹点,然后做任何形式的插值(只要它忽略了缺失的值,而不是把他们当作零),然后使用凹壳作为一个面具,删除不需要的点。棘手的部分是凹壳——我不知道如何做,在Matlab中,这就是为什么我不把这个作为一个答案。 \ endgroup美元
    - - - - - -半日西蒙
    2015年8月17日15:36
  • \ begingroup美元 它已经有一段时间我做了,但是我相信毕业生计划很好各种regridding……,你可以使用一个面罩,防止溢出点你不想要。 \ endgroup美元
    - - - - - -JeopardyTempest
    2017年3月12日21:18
  • \ begingroup美元 你会考虑其他比Matlab工具吗?我知道R,如何做到这一点有一个功能,允许插值成不规则网格。 \ endgroup美元
    - - - - - -怪不得我
    2017年3月13日,48

2答案2

1
\ begingroup美元

试试这样:

[x_grid, y_grid] = meshgrid (1:10 0, 1:10 0);z_grid = griddata (x_data y_data、z_data x_grid (:), y_grid (:), v4);

你可以改变插值的方法,如果你喜欢别的东西。

看到的:http://www.mathworks.com/help/matlab/ref/griddata.html

\ endgroup美元
    1
    \ begingroup美元

    你试过修补的方法吗?修复方法试图取代使用存在数据缺失的数据。我建议你检查inpaint_nans。在fileexchange m函数。

    例如

    (x, y) = meshgrid (0: .01:1);z0 = exp (x + y);znan = z0;znan(40:70 20:50) =南;znan(30:90 5:10) =南;znan(70:75 40:90) =南;z = inpaint_nans (znan);图中,显示亮度图像(znan),轴图像图,显示亮度图像(z),轴的形象

    在这里输入图像描述

    在这里输入图像描述

    \ endgroup美元

      你的答案

      通过点击“发布你的答案”,你同意我们服务条款并承认您已阅读并理解我们的隐私政策的行为准则

      不是你要找的答案?浏览其他问题标记问你自己的问题