plot error variables not same length
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Alia Hicks
il 13 Ago 2020
Commentato: hosein Javan
il 13 Ago 2020
I'm highly suspicious that the error has to do with line 26, "f = fs*(0:Nsamps/2-1)/Nsamps; " The error I get when I run the program below is:
"Error using plot Vectors must be the same length. Error in CleanAdaptFiltered (line 31) plot(f, y_fft);"
f is a row 1x2000 Nsamps size? I'm not sure of. Something to with the lengthe of t? t is row 1x4001. I've changed too Nsamps = length(ich) and changing line 26 too, "f = fs(1/(dt*Nsamps)*(0:Nsamps));" and "f = 1/(dt*Nsamps)*(0:Nsamps);", same problem.
load AdaptiveFilteredData
d = AdaptiveFilteredData;
fs =100;
dt = .001;
t = 0:dt:4.0001;
%ich = AdaptiveFilteredData.ichannel;
%qch = AdaptiveFilteredData.qchannel;
%plot(ich,qch);
%%PLOTS
%plot(t,ich);
%plot(t,qch);
figure;
plot(t,ich)
xlabel('time(s)');
ylabel('Amplitude');
grid on
Nsamps = length(t); % Window length
y_fft = abs(fft(ich)); %Retain Magnitude
f = fs*(0:Nsamps/2-1)/Nsamps; %Prepare freq data for plot
figure;
plot(f, y_fft); % FFT plot
xlim([0 1]);
xlabel('Frequency(Hz)');
ylabel('FFT Magnitude');
grid on
2 Commenti
Mario Malic
il 13 Ago 2020
Why do you divide by 2 in this line? If you want to plot(x,y), both of them have to have the same number of columns.
f = fs*(0:Nsamps/2-1)/Nsamps;
hosein Javan
il 13 Ago 2020
because the task is to plot a single-sided fourier transform spectrum. see matlab examples of how to use fft.
Risposta accettata
hosein Javan
il 13 Ago 2020
try this if could resolve the problem. I have selected those elemnts of "y_fft" corresponding to "f" vector.
plot(f, y_fft(1:length(f))); % FFT plot
2 Commenti
hosein Javan
il 13 Ago 2020
don't mention it. y_fft is all nans? then we've got another problem calculating y_fft. yes if it is all nans no wonder the plot is empty.
what about plot(t,ich)?
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Spectral Measurements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!