matlab - 给定 y 值的 X 值
问题描述
我有一个非常简单的问题,但我找不到我的错误。我有两个信号,一个相同的 x 轴和 y 轴上的两个信号值。我需要在黑线上找到绿色信号的 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);
任何想法?谢谢!
解决方案
正如@obchardon 在评论中指出的那样,您想要在 x 值上进行插值,而不是在 y 值上进行插值。作为一个简单的示例,请考虑以下内容:
%Plot two original lines
x = linspace(0,20,101);
y1 = 5*x+2;
y2 = 3*x+5;
plot(x, y1, 'b', x, y2 ,'g'); hold on
%Plot intersection line at desired y_interest value
y_interest = 50.05;
xvalue = interp1(y1, x, y_interest);
plot([xvalue, xvalue], [0, 100], 'k--')
x_interest = interp1(x, y2, xvalue);
这将产生以下图:
在 x 上插值以找到正确的 x 值后,您可以将该值提供给绿色曲线的 y 值上的下一个插值。在上面的示例中,这将输出33.8300
.
推荐阅读
- mysql - 如何在尝试添加外键时修复错误 1064
- html - 如何使用 Nebular 设置预选选项,nb-select
- python - 如何在 Django 模型表单中的 PasswordInput 上应用占位符属性?
- django - Django:精确查找的 QuerySet 值必须使用切片限制为一个结果
- c# - MongoDB 驱动程序不插入列表
C# 模型的属性作为数组 - laravel - 每当我尝试在路线上指定变量时,网页都会失真
- python - 如何在单元格具有指定值的二维掩码中查找 top_left、top_right、bottom_left、right 坐标?
- java - 如何在rest api中编写自定义验证?
- hadoop - 什么是 MapReduce 应用程序主控?
- reactjs - 如何在我的自定义库中从 antd 库中导出 Row、Col 等组件而不进行任何更改?