plotting a symbolic function
10 views (last 30 days)
Show older comments
i need to create symbolic function f(x) equalling ((3*x-5)/(x-3))
then make symbolic equation, invEqn, by setting x equal to f(y).
solve function to solve invEqn for y and use expression to define the symbolic function finv(x)
Plot f and f^-1 on the same axes.using fplot.
can someone write me a code not sure where to start
Answers (1)
Cris LaPierre
on 20 Oct 2020
Edited: Cris LaPierre
on 20 Oct 2020
2 Comments
Walter Roberson
on 20 Oct 2020
The first parameter to fplot() must be a symbolic expression or symbolic function or function handle.
The second parameter to fplot() must be the range to plot over.
invEqn = x == f(x);
No,
invEqn = y == f(x);
which you need to solve for x, and the result needs to be a function of y, not a function of x (watch out for what you assign the output to!)
Note: it happens that for functions of the form (A*X-B)/(x-A) that the solution is x = (A*Y-B)/(Y-A) -- just replacing the X with Y. If you plot over the same range, you are not going to be able to tell the functions apart.
This is not something that happens in general, only for that special form. If it were (A*X-B)/(x-C) then the solution would be (C*Y-B)/(Y-A) with the constant having moved from the denominator to the numerator... but your constants are the same between numerator and denominator.
Rik
on 21 Oct 2020
Deleted comment:
done this so far:
syms y x f(x) finv(x)
f(x) = ((3*x-5)/(x-3)) ;
Eqn = f(x)==((3*x-5)/(x-3));
invEqn = x == f(x);
finv(x)=invEqn;
fplot(x,f(x))
fplot(x,finv(x))
but its not plotting the graphs opens a blank graph and keeps giving me errors
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!