Integrate a spline function squared
9 views (last 30 days)
Show older comments
Ben Johannesson
on 22 Nov 2015
Edited: John D'Errico
on 23 Nov 2015
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?
0 Comments
Accepted Answer
John D'Errico
on 23 Nov 2015
Edited: John D'Errico
on 23 Nov 2015
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?
0 Comments
More Answers (0)
See Also
Categories
Find more on Splines 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!