我有一个很简单的问题,但我找不到错误的地方。我在y轴上有两个信号,一个相同的x轴和两个信号值。我需要在黑线上找到绿色信号的y值,所以蓝色信号的y值是50.05。应该在6-7之间。我认为我应该首先得到相同的x值(4.676)。然后得到绿色信号的y值,其中x是4.676。所以我需要得到第一个4.676,但我不能得到给定y值的x。我试过了,但它总是空着的。
xvalue = interp1(x_bluesignal,y_bluesignal, 50.05)
和
idx = find(x_bluesignal == 50.05);
Xidx = x_bluesignal(idx);有什么想法吗?谢谢!

发布于 2018-08-29 15:19:25
在这两次尝试中,您实际上都在向MATLAB询问y值,其中x为50.05,而不是您想要的查询。
两者都有
xvalue = interp1(y_bluesignal,x_bluesignal, 50.05)
和
idx = find(y_bluesignal == 50.05); Xidx = x_bluesignal(idx);
如果在y=50.05有输入的数据点(如果这是一个计算值,请使用上述注释中的公差),则interp方法可以工作。
https://stackoverflow.com/questions/52080825
复制相似问题