MatlabでSim​ulinkのルックア​ップテーブルと同じ機​能が使いたい

2 views (last 30 days)
SHromaneko
SHromaneko on 26 Aug 2022
Commented: SHromaneko on 29 Aug 2022
Simulinkにルックアップテーブルという機能がありますが、Matlabにも同じような機能ってありますか?
例えば下記のようなテーブルを変数に用意用意します。
■やりたいこと
このとき、引数にX=775,Y=5を指定すると-4を返す
ただし、間の値を指定した場合は内挿したいです。
例えばX=2350 Y=5のときは21を返す
上記の機能はSimulinkであればルックアップテーブルブロックで簡単にできることですが、Matlabにも同じような機能ってありますか?

Accepted Answer

Hernia Baby
Hernia Baby on 27 Aug 2022
interp2がそれに近しいかと思います。
まずは適当なデータを揃えます
このとき、xとyはmeshgridでグリッドにする必要があります。
x = -2:.2:1.2;
y = -2:.05:1.5;
[X,Y] = meshgrid(x,y);
V = peaks(X,Y);
可視化してみましょう
figure
surf(X,Y,V)
さてここで ( x, y ) = ( 0.1, 0.3 ) の数字を線形補間で取り出してみましょう
Vp = interp2(X,Y,V,0.1,0.2)
Vp = 0.3324
可視化もしてみましょうか
figure
surf(X,Y,V,'FaceAlpha',0.4,'EdgeAlpha',0.2)
hold on
scatter3(0.1,0.2,Vp,30,'r','filled')
  3 Comments
Hernia Baby
Hernia Baby on 27 Aug 2022
補足ありがとうございます!図示するためのグリッド化でしたね。なので、今回いただいた補足がやりたい事の回答になります。
SHromaneko
SHromaneko on 29 Aug 2022
お二方
大変ありがとうございました。
意図通りのことができました。

Sign in to comment.

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!