多次元の外挿について

9 次查看(过去 30 天)
qrqr
qrqr 2019-10-8
编辑: Yoshio 2019-10-14
3次元や4次元の外挿は無いのでしょうか?
以前、別の質問で1次元しか外挿ができないと回答があったのですが、
多次元外挿はMATLABには機能が無いのでしょうか?
simulinkのLookuptableと同じ機能をMATLABコードにしたいのですが、外挿で悩んでます。
  1 个评论
Yoshio
Yoshio 2019-10-11
编辑:Yoshio 2019-10-12
右上のタブで外挿を選んでみてください。
  • 'spline' および 'makima' メソッドの場合
であって、線形以外の多次元外挿ができない、のではありませんのでご確認ください。
なお、Simulinkの外挿法の説明およびルックアップテーブルの説明にありますようにLookuptable利用の外挿としては線形と3次スプラインですので、3次スプラインをご利用になれば、同じ機能をMATLABコードにできます。

请先登录,再进行评论。

采纳的回答

Yoshio
Yoshio 2019-10-11
编辑:Yoshio 2019-10-11
上にかぶりますが、こちらに記載されている
griddedInterpolant では、1 次元、2 次元、3 次元、N 次元のグリッドデータセットに対する内挿および外挿
  • 外挿法は、'linear''nearest''next''previous''pchip''cubic''spline' または 'makima'
scatteredInterpolant  では、散布データの 2 次元または 3 次元データセットの内挿および外挿
  • 外挿法は、'nearest''linear'
ができます。
  5 个评论
Yoshio
Yoshio 2019-10-14
繰り替えしになりますがinterpnの説明にありますように
Vq = interpn(___,method,extrapval) は、サンプル点の領域の外側に位置するすべてのクエリに割り当てられたスカラー値 extrapvalも指定します。
サンプル点の領域の外側でクエリの extrapval 引数を省略すると、method 引数に基づき、interpn は次のいずれかを返します。
  • 'spline' および 'makima' メソッドの場合、外挿値
  • その他の内挿法の場合、NaN
methodを'spline' または 'makima' に指定しないとNaNになりますから、指定すると
interpn(A,B,C,D,data_set,1,2,3,3,'spline')
interpn(A,B,C,D,data_set,1,2,3,3,'makima')
どちらも21となります。
Yoshio
Yoshio 2019-10-14
编辑:Yoshio 2019-10-14
もしどうしても、'linear' ということでしたら、以下のようにすればよいと思います。なお、'spline'、'makima'でも同じ値になります。
%% 'linear'
F = griddedInterpolant({A,B,C,D},data_set,'linear');
F(1,2,3,1)
F(1,2,3,2)
F(1,2,3,1.5)
F(1,2,3,3)
%% 'spline'
F = griddedInterpolant({A,B,C,D},data_set,'spline');
F(1,2,3,1)
F(1,2,3,2)
F(1,2,3,1.5)
F(1,2,3,3)
%% 'makima'
F = griddedInterpolant({A,B,C,D},data_set,'makima');
F(1,2,3,1)
F(1,2,3,2)
F(1,2,3,1.5)
F(1,2,3,3)
なお、今後のお願いになりますが、以下ご理解の上ご質問ください。
MATLAB Answers:
オープンなユーザーコミュニティーで、ユーザー同士の助け合いの場です。
世界中の数多くのMATLABユーザーである研究者やエンジニアから“MATLABの使い方”を超えた専門的な参考意見をもらえる可能性もあります。MathWorks社員(STAFFマーク付きのアカウント)も1ユーザーとして回答していますが、 STAFFへの個別メッセージによるご質問には原則お答えできませんので、ご了承ください。
なかなか回答が付かないという場合にはこちらも参考にしてみてください。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 内挿 的更多信息

产品


版本

R2013b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!