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

99 ビュー (過去 30 日間)
Kazu Ari
Kazu Ari 2021 年 7 月 5 日
コメント済み: Kazu Ari 2021 年 7 月 6 日
あるデータからXになる1X1行列、Yになる1X1行列を指定してグラフをPlotしています。
(Plotしたグラフからでなくとも良いのですが)Xの値を指定してYの値を知ることは出来ますか?
Xの行列に指定した値があるとは限りません。
簡単に知るコマンドがあれば良いのですが。
宜しくお願いします。

採用された回答

Shunichi Kusano
Shunichi Kusano 2021 年 7 月 5 日
ご質問の意図とは違うかもしれませんが、指定した値があるかは限らない、ということですので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 件のコメント
Kazu Ari
Kazu Ari 2021 年 7 月 6 日
ご教示ありがとうございます。
この方法で実現できました。

サインインしてコメントする。

その他の回答 (2 件)

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

サインインしてコメントする。


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

サインインしてコメントする。

カテゴリ

Help Center および File Exchange2 次元および 3 次元プロット についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!