Finding domain and range with polyfit/polyval

2 views (last 30 days)
Joshua Wille
Joshua Wille on 17 Jan 2021
Edited: Matt J on 17 Jan 2021
I have coefficients to an 17th order polynomial that fits my data well. When I zoom into the graph from y=0 to y=15 this is what I see. I want MatLab to tell me the time it takes the top curve to go from y=0 to y=15.
Someone told me to use polyval(coef,15) - polyval(coef,0) But that gave me 5.9235e+09 when it should be something like 3.8 seconds.

Answers (1)

Matt J
Matt J on 17 Jan 2021
Edited: Matt J on 17 Jan 2021
In theory, you would do,
[c1,c2]=deal(coef);
c2(end)=c2(end)-15;
r1=roots(c1);
r2=roots(c2);
time=r2(r2>43 & r2<45) - r1(r1>37 &r1<39);
However, in practice, root finding operations for polynomials of super-high order are mumerically unstable, see

Categories

Find more on Spline Postprocessing in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!