Why do I get a wrong value?

3 次查看(过去 30 天)
Hi.. here's my code
x=[0.1, 0.5, 1]
x_e=[0.1, 0.5, 1]
g=x.^2+2*x_e
g(2)
x(find(g(2)))
I want to find which x value corresponds to g function's 2nd value, but it gives me wrong answer: x=0.1, but the right one is x=0.5. How can I fix it?
  1 个评论
Paresh yeole
Paresh yeole 2020-6-10
编辑:Paresh yeole 2020-6-10
find(g(2))
will return 1 as g(2) is greater than zero.
if you have to find corresponding x value then use
find(x == g(2))
But in your case it will return empty vector as there is no value in x which is equal to 2nd value in g.
Read more about find :

请先登录,再进行评论。

采纳的回答

madhan ravi
madhan ravi 2020-6-10
编辑:madhan ravi 2020-6-10
X = interp1(g,x,g(2))
%or
X = x(abs( g - g(2) ) < 1e-2)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by