MATLAB: Integrate a spline function squared

spline squared integrate piecewise polynomial square

I used spline to find an piecewise polynomial for a function. I need to integrate that function squared. How can I do this in Matlab?

Best Answer

Not that hard to do.
x = linspace(0,2*pi,10);
y = cos(x);
spl = spline(x,y);
cnew = zeros(9,7);
for i = 1:9
cnew(i,:) = conv(spl.coefs(i,:),spl.coefs(i,:));
end
spl.coefs = cnew;
spl.order = 7;
splint = fnint(spl);
diff(fnval(splint,[0,2*pi]))
ans =
3.147
As a test, how well did we do?
syms u
int(cos(u)^2,[0,2*pi])
ans =
pi
Not too badly at all. I could easily have written the integrals of each segment directly, but as long as FNINT is there, why bother?
Related Question