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

3 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.
1 CommentShow -1 older commentsHide -1 older comments
darova on 12 Mar 2020
Do you have polyxpoly? Or intersections

Sign in to comment.

Accepted Answer

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.
3 CommentsShow 1 older commentHide 1 older comment
Nora Khaled on 15 Mar 2020
Thank you!
one thing though, I don't understand what the array function does?
Walter Roberson on 15 Mar 2020
https://www.mathworks.com/help/matlab/ref/arrayfun.html

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!