MATLAB Answers

Errors Computing the Energy of fft

2 views (last 30 days)
I am trying to calculate the energy of a Fourier Transform.
gt= 3.*triangularPulse((t-0.004)/0.002)-6.*triangularPulse((t-0.002)/0.001);
Gf1=@(f) abs(fft(gt)).^2;
EGf=integral(Gf1,0,3000)
However, I keep getting the following errors:
Error using integralCalc/finalInputChecks (line 526)
Output of the function must be the same size as the input. If FUN is an array-valued integrand, set the 'ArrayValued' option to true.
Error in integralCalc/iterateScalarValued (line 315)
finalInputChecks(x,fx);
Error in integralCalc/vadapt (line 132)
[q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
Error in integralCalc (line 75)
[q,errbnd] = vadapt(@AtoBInvTransform,interval);
Error in integral (line 88)
Q = integralCalc(fun,a,b,opstruct);

Accepted Answer

Aman Vyas
Aman Vyas on 11 Aug 2020
Edited: Aman Vyas on 11 Aug 2020
Hi,
You can check this code. Worked fine for me.
gt= (3.*triangularPulse((t-0.004)/0.002))-(6.*triangularPulse((t-0.002)/0.001));
Gf1=@(f) abs(fft(gt)).^2;
EGf=integral(Gf1,0,3000,'ArrayValued',1)
Hope it helps !
  1 Comment
Mohammed Alsubhi
Mohammed Alsubhi on 12 Aug 2020
Thank you Aman, that fixed my issue.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by