Clear Filters
Clear Filters

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

1 view (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 Graphics 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!