Piecewise polynomial integration (ppint)

3 次查看(过去 30 天)
Is the command piecewise polynomial integration (ppint) not working anymore? Below is an example given by an old member of the community https://de.mathworks.com/matlabcentral/fileexchange/13812-splinefit?focused=7896654&tab=function:
x = linspace(-pi,pi,7);
y = sin(x);
plot(x,y)
hold on
pp = interp1(x,y,x,'spline');
plot(x,pp+0.1)
I = ppint(pp,1)
'Undefined function or variable' error comes up. If it is not available anymore, what is the alternative for such a case?

回答(2 个)

John D'Errico
John D'Errico 2018-4-12
编辑:John D'Errico 2018-4-12
Just use fnint.
x = linspace(0,2*pi,20);
y = sin(x);
pp = spline(x,y);
ppcos = fnint(pp);
fnplt(ppcos)
As you can see, we get effectively -cos(x). Of course, the constant of integration is missing.
  2 个评论
Jamal Nasir
Jamal Nasir 2018-4-12
Thank you for your answer. Unfortunately, our matlab license doesn't include that functionality. We need to change that. Could you please, anyways, also tell me the double integration function? I actually need to fit ESR/EPR data and then double integrate to quantify the electron spins.
John D'Errico
John D'Errico 2018-4-12
I think fnint comes with the curvefitting toolbox. The curve fitting toolbox is well worth obtaining.
If you had fnint, then the double integral would be just
fnint(pp,2)
I could write a ppint code, but it looks like Walter has already offered a source.

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2018-4-12

类别

Help CenterFile Exchange 中查找有关 Spline Postprocessing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by