Integrate a spline function squared
10 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Ben Johannesson
il 22 Nov 2015
Modificato: John D'Errico
il 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 Commenti
Risposta accettata
John D'Errico
il 23 Nov 2015
Modificato: John D'Errico
il 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Splines in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!