Hello; Can someone please help me matlab doesn't plot my excel data it show the axis only I am trying to make spectral analysis.i have attested the excel file and code as well.
1 回表示 (過去 30 日間)
古いコメントを表示
filename = 'datacollect2.xlsx';
N = length(filename);
fs = 400;
fnyquest = fs/2;
num = xlsread(filename);
y = num(: ,2);
mags = abs(fft(y));
bin_vals = [0 : N-1];
fax_Hz = bin_vals*fs/N;
N_2 = ceil(N/2);
plot(mags(1:N_2),fax_hz(1:N_2))
xlabel('Frequency (Hz)')
ylabel('Power (dB)');
title('Single-sided Power spectrum (Hertz)');
axis tight
5 件のコメント
採用された回答
dpb
2017 年 5 月 15 日
編集済み: dpb
2017 年 5 月 15 日
filename = 'datacollect2.xlsx';
N = length(filename);
fs = 400;
fnyquest = fs/2;
num = xlsread(filename);
y = num(: ,2);
mags = abs(fft(y));
bin_vals = [0 : N-1];
Probably biggest problem is you've used the length of the filename as the length of the data. The file name is just that; the string containing the name of the file on the disk, it has nothing whatsoever to do with the data contained in the file.
Here,
>> filename = 'datacollect2.xlsx';
N = length(filename)
N =
17
>>
so all you've plotted are the first 9 points out of the arrays; not much at all... :)
N = length(y);
after you've defined y will undoubtedly help a lot, particularly when you get the roles of X,Y corrected in the plot statement.
You may want to also plot 2*abs(fft(y))/N to normalize the spectrum amplitude to input. See
doc fft % example there shows some other details as well
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Data Distribution Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!