グラフのy座標の値(1点)を返す関数ってありますか??
32 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
質問
・表示したグラフ(自分の場合、複雑なsinc関数です)のx座標を指定したときに、y座標を返してくれるMATLABの関数があれば教えていただきたいです。
(例:y=2xというグラフなら、x=1を引数とすると、y=2と返してくれる関数)
(注)引数は整数nではなく、x座標です。nがとても大きな数字で、そのx座標に対応するnを見つけるのが困難なため、y座標を得ることができなく困っています。
以上、素人質問で大変恐縮ですが、どなたか教えていただけると幸いです。
0 comentarios
Respuestas (3)
Atsushi Ohashi
el 25 de Feb. de 2021
関数の式を無名関数として定義し、それを利用してはいかがでしょうか。
>> f = @(x) 2*x;
>> f(2)
ans =
4
0 comentarios
Hernia Baby
el 27 de Feb. de 2021
Editada: Hernia Baby
el 27 de Feb. de 2021
論理値によるインデックス付けをしてみてはどうでしょう? aを任意の値とします。
y(x==a)
とすれば、x=aのときのyが返ってきます。
逆に bをyの任意の点として
x(y==b)
とすればy=bのときのxが返ってきます。
0 comentarios
OH
el 27 de Feb. de 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 comentarios
Ver también
Categorías
Más información sobre グラフとネットワーク アルゴリズム en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!