MATLAB Answers

qrqr
0

interpでNaNを出さない方法

Asked by qrqr
on 11 Sep 2019
Latest activity Commented on by michio
on 16 Sep 2019
interpnを使って3次元の内挿をしています。
一部出力結果が、NaNになるとこがあったので、調べたところ外挿の指定があることを知りました。
'spline' および 'makima' メソッドの場合、外挿値
このように記述されておりそのままやったところ、全データが外挿として出力されてしまいました。
内外挿どちらもやりたい時はどうすればいいのでしょうか?

  0 Comments

Sign in to comment.

Products


Release

R2013b

1 Answer

michio
Answer by michio
on 11 Sep 2019
 Accepted Answer

'spline' および 'makima' メソッドの場合、外挿値」
というのはサンプル点の領域の外側では 'spline' もしくは 'makima' を使った外挿値を返すという意味ですので、サンプル点の領域の内側では内挿をしています。
「内外挿どちらもやりたい」という点についてもう少し詳しく教えて頂けませんでしょうか?

  4 Comments

Show 1 older comment
michio
on 11 Sep 2019
確認ですが、'spline' および 'makima' メソッドの場合は外挿も計算しますが、この場合は結果が NaN ばかりになるということでしょうか?
その他のメソッドの場合は外挿は計算せず NaN を返すので、例えば NaNをのぞいた積算(和)ができれば解決するのであれば
sum(A,'omitnan')
というオプションもあります(R2016a以降)
LookupTable の外挿法については、少しわかりにくいですが
に解説がありますので、参考まで。
qrqr
on 12 Sep 2019
ありがとうございます。
確認ですが、'spline' および 'makima' メソッドの場合は外挿も計算しますが、この場合は結果が NaN ばかりになるということでしょうか?
NaNばかりになるわけではございません。
シンプルにやりたいこととしては
simulink look up table での外挿[線形]をしたいと思っています。
michio
on 16 Sep 2019
interp1 関数であれば線形外挿も可能ですが、それ以外の interp2 や interp3 では残念ながら実現できそうにありません。申し訳ございません。
用途に合うかどうか不安ですが、 scatteredInterpolant であれば境界勾配に基づく線形外挿をサポートしています。

Sign in to comment.