2012-09-17 98 views
3

可能重複:
MATLAB: Using interpolation to replace missing values (NaN)Matlab的內插(interpn)忽略尺寸與NaN的

我想在插值使用interpn命令多個維度數據。

問題是數據包含NaN。因此,在一些維度中,有少於2個數據點阻止了matlab插入。在這種情況下,我希望interpn返回一個NaN值。

實例:我的數據看起來莫名其妙地喜歡插,因爲有精心NaN的一個維度,當該

val(:,:,1) = 
    -2.3810 -0.9365 
    NaN -0.6910 


    val(:,:,2) = 
    -2.3354 -0.9271 
    NaN -0.6859 

Matlab的給出了一個錯誤。我希望matlab忽略這個錯誤,而是將NaN的形式返回給interpn函數。

回答

0

您可以引入一個尋找NaN的中介函數。通過any(any(any(isnan(val)))如果屬實將返回NaN,否則它會調用你的函數

搜索楠:

所以不是叫interpn,你可以調用一個函數來執行以下操作。

目前還不清楚您是否想要整個interpn的NaN,或者只是針對特定的圖層/維度。如果是後者,如果你展示了更多的代碼,我會很感激。