如何获得Fisher-Kolmogorov的傅里叶变换?

计算科学 pde 傅里叶变换
2021-11-29 08:46:56

如何使用傅里叶变换求解一维的 Fisher-Kolmogorov 方程?

ut(x,t)=uxx(t)+u(1u)

u(0,x)=ϕ(x)

与狄利克雷

u(0,t)=0u(1,t)=0

和 Neumann 边界条件

ux(0,t)=0ux(1,t)=0

我可以执行以下操作吗?

F{u(x,t)}=u^(k,t)=+u(x,t)eikxdx

u^t(k,t)=(ik)2u^(k)+F{u(x,y)(1u(x,t))}ut(x,t)=F1{(ik)2u^(k)}+u(x,y)(1u(x,t))

是一个简单的一维 Matlab 实现:

使用正向欧拉进行 250 次迭代后Δt=0.01,解决方案看起来像费舍尔-科尔莫哥洛夫

1个回答

按照本教程可以部分解决该问题。

给定 Fisher-Kolmogorov 方程

ut=uxx+u(1u)

它也可以写成

ut=uxx+uvvt=vxxuv

在哪里v=(1u)

求解方程

ut=uxx

tΔt

u^t=(ik)2u^u~(x,t+Δt)=F1{ek2Δtu^}

现在求解方程

ut=uv

使用拆分运算符方法,我们可以编写

u(x,t+Δt)=evΔtu~(x,t+Δt)

这样做也是为了v给出解决方案

解决方案

Diffusion_Reaction.m

仍然必须施加边界条件。