Plotさせたグラフ​から、Xの値を指定し​てYの値を知りたい

66 views (last 30 days)
Kazu Ari
Kazu Ari on 5 Jul 2021
Commented: Kazu Ari on 6 Jul 2021
あるデータからXになる1X1行列、Yになる1X1行列を指定してグラフをPlotしています。
(Plotしたグラフからでなくとも良いのですが)Xの値を指定してYの値を知ることは出来ますか?
Xの行列に指定した値があるとは限りません。
簡単に知るコマンドがあれば良いのですが。
宜しくお願いします。

Accepted Answer

Shunichi Kusano
Shunichi Kusano on 5 Jul 2021
ご質問の意図とは違うかもしれませんが、指定した値があるかは限らない、ということですのでinterp1関数が適当かと思いました。
yq = interp1(x,y,xq);
と使います。x,yはお手持ちのデータ(様々なxに対するyの値、それぞれ同じサイズのベクトル)、xqにおけるyの値yqを返してくれます。
% 使い方の例
x = [1 2 3 4];
y = [5 6 7 8];
yq = interp1(x,y,1.5)
yq = 5.5000
  1 Comment
Kazu Ari
Kazu Ari on 6 Jul 2021
ご教示ありがとうございます。
この方法で実現できました。

Sign in to comment.

More Answers (2)

Hernia Baby
Hernia Baby on 5 Jul 2021
Edited: Hernia Baby on 5 Jul 2021
indexを抽出するのはいかがですか? X=aのときのYを出力する場合
if true
Y(X==a)
end
  2 Comments
Hernia Baby
Hernia Baby on 5 Jul 2021
ちなみにあるかないかは sum(X==0)で判定できます。
どこにあるかを知りたい場合はfind関数を使います。
Kazu Ari
Kazu Ari on 5 Jul 2021
ご教示ありがとうございます。
残念ながらデータにある値だけしか判らないようでした。

Sign in to comment.


Atsushi Ueno
Atsushi Ueno on 5 Jul 2021
>(Plotしたグラフからでなくとも良いのですが)Xの値を指定してYの値を知ることは出来ますか?
コマンドについては既に回答が出ていますが、Plotしたグラフからでも出来ます。
プロット画面のツールメニューから「基本的な近似」を選び各種補間を実施した後グラフ上をクリックすると、任意のXの値を指定してYの値を知ることが出来ます。操作は添付図の通りGUIで直感的に出来ます。既に出ている回答を含め、あらゆる手段があります。
  1 Comment
Kazu Ari
Kazu Ari on 6 Jul 2021
ご教示ありがとうございます。
この方法だと、複雑なグラフでなければ*.figファイルのデータからも内挿できるのですね。
大変参考になりました。

Sign in to comment.

Categories

Find more on 2 次元および 3 次元プロット in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!