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

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

Risposta accettata

Shunichi Kusano
Shunichi Kusano il 5 Lug 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 Commento
Kazu Ari
Kazu Ari il 6 Lug 2021
ご教示ありがとうございます。
この方法で実現できました。

Accedi per commentare.

Più risposte (2)

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

Accedi per commentare.


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

Accedi per commentare.

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!