Finding approximate y values for corresponding x values in matlab
30 次查看(过去 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!