Numerical integration Error in size of elements

Hi all
I have a function to integrate , the problem is , for any amount of x that contains zero , the size of g matrix becomes one smaller , like x : 1x19 and g :1x18 , what happens to g when I calculate it's square root ??? what changes the dimension ? since this integration needs that x and g be of the same dimension
x=[-p/2:1:p/2];
f= c*sin(a/p*x);
g=sqrt(1+(diff(f)).^2);
integ=trapz(x,g)

 Accepted Answer

Because diff will reduce the length of g , use
integ=trapz(x(1:end-1),g)

2 Comments

Farzad commented
Thank you so much Azzi , just to know about it , why diff reduces the length ? and there is one other command : derivative , can it be used in this condition ? in general ?
You can use gradient function

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!