Error in using 'cumtrapz' for integration

Hello
I need to use 'cumtrapz' for a particular part of my project, but before that i am trying to understand how it works for multiple time cumulative integration. As a test, i was trying the following basic code:
ny = 101;
eta = linspace(-1,1,ny)';
f1 = sin(eta);
% Calculation of first cumulative integral
g1 = cumtrapz(eta,f1);
% Calculation of second cumulative integral
h1 = cumtrapz(eta,g1);
% Calculation of third cumulative intergal
k1 = cumtrapz(eta,h1);
We know that first integration of sinx is -cosx and then second intergration is -sinx.
So the value of g1 at each grid point must match {-cos(grid point) + cos(-1)}, Which it does.
But then the value of h1 at each grid point must match {-sin(grid point) + sin(-1)}, which it doesn't.
I was wondering why this happens.

 采纳的回答

Matt J
Matt J 2022-8-10
编辑:Matt J 2022-8-10
But next, value of h1 at each grid point must match {-sin(grid point value) - (-sin(-1))},
No, it will be -sin(x)+x*cos(-1) -( -sin(-1)-1*cos(-1))

3 个评论

Thank you for your response Matt J, could you kindly elaborate why?
What is the indefinite integral of f(x)=-cos(x)+c? It is g(x)=-sin(x)+c*x.
The definite integral from a to b is therefore,
g(b)-g(a) = (-sin(b)+c*b) - (-sin(a)+c*a)
Now, substitute in b=x and a=-1 and c=cos(-1).
Thank you Matt ! This really helped , i appreciate your time.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by