Matlab 如何使用“查找”功能查找特定坐标?

Matlab 如何使用“查找”功能查找特定坐标?,matlab,Matlab,对于Matlab,我得到了一个函数y=3x+4 当y=25000时,我需要使用“查找”功能查找x值。 我试过x=find(y==25000)但什么也没有收到。我知道这个函数返回非零值的索引。但不确定在这种情况下如何使用它。这通常需要求解,因为您正试图求解一个方程 除非您已经有了一个具有正确值的向量,否则在这种情况下,您可以像这样使用find: x = 0:25000 y = 3*x+4 x(find(y==25000)) 确保检查doc find和doc solve以了解它们都做了什么。这通

对于Matlab,我得到了一个函数
y=3x+4
当y=25000时,我需要使用“查找”功能查找x值。
我试过
x=find(y==25000)
但什么也没有收到。我知道这个函数返回非零值的索引。但不确定在这种情况下如何使用它。

这通常需要
求解
,因为您正试图求解一个方程

除非您已经有了一个具有正确值的向量,否则在这种情况下,您可以像这样使用
find

x = 0:25000
y = 3*x+4

x(find(y==25000))

确保检查
doc find
doc solve
以了解它们都做了什么。

这通常需要
solve
,因为您正在尝试解方程

除非您已经有了一个具有正确值的向量,否则在这种情况下,您可以像这样使用
find

x = 0:25000
y = 3*x+4

x(find(y==25000))

确保检查
doc find
doc solve
以了解两者的作用。

您应该寻找最佳匹配,而不是精确的结果:

x = 0:0.1:50000;
y = 3*x+4;
[value,index] = min(abs(y-25000))
x(index)
y(index) 

您应该寻找最佳匹配,而不是精确的结果:

x = 0:0.1:50000;
y = 3*x+4;
[value,index] = min(abs(y-25000))
x(index)
y(index) 

哦,谢谢!我将研究solve函数。关于find函数的编码,我尝试了它,它返回了[],我假设它什么都没有。我忘了提到,对于x,我有一个从0到0.1的linspace函数,这会影响它吗?@user3509716如果你想将它用于浮点数或不精确的匹配,你可能想尝试类似于:
max(x(y@user3509716好吧,如果
x
0
变为
0.1
,那么
y
将从
4
变为
4.3
,所以你根本没有机会找到
25000
。哦,抱歉,我用y=3x+4作为示例方程,因为我使用的方程要大得多。因为如果您的用例使用了更大的等式,那么在比较float和==运算符时最好小心。哦,谢谢!我将研究solve函数。关于find函数的编码,我尝试了它,它返回了[]我想这算不了什么。我忘了提到我有一个从0到0.1的linspace函数用于x,这会影响它吗?@user3509716如果你想将它用于浮点数或不精确的匹配,你可能想试试类似的东西:
max(x(y@user3509716好吧,如果
x
0
变为
0.1
,那么
y
将从
4
变为
4.3
,所以你根本没有机会找到
25000
。哦,抱歉,我用y=3x+4作为示例方程,因为我使用的方程要大得多。因为如果您的用例使用了一个更大的等式,那么在比较float和==运算符时最好小心。