PyEMD库的安装问题

废话比较多,但看完能解决问题就对了~

转载请注明出处!

具体的安装方式网上帖子很多,这里不一一赘述了,只讲一下我使用

pip install PyEMD

时遇到的问题

直接调用PyEMD时
直接调用PyEMD时

此时说的是没有PyEMD库,网上看到有人说要改成全小写

全小写调用

这个时候虽然错误类型一模一样,但是它变长了,我一开始没注意这个问题,后来才从这里找到了突破口

多出来的一段是进入了pyemd这个文件夹中,然后打开了init文件,在init文件里调用PyEMD库的时候报错了,也就是相当于from PyEMD import CEEMDAN.CEEEMAN的时候依旧报错没有库PyEMD。

聪明的同学可能已经猜到是什么问题了!

于是我打开了这个pyemd文件夹,发现里面确实有CEEMDAN、EEMD、EMD三个文件

pyemd文件夹

于是问题就呼之欲出了——安装时创建的文件夹是小写的pyemd(具体原因不详),但是init中以及网上的所有代码中写的都是PyEMD(仅有y小写),于是我们直接调用PyEMD时是找不到这个文件夹的,而如果调用pyemd,init中以及其它文件中写的依然是PyEMD,依旧找不到这个文件夹。

所以解决办法很简单,只要把文件夹名修改为PyEMD即可!!!

测试代码如下:

# 介绍文档中提供的测试代码
import numpy as np
from PyEMD import EMD,visualisation
import pylab as plt
# Define signal
t = np.linspace(0, 1, 200)
s = np.cos(11*2*np.pi*t*t) + 6*t*t

# Execute EMD on signal
IMF = EMD().emd(s,t)
N = IMF.shape[0]+1

# Plot results
plt.subplot(N,1,1)
plt.plot(t, s, 'r')
plt.title("Input signal: $S(t)=cos(22\pi t^2) + 6t^2$")
plt.xlabel("Time [s]")

for n, imf in enumerate(IMF):
    plt.subplot(N,1,n+2)
    plt.plot(t, imf, 'g')
    plt.title("IMF "+str(n+1))
    plt.xlabel("Time [s]")

plt.tight_layout()
plt.savefig('simple_example')
plt.show()

 

如果没有pyemd文件夹的话,可以试试网上其它帖子所说的

pip install EMD-signal

因为我之前PyEMD和EMD-signal都试了,也不清楚这个文件夹是哪个命令创建的。

求三连~~~(如果问题解决了的话)

  • 13
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值