Finding approximate y values for corresponding x values in matlab
29 ビュー (過去 30 日間)
古いコメントを表示
Suppose I have a graph (formed from data) that has x and y values, but it is not analytic (so not continuous). I need to find a way such that for any x value, matlab will find the closest x value on the graph and give me the corresponding y value. Any ideas?
for example:
x y
1 2
2 5
3 8
4 13
5 23
6 49
So say that is my function, and I want to find the y value that corrisponds to x = 3.1 or 5.2, etc. The data is weird so I cant to a trivial linear approximation or something like that for the whole graph.
0 件のコメント
採用された回答
Fangjun Jiang
2019 年 5 月 31 日
interp1(x,y,3.1,'nearest')
2 件のコメント
Aleksandr Shmidt
2020 年 8 月 30 日
just ran the snip in the code, 'nearest' will aproximate to the closest value in the data instead of finding value by the trend
Fangjun Jiang
2020 年 8 月 31 日
That is what the OP wanted. "find the closest x value on the graph and give me the corresponding y value".
その他の回答 (1 件)
Santiago Alcantara
2022 年 2 月 10 日
A first aproach that you can use is the function "polyxpoly"( https://es.mathworks.com/help/map/ref/polyxpoly.html).
Another aproach is:
[val_1,idx_1]=min(abs(x-y))
This is usefull when the values are not exact values. You will find the minimun difference near to cero and exactly index to play with.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Graph and Network Algorithms についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!