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

6 vues (au cours des 30 derniers jours)
%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

Réponse acceptée

Daniel M
Daniel M le 23 Oct 2019
Modifié(e) : Daniel M le 26 Oct 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.

Plus de réponses (0)

Catégories

En savoir plus sur Numerical Integration and Differentiation dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by