Python中的BattleLemarié小波

2024-06-12 03:26:38 发布

您现在位置:Python中文网/ 问答频道 /正文

作为一个项目的一部分,我必须用Python编写一个程序来表示1阶和2阶样条函数的伸缩函数和Battle Lemarie小波。 对于1阶样条曲线,我跟踪函数如下:

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(-1.5,1.5,1024)

def phi(x):
    p=[]
    for i in range(len(x)):
        if abs(x[i])<=1:
            p.append(1-abs(x[i]))
        else:
            p.append(0)
    return p

plt.plot(x,phi(x),'b',x,phi(2*x),'g',x,[elt/2. for elt in phi(2*x+1)],'g',x,[elt/2. for elt in phi(2*x-1)],'g')
plt.show()

函数φ与它的平移不是正交的,它必须对函数φφ进行改变,因为我们只知道由phi hat^sqrt(3)(2*pi)^(-1/2)*(4 sin^2(z/2)/(z^2(1+2 cos^2(z/2))定义的傅立叶变换。 要找到这个函数,我的代码如下:

^{pr2}$

可惜结果不好,功能被“压碎”。 有人能帮我吗?在


Tags: 项目函数inimport程序forasnp