グラフのy座標の値(​1点)を返す関数って​ありますか??

19 Ansichten (letzte 30 Tage)
Saneyuki Shibata
Saneyuki Shibata am 22 Feb. 2021
Beantwortet: OH am 27 Feb. 2021
質問
・表示したグラフ(自分の場合、複雑なsinc関数です)のx座標を指定したときに、y座標を返してくれるMATLABの関数があれば教えていただきたいです。
(例:y=2xというグラフなら、x=1を引数とすると、y=2と返してくれる関数)
(注)引数は整数nではなく、x座標です。nがとても大きな数字で、そのx座標に対応するnを見つけるのが困難なため、y座標を得ることができなく困っています。
以上、素人質問で大変恐縮ですが、どなたか教えていただけると幸いです。

Antworten (3)

Atsushi Ohashi
Atsushi Ohashi am 25 Feb. 2021
関数の式を無名関数として定義し、それを利用してはいかがでしょうか。
>> f = @(x) 2*x;
>> f(2)
ans =
4

Hernia Baby
Hernia Baby am 27 Feb. 2021
Bearbeitet: Hernia Baby am 27 Feb. 2021
論理値によるインデックス付けをしてみてはどうでしょう? aを任意の値とします。
y(x==a)
とすれば、x=aのときのyが返ってきます。
逆に bをyの任意の点として
x(y==b)
とすればy=bのときのxが返ってきます。

OH
OH am 27 Feb. 2021
理解不足かも知れませんが、グラフはもう出力されていて、その図に対してx座標を入力してy座標を得るという認識です。
複雑なグラフなら工夫が必要ですが、これでいかがでしょうか。
clf;
hold on
x = 30;%出力が知りたいx座標
arr_x = 1:100;
arr_y = arr_x*2;
plot(arr_x,arr_y)%y=2xのグラフ描画
f = findobj(gca,'Type','line');%現在のfigから線に関するオブジェクトを探す
f_x = get(f,'Xdata');
f_y = get(f,'Ydata');
col = find(f_x == x);%x座標は何列目にあるか
y = f_y(col);%col列目のy座標を返す(恐らく欲しい値)
scatter(x,y)%確認用
hold off

Kategorien

Mehr zu グラフとネットワーク アルゴリズム finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!