How to make a for loop for fft?
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Cell Final is (1x15) and it has vectors each 1x2545. I want to run fft function for each vector of cell Final using a for loop. Ultimately I have to compare data from all the 15 row vectors. Here what I have tried:
Final=1x15 cell and each element is a 1x2545 vector
Fs = 1.0173e+03; % Sampling frequency
L = 2500; % Length of signal
NFFT = 2^nextpow2(L);
f=Fs/2*linspace(0,1,NFFT/2+1);
for yy=1:length(Final);
YY= fft(Final(1),NFFT)/L;
YY(1)=[];
power=(2*abs(YY(1:NFFT/2+1)));
plot(f,power);
end
0 Kommentare
Akzeptierte Antwort
Geoff Hayes
am 16 Feb. 2016
Sag - if Final is a cell array, then your for loop would look something like
for k = 1:length(Final)
YY = fft(Final{k},NFFT)/L;
% etc.
end
Note how we use the indexing variable k to access the kth cell element of Final using the braces {}.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!