Why do I get a wrong value?

3 Ansichten (letzte 30 Tage)
Ani Asoyan
Ani Asoyan am 10 Jun. 2020
Bearbeitet: Paresh yeole am 10 Jun. 2020
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 Kommentar
Paresh yeole
Paresh yeole am 10 Jun. 2020
Bearbeitet: Paresh yeole am 10 Jun. 2020
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 :

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

madhan ravi
madhan ravi am 10 Jun. 2020
Bearbeitet: madhan ravi am 10 Jun. 2020
X = interp1(g,x,g(2))
%or
X = x(abs( g - g(2) ) < 1e-2)

Weitere Antworten (0)

Kategorien

Mehr zu Performance and Memory finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by