# How to find the solution of inverse function ?

71 views (last 30 days)
SeokWon CHOI on 24 Nov 2020
Commented: Stephan on 24 Nov 2020
Hello, I have some question for solving matlab.
if x = [1 2 3 4 5 6 7] and y = [3.6 1.8 1.2 0.9 0.72 1.5 0.51429]
I want to find f(x) = 1.7 and inverse of f(1.7) (quadratic form)
The code I implemented is
>> x = [1 2 3 4 5 6 7]; y = [3.6 1.8 1.2 0.9 0.72 1.5 0.51429];
>> p = polyfit(x,y,2);
>> syms x;
>> fx = p(1)*x^2 + p(2)*x + p(3);
>> gx = finverse(fx,x);
>> gx(1.7) // error! (The index exceeds the number of array elements (1).)
Why does gx(1.7) throw an error? What should I do for getting gx(1.7) ?

Stephan on 24 Nov 2020
x = [1 2 3 4 5 6 7];
y = [3.6 1.8 1.2 0.9 0.72 1.5 0.51429];
p = polyfit(x,y,2)
syms x
fx(x) = poly2sym(p)
gx(x) = finverse(fx)
sol = gx(1.7)
sol_num = double(sol)
##### 2 CommentsShowHide 1 older comment
Stephan on 24 Nov 2020
poly2sym creates symbolic polynomial from vector of coefficients - this is what you need to do here. Also there are 2 different symbolic data types namely sym and symfun, which lets you calculate values with symbolic functions.

### Categories

Find more on Calculus 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!

Translated by