Excel数据导入MATLAB并做出时域频域图的MATLAB代码
时间: 2024-02-12 07:05:01 浏览: 146
Matlab代码,将时域信号转换成频域信号,附带汇报PPT
5星 · 资源好评率100%
以下是一个简单的Excel数据导入MATLAB并绘制时域和频域图的MATLAB代码示例:
```matlab
% 导入Excel数据
data = xlsread('data.xlsx');
% 获取采样率和数据点数
Fs = 1000; % 假设采样率为1000Hz
n = size(data, 1);
% 绘制时域图
t = (0:n-1)/Fs;
figure;
plot(t, data);
xlabel('Time (s)');
ylabel('Amplitude');
title('Time Domain');
% 进行傅里叶变换并绘制频域图
Y = fft(data);
P2 = abs(Y/n);
P1 = P2(1:n/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(n/2))/n;
figure;
plot(f, P1);
xlabel('Frequency (Hz)');
ylabel('Amplitude');
title('Frequency Domain');
```
在这个示例中,我们假设数据存储在名为data.xlsx的Excel文件中,采样率为1000Hz。首先使用xlsread函数将数据导入MATLAB工作区,然后计算时间向量t并使用plot函数绘制时域图。接下来,我们使用fft函数进行傅里叶变换,并使用abs函数获取振幅谱。由于FFT输出的频谱是对称的,我们只需使用前半部分来绘制频域图。最后,我们使用plot函数绘制频域图,其中x轴为频率,y轴为振幅。
阅读全文