How do i get both values of x for y=3.5

3 views (last 30 days)
Kalyan Dash
Kalyan Dash on 10 Feb 2018
Answered: Walter Roberson on 17 Feb 2018
x=0:0.001:3.5;
y=5*sin(x);
figure
plot(x,y);
grid ON
target =3.5
[difference, index_At_target] = min(abs(y-target));
xtarget = x(index_At_target)
The result is showing only one output as xtarget=2.3660, where as there are two values of x for same y value. I want to obtain the other value from plot not by solving for y.
Result
xtarget =
2.3660

Answers (1)

Walter Roberson
Walter Roberson on 17 Feb 2018
[sorted_difference, sort_index] = sort(abs(y-target));
xtarget = sort(x(sort_index(1:2)));

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!