gpt4 book ai didi

r - 从小波变换得到小波基

转载 作者:行者123 更新时间:2023-12-02 17:45:53 31 4
gpt4 key购买 nike

我一直在使用 R 包 wavethresh 来获得小波变换和分组小波变换。我可以很容易地在小波基础上得到小波变换的系数。但是,我无法获得小波基础。

目前我正在使用标准小波滤波器:Daubechies Least Asymmetric。

这是我的小波变换代码示例:

data <- cos(1:512/(10*pi))
wave <- wd(data)

对于小波包变换:

wave <- wp(Temperature[,1])
coeffs <- MaNoVe(wave.th)
l <- print(coeffs)

我已经尝试了一些小波包变换:

basis <- matrix(NA,length(l$level),512)
for (i in 1:length(l$level))
basis[i,] <- drawwp.default(l$level[i],l$pkt[i],resolution=512)

但我只得到了几个函数,而不是整个基础。此外,我不确定这些功能是否是我想要的。

这里是包文档的链接:wavethresh.pdf .但是,如果您在其他 R 包中有解决我的问题的方法,那也将是完美的 ;)

非常感谢您的帮助!

最佳答案

郑重声明:我是 wavethresh 的主要作者,我也认为 wmtsa 是一个很好的包。

您最初为 wavethresh 编写的代码应该可以工作。我只是在长度为 512 的任意数据集上进行了尝试(因为我无权访问您的数据!),它似乎工作正常并且包含 215 个元素的“基础”数组。函数 plot(coeffs) 还生成了时频图,因此可以看到时频平面的特定平铺。

指的是您的两个帖子。 `drawwp.default' 函数实际上完全符合您在第二篇文章中提到的内容。为了获得特定小波包的图片(或值向量),将包含所有零和一个一个的序列反转。这是一个广为人知的技巧,自 1993 年以来一直在 wavethresh 中用于小波(在函数 draw() 中)。

draw 和 drawwp.default 不会做的是正确翻译。它会尝试选择一个不错的翻译值,以便您获得漂亮的图片。这就是为什么 drawwp.default 的参数包含比例级别、“振荡次数参数”而不是平移值。然而,将小波沿轴向上或向下平移很简单,如何进行将取决于您假设的边界条件。

在您的原始帖子中确实出现了(至少对我而言)一个拼写错误。第 3 行中的对象 wave' 在第 4 行中变成了 wave.th'。但是,我忽略了这一点并将它们视为同一个对象。我猜你可能一直在做一些与这个讨论无关的阈值:)

祝一切顺利,盖·纳森

关于r - 从小波变换得到小波基,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15086727/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com