Integrate a spline function squared
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ben Johannesson
el 22 de Nov. de 2015
Editada: John D'Errico
el 23 de Nov. de 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 comentarios
Respuesta aceptada
John D'Errico
el 23 de Nov. de 2015
Editada: John D'Errico
el 23 de Nov. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Splines en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!