海冰数据-MATLAB 3D矩阵

海冰数据-MATLAB 3D矩阵,matlab,multidimensional-array,Matlab,Multidimensional Array,我想做一个矩阵,其中的数据在矩阵中,我可以把矩阵中的每个网格作为一个特定的长的,横向的点。数据持续超过3年,所以我还需要一个三维的时间 我现在有三个1437x159倍的纬度、经度和海冰数据。如何将它们组合成符合上述标准的3d矩阵?基本上,我希望能够说,我希望在第47天得到-50S lat和50W lon的数据,并且能够索引到数组中并找到答案 谢谢 是的-这可以轻松完成。我做过类似的工作,分析了不同时期的大气数据 基本问题是数据是按小时组织的,网格随时间动态变化,并且需要随时间分析数据。我推荐两种

我想做一个矩阵,其中的数据在矩阵中,我可以把矩阵中的每个网格作为一个特定的长的,横向的点。数据持续超过3年,所以我还需要一个三维的时间

我现在有三个1437x159倍的纬度、经度和海冰数据。如何将它们组合成符合上述标准的3d矩阵?基本上,我希望能够说,我希望在第47天得到-50S lat和50W lon的数据,并且能够索引到数组中并找到答案


谢谢

是的-这可以轻松完成。我做过类似的工作,分析了不同时期的大气数据

基本问题是数据是按小时组织的,网格随时间动态变化,并且需要随时间分析数据。我推荐两种方法中的一种

方法1:网格重采样

这涉及到在统一、标准化的网格上重新采样网格数据。使用Matlab
ndgrid()
函数定义网格,然后使用
interp2()
对每个点重新采样,并合并成统一的三维矩阵。然后,您可以使用
interp3()
在重新采样的数据中直接插值。这种方法涉及最少的编程,在重新采样过程中会丢失一些原始数据

方法2:动态插值

在数据对象周围定义一个自定义类包装器,比如“SeaIce”,并编写自己的
SeaIce.interp3()
方法。该方法将加载每小时的网格信息,首先在横向维度执行插值,然后在时间维度执行插值。这确保了通过插值不会丢失任何信息,同时需要权衡更多的编码


第二种方法在我的出版物“航空应用中的风分析”中有详细描述(针对风领域)

猫(3,纬度,长,海冰)怎么样??问题是我的海冰数据每天都是一个不同的矩阵。我需要能够索引到特定的一天,然后我不明白你的数据是如何存储的。你能想象一下吗?我有大约1000个hdf文件,其中包含一个叫做ASI Ice CONTRUSION的变量。每个文件对应于当天全球各点(纬度、经度)的海冰数据。在代码的另一部分,我在循环中读取了每天的冰浓度数据——因此我得到了大约1000组覆盖全球的数据。我需要按照你上面的建议去做,但也可以指定我需要的日期。基本上,我在想象一个立方体,其中矩阵是这些天的数据。每个网格对应于特定的lat、lon,比如1S和1W。但在网格中是数据。