我正在使用Matlab 2016a;我试图在第三维方向去趋势化三维数组,但是在那里有缺失的值。由于位置与地理位置相关,所以值保持在阵列中的相同位置是非常重要的。 忽视NaN时,三维阵列
在这张图片中,假设第2页的NaN位于随机位置,但第1页和第3页有完整的数据。沿着第三维方向,一些向量将有三个数据点,一些将有两个。我需要能够使用所有可用的值沿第三维去趋势。如果我要查看detrended第1页或第3页的值,则不应该有缺失值(因为始终使用2个或3个数据点),但是第2页将在NaN占位符处NaN位于。
我的问题是:我怎么能在忽略NaN的情况下沿着第三维趋势?
我试过使用detrend3(在Matlab文件交换器上找到:https://www.mathworks.com/matlabcentral/fileexchange/61328-detrend3?focused=7203929&tab=function),它可以在消除缺失值的三维数组时发挥作用。
与NaN呈现的折痕会产生错误。我试图忽略NaN,并将NaN设置为-9999,然后忽略这个数字,但一直无法获得这些努力。
任何指导要走什么方向将不胜感激。
它不清楚我到底去趋势你想要什么表演?然而,你可以在detrend3函数中改变这一行:t =(t(:) - mean(t))/ std(t);对t =(t(:) - nanmean(t))/ nanstd(t);'忽略NaNs? – Justin
@Justin,据我所知,这是行不通的。 NaN位于'A'矩阵中,而不是't'向量。 – MrAzzaman
你能确切地证实你想要达到什么样的消极情绪吗? – Justin