Why do I get a wrong value?

2 vues (au cours des 30 derniers jours)
Ani Asoyan
Ani Asoyan le 10 Juin 2020
Modifié(e) : Paresh yeole le 10 Juin 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 commentaire
Paresh yeole
Paresh yeole le 10 Juin 2020
Modifié(e) : Paresh yeole le 10 Juin 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 :

Connectez-vous pour commenter.

Réponse acceptée

madhan ravi
madhan ravi le 10 Juin 2020
Modifié(e) : madhan ravi le 10 Juin 2020
X = interp1(g,x,g(2))
%or
X = x(abs( g - g(2) ) < 1e-2)
  1 commentaire
Ani Asoyan
Ani Asoyan le 10 Juin 2020
thank you !

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by