3

重複の可能性:
MATLAB: 補間を使用して欠損値 (NaN) を置き換える

interpn コマンドを使用して多次元のデータを補間したいと考えています。

問題は、データに NaN が含まれていることです。したがって、一部の次元では、matlab による補間を妨げるデータポイントが 2 つ未満になります。その場合、interpn が NaN 値を返すようにしたいと思います。

例: 私のデータはどういうわけかこのように見えます

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


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

1 つの次元には NaN しかないため、Matlab は補間時にエラーを出します。matlab でこのエラーを無視し、代わりに NaN の形で interpn 関数を返すようにしたいと思います。

4

1 に答える 1

0

NaN を探す仲介機能を導入できます。

したがって、interpn を呼び出す代わりに、次のことを行う関数を呼び出すことができます。

any(any(any(isnan(val)))true が NaN を返す場合はNaN を検索し、それ以外の場合は関数を呼び出します。

全体interpnに NaN が必要なのか、特定のレイヤー/ディメンションだけに NaN が必要なのかは明確ではありません。後者であれば、もう少しコードを示していただけるとありがたいです。

于 2012-09-17T12:58:33.830 に答える