# how to find value of x for a known value of y(x), using fplot?

8 views (last 30 days)
Nora Khaled on 12 Mar 2020
Commented: Walter Roberson on 15 Mar 2020
Hi !
I am using the function fplot to plot 5 functions. and the plot is working good.
now for each function I am trying to get the value of the x axis that makes the function equal to a certain value.
my current code is:
syms z(x)
z(x)=h(x)-f(x);
zValues=[0.6250 2.5000 10.0000 15.6250 22.5000];
%plot z(x)
figure;
fplot(z,'-','LineWidth',2)
axis([-35 35 -35 35]);
grid on;
yline(0);
xline(0);
and I get this plot: I want to use the variable zValues to get 5 x values. such that for the blue line z(x) = 0.625 then x= ...
is there a way to do that?
Edit/ Note:
if the function z(x) was only one plot ( say the blue one ) I can use this:
solve(z(x)==zValues,x)
in this case zValues would be be one constant not a vector.
darova on 12 Mar 2020
Do you have polyxpoly? Or intersections

Nora Khaled on 12 Mar 2020
The only way I was able to do this is to change z(x).
insted of having all the lines in one plot. I created a loop such that at each eteration z(x) is one line.
then I used
solve(z(x)==zValues,x)
it takes time but I got the results.
Walter Roberson on 15 Mar 2020
https://www.mathworks.com/help/matlab/ref/arrayfun.html