How do I numerical integrate polynomial coefficients to a high order?

9 views (last 30 days)
Rajin on 12 Dec 2013
Commented: Rajin on 16 Dec 2013
I have the coefficients of a polynomial of order 12 given to me using polyfit (it was fitted to model a probability density function). I now need to use the given polynomial f(x), multiply it by x^2, and integrate it over a given boundary.
I have tried using the integral function: integral(fun,xmin,xmax), where: fun = @(x) poly2sym(f) and f is the coefficients given by polyfit, but this doesn't work.
Any ideas? Apologies if this seems trivial, I have tried everything!
Thanks in advance, Rajin

Accepted Answer

Mike Hosea
Mike Hosea on 16 Dec 2013
Edited: Mike Hosea on 16 Dec 2013
Suppose p is a polynomial in MATLAB (a vector of coefficients). Multiplying by x^2 and integrating could be done by
Q = integral(@(x)polyval([p,0,0],x),xmin,xmax)
But how about
pint = polyint([p,0,0]);
Q = polyval(pint,xmax) - polyval(pint,xmin);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!