Errors Computing the Energy of fft

2 次查看(过去 30 天)
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);

采纳的回答

Aman Vyas
Aman Vyas 2020-8-11
编辑:Aman Vyas 2020-8-11
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 !

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Computations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by