【发布时间】:2014-08-04 21:06:53
【问题描述】:
对于 Matlab,我得到了一个函数 y= 3x+4
当y = 25000 使用'find' 函数时,我需要找到x 值。
我试过x = find(y == 25000) 并没有收到任何东西。我知道该函数返回非零值的索引。但不确定如何在这种情况下使用它。
【问题讨论】:
标签: matlab
对于 Matlab,我得到了一个函数 y= 3x+4
当y = 25000 使用'find' 函数时,我需要找到x 值。
我试过x = find(y == 25000) 并没有收到任何东西。我知道该函数返回非零值的索引。但不确定如何在这种情况下使用它。
【问题讨论】:
标签: matlab
这通常需要solve,因为您正在尝试求解方程。
除非您已经有一个具有正确值的向量,否则您可以像这样使用find:
x = 0:25000
y = 3*x+4
x(find(y==25000))
请务必查看 doc find 和 doc solve 以了解它们的作用。
【讨论】:
max(x(y<=25000)) --- 如果y 不是单调的,您也可以在 Google 上搜索ismemberf 文件交换提交。
x 从0 变为0.1,那么y 将从4 变为4.3,所以你没有找到25000的机会。
您应该寻找最佳匹配而不是精确结果:
x = 0:0.1:50000;
y = 3*x+4;
[value,index] = min(abs(y-25000))
x(index)
y(index)
【讨论】: