Python实现将波函数由坐标空间变换为动量空间
import numpy as np
import math
import scipy as sci
import matplotlib.pyplot as plt
l=10
N=10000
x=np.linspace(-l,l,N)
phi1=np.exp(-x**2)#初始波函数
phi2=sci.fft(phi1)
scipy.fft为离散傅里叶变换,注意的是,直接将原波函数进行fft之后,也要将坐标空间转化为动量空间
def x_to_p(x): #将坐标空间转化为动量空间与FFT之后的结果对应
p=np.zeros_like(x)
for i in range(0,int(N/2)):
p[i]=math.pi*i/l
p[i+int(N/2)]=math.pi*(i-N/2)/l
return(p)
p=x_to_p(x)
这样变换之后的phi2中的元素就与动量空间的坐标相对应
本文地址:https://blog.csdn.net/m0_46296922/article/details/109892087
黄山市民网:https://www.huangshanshimin.com/