Mav*_* M. 2 python numpy transform
我有一个时间序列的实验数据x = x(t)在两个numpy数组中,x表示观察值,t表示观察值的时间值.是否有一个numpy函数或方法可以评估时间序列的拉普拉斯变换?先感谢您.
我认为你应该考虑f(x)的拉普拉斯变换作为Gamma(x)f(x)e ^(bx)的傅里叶变换,其中Gamma是一个阶梯函数,它删除积分的负部分和e ^(bx)构成复指数的实部.有一种众所周知的傅立叶变换算法,称为"快速傅立叶变换"(FFT),您可以在Python和Matlab网站上找到很多教程.
在这里,我给出一个简短的代码,用于计算阶跃函数的傅里叶变换,例如y = 0,用于| x | 对于| x |,> 1 y = 1 <1
傅里叶变换可以分析计算为sin(pi x)/(pi x).
import matplotlib.pyplot as plt
import scipy
from scipy.fftpack import fftshift
import numpy as np
x = np.arange(-3, 3, 0.01)
y = np.zeros(len(x))
y[150:450] = 1
plt.plot(x, y) # plot of the step function
yShift = fftshift(y) # shift of the step function
Fourier = scipy.fft(yShift) # Fourier transform of y implementing the FFT
Fourier = fftshift(Fourier) # inverse shift of the Fourier Transform
plt.plot(Fourier) # plot of the Fourier transform
Run Code Online (Sandbox Code Playgroud)
请注意,在应用快速傅立叶变换之前和之后,您必须使用fftshift命令,该命令将绘图的左侧移动到右侧,反之亦然.这不是你问题的完整答案,但我相信这是一个好的开始.
| 归档时间: |
|
| 查看次数: |
11675 次 |
| 最近记录: |