Finding domain and range with polyfit/polyval

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.

답변 (1개)

Matt J
Matt J 2021년 1월 17일
편집: Matt J 2021년 1월 17일

1 개 추천

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

카테고리

도움말 센터File Exchange에서 Polynomials에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2021년 1월 17일

편집:

2021년 1월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by