import os import scipy.io as sio import numpy as np import matplotlib.pyplot as plt # 指定文件夹路径和文件类型 folder_path = 'C:/Users/喃文强/Desktop/105/105切片mat' file_type = '.mat' # 指定频域图保存路径 save_folder_path = r'C:/Users/喃文强/Desktop/105/频域图' # 如果保存路径不存在,则创建 if not os.path.exists(save_folder_path): os.makedirs(save_folder_path) # 遍历文件夹 for filename in os.listdir(folder_path): if filename.endswith(file_type): # 读取MATLAB文件中的数据 file_path = os.path.join(folder_path, filename) data = sio.loadmat(file_path)['X_chunk'] # 假设数据存储在名为'data'的变量中 # 计算信号的频域信息 freq_data = np.fft.fft(data) freq = np.fft.fftfreq(len(data)) * len(data) # 绘制频域图 plt.plot(freq, np.abs(freq_data)) plt.xlabel('Frequency') plt.ylabel('Amplitude') plt.title('Frequency Domain Plot of ' + filename) # 保存频域图 save_filename = os.path.splitext(filename)[0] + '.png' save_path = os.path.join(save_folder_path, save_filename) plt.savefig(save_path) plt.close() # 关闭当前绘图窗口,以便继续绘制下一个频域图
绘制西储大学数据集mat文件的频域图。有斜线扰动
最新推荐文章于 2024-07-23 16:23:28 发布