91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .py
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-14
  • 語言: Python
  • 標簽: emd??

資源簡介

傳統的經驗模態分解,適合初級的研究生學習故障診斷,信號處理方式。

資源截圖

代碼片段和文件信息

#-*-?coding:?utf-8?-*-

import?math
import?numpy?as?np
import?pylab?as?pl
import?matplotlib.pyplot?as?plt
import?scipy.signal?as?signal
from?scipy?import?fftpack
from?scipy.fftpack?import?fft?ifft
import?scipy.signal?as?signal
from?scipy?import?interpolate


#?判定當前的時間序列是否是單調序列
def?ismonotonic(x):
????max_peaks?=?signal.argrelextrema(x?np.greater)[0]
????min_peaks?=?signal.argrelextrema(x?np.less)[0]
????all_num?=?len(max_peaks)?+?len(min_peaks)
????if?all_num?>?0:
????????return?False
????else:
????????return?True


#?尋找當前時間序列的極值點
def?findpeaks(x):
????return?signal.argrelextrema(x?np.greater)[0]

#?判斷當前的序列是否為?IMF?序列
def?isImf(x):
????N?=?np.size(x)
????pass_zero?=?np.sum(x[0:N?-?2]?*?x[1:N?-?1]?????peaks_num?=?np.size(findpeaks(x))?+?np.size(findpeaks(-x))??#?極值點的個數
????if?abs(pass_zero?-?peaks_num)?>?1:
????????return?False
????else:
????????return?True


#?獲取當前樣條曲線
def?getspline(x):
????N?=?np.size(x)
????peaks?=?findpeaks(x)
????print?(‘當前極值點個數:‘?len(peaks))
????if?(len(peaks)?<=?3):
????????if?(len(peaks)?????????????peaks?=?np.concatenate(([0]?peaks))
????????????peaks?=?np.concatenate((peaks?[N?-?1]))??#?這里是為了防止樣條次數不夠,無法插值的情況
????????t?=?interpolate.splrep(peaks?y=x[peaks]?w=None?xb=None?xe=None?k=len(peaks)?-?1)
????????return?interpolate.splev(np.arange(N)?t)
????t?=?interpolate.splr

評論

共有 條評論