グラフのy座標の値(1点)を返す関数ってありますか??
33 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
質問
・表示したグラフ(自分の場合、複雑なsinc関数です)のx座標を指定したときに、y座標を返してくれるMATLABの関数があれば教えていただきたいです。
(例:y=2xというグラフなら、x=1を引数とすると、y=2と返してくれる関数)
(注)引数は整数nではなく、x座標です。nがとても大きな数字で、そのx座標に対応するnを見つけるのが困難なため、y座標を得ることができなく困っています。
以上、素人質問で大変恐縮ですが、どなたか教えていただけると幸いです。
0 commentaires
Réponses (3)
Atsushi Ohashi
le 25 Fév 2021
関数の式を無名関数として定義し、それを利用してはいかがでしょうか。
>> f = @(x) 2*x;
>> f(2)
ans =
4
0 commentaires
Hernia Baby
le 27 Fév 2021
Modifié(e) : Hernia Baby
le 27 Fév 2021
論理値によるインデックス付けをしてみてはどうでしょう? aを任意の値とします。
y(x==a)
とすれば、x=aのときのyが返ってきます。
逆に bをyの任意の点として
x(y==b)
とすればy=bのときのxが返ってきます。
0 commentaires
OH
le 27 Fév 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
0 commentaires
Voir également
Catégories
En savoir plus sur グラフとネットワーク アルゴリズム dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!