绘制西储大学数据集mat文件的频域图。有斜线扰动

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()  # 关闭当前绘图窗口,以便继续绘制下一个频域图
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值