how to set limits of integration (for example: 0:inf) for a vector using trapz tool ?

3 Ansichten (letzte 30 Tage)
%defining a linear modulated signal
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = 5000; % Length of signal
t = (0:L-1)*T; % Time vector
a=chirp(t,5,max(t),20,'linear');
f=fft(a);
F=(0:L-1)/Fs;
e=trapz(F,(abs(f).^2));
%finding the average frequency
x=trapz(F,F.*abs(f).^2);
AVG=x./e
Untitled.png

Akzeptierte Antwort

Daniel M
Daniel M am 23 Okt. 2019
Bearbeitet: Daniel M am 26 Okt. 2019
Your vector of frequencies is not correct, because fft returns the negative frequencies first, followed by the positive frequencies. I suggest looking at the documentation for fft.
Otherwise, trapz will integrate over whatever values you provide it. If you want it to integrate over a certain interval, only pass those elements as inputs. You can also look into integral().
Correction: fft returns the frequencies in the following order: zeroth frequency, positive frequencies up to the Nyquist freq, followed by the negative frequencies in ascending order.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by