KdV方程的出处: Dr. D. J. Korteweg & Dr. G. de Vries (1895) XLI. On the change of form of long waves advancing in a rectangular canal, and on a new type of long stationary waves, The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science, 39:240, 422-443, DOI: 10.1080/14786449508620739

@article{doi:10.1080/14786449508620739,author = { Dr.   D. J.   Korteweg  and  Dr.   G.   de Vries },title = {XLI. On the change of form of long waves advancing in a rectangular canal, and on a new type of long stationary waves},journal = {The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science},volume = {39},number = {240},pages = {422-443},year  = {1895},publisher = {Taylor & Francis},doi = {10.1080/14786449508620739},URL = {https://doi.org/10.1080/14786449508620739},eprint = {https://doi.org/10.1080/14786449508620739},
}

∂u∂t+u∂u∂x+∂3u∂x3=0,\frac{\partial u}{\partial t} + u\frac{\partial u}{\partial x} + \frac{\partial^3 u}{\partial x^3} = 0, ∂t∂u​+u∂x∂u​+∂x3∂3u​=0,

瞬态波形

当固定 ttt 时, ∂u∂t=0\frac{\partial u}{\partial t} = 0∂t∂u​=0. 得
u∂u∂x+∂3u∂x3=0,(1)u\frac{\partial u}{\partial x} + \frac{\partial^3 u}{\partial x^3} = 0, \tag{1} u∂x∂u​+∂x3∂3u​=0,(1)
对(1)关于xxx积分,或者
∂∂x(12u2+∂2u∂x2)=0,\frac{\partial }{\partial x}\left( \frac{1}{2}u^2+ \frac{\partial^2 u}{\partial x^2} \right)= 0, ∂x∂​(21​u2+∂x2∂2u​)=0,

c+12u2+∂2u∂x2=0,(2)c + \frac{1}{2}u^2+ \frac{\partial^2 u}{\partial x^2} = 0, \tag{2} c+21​u2+∂x2∂2u​=0,(2)
对(2)关于uuu积分,得
c1u+16u3+∫∂2u∂x2du=c2c_1u + \frac{1}{6}u^3+ \int{\frac{\partial^2 u}{\partial x^2} du} = c_2 c1​u+61​u3+∫∂x2∂2u​du=c2​c1u+16u3+∫∂2u∂x2∂u∂xdx=c2c_1u + \frac{1}{6}u^3+ \int{\frac{\partial^2 u}{\partial x^2} \frac{\partial u}{\partial x}dx} = c_2 c1​u+61​u3+∫∂x2∂2u​∂x∂u​dx=c2​c1u+16u3+∫∂u∂xd∂u∂x=c2c_1u + \frac{1}{6}u^3+ \int{ \frac{\partial u}{\partial x}d\frac{\partial u}{\partial x}} = c_2 c1​u+61​u3+∫∂x∂u​d∂x∂u​=c2​c1u+16u3+12(∂u∂x)2=c2,(3)c_1u + \frac{1}{6}u^3+ \frac{1}{2} \left(\frac{\partial u}{\partial x}\right)^2 = c_2, \tag{3} c1​u+61​u3+21​(∂x∂u​)2=c2​,(3)

情形一

假设无穷远处,x→∞x\to \inftyx→∞,
u=0,∂u∂x=0,∂2u∂x2=0u=0, \frac{\partial u}{\partial x} = 0, \frac{\partial^2 u}{\partial x^2} = 0 u=0,∂x∂u​=0,∂x2∂2u​=0
由(2)(3)可知:c1=c2=0c_1 = c_2 = 0c1​=c2​=0. 所以(3)改写为:
∂u∂x=±−13u3=±u−13u\frac{\partial u}{\partial x} = \pm\sqrt{- \frac{1}{3}u^3} = \pm u\sqrt{- \frac{1}{3}u} ∂x∂u​=±−31​u3​=±u−31​u​

情形二

周期边界条件,blablabla

用傅里叶变换求解偏微分方程

傅里叶变换可以将 PDE 转换成 ODE,即:将 u(x,t)u(x,t)u(x,t) 在空间上做傅里叶展开,关于xxx的微分项全部变成代数乘除,只剩下时间上的微分,所以可以用 ODE 的解法在频域上求解 u^k(t)\hat{u}_k(t)u^k​(t).

matlab 仿真

% Solve KdV eq. u_t + uu_x + u_xxx = 0 on [-pi,pi] by
% FFT with integrating factor v = exp(-ik^3t)*u-hat.
% Set up grid and two-solution initial data:
N = 256;
dt = .4/N^2;
x = (2*pi/N)*(-N/2:N/2-1)';
A = 25;
B = 16;
clf, drawnow
u = 3*A^2*sech(.5*(A*(x+2))).^2 + 3*B^2*sech(.5*(B*(x+1))).^2;
v = fft(u);
k = [0:N/2-1 0 -N/2+1:-1]';
ik3 = 1i*k.^3;% Solve PDE and plot results:
tmax = 0.006;
nplt = floor((tmax/25)/dt);
nmax = round(tmax/dt);
udata = u;
tdata = 0;
h = waitbar(0,'please wait...');
for n = 1:nmaxt = n*dt; g = -.5i*dt*k;E = exp(dt*ik3/2); E2 = E.^2;a = g.*fft(real( ifft( v ) ).^2);  % 这里的 abcd 是4阶龙哥库塔积分步骤b = g.*fft(real( ifft(E.*(v+a/2)) ).^2);c = g.*fft(real( ifft(E.*v + b/2) ).^2);d = g.*fft(real( ifft(E2.*v+E.*c) ).^2);v = E2.*v + (E2.*a + 2*E.*(b+c) +d)/6;if mod(n,nplt) == 0u = real(ifft(v)); waitbar(n/nmax)udata = [udata u]; tdata = [tdata t]end
end
waterfall(x,tdata,udata'), color([0 1 0]), view(-20,25)
xlabel x, ylabel t, axis([-pi pi 0 tmax 0 2000]), grid off
set(gca,'ztick',[0 2000]), close(h), pbaspect([1 1 .13])

傅里叶变换求解 KdV 方程相关推荐

  1. 傅里叶谱方法-傅里叶谱方法求解一维 KdV 方程及其Matlab程序实现

    3.3 傅里叶谱方法求解复杂偏微分方程 (组) 3.3.1 一维 KdV 方程 背景介绍 科特韦赫-德弗里斯方程(英语:Korteweg-De Vries equation),一般简称KdV方程,是1 ...

  2. maple 解代数方程组得多项式_利用修正影射法求组合KdV方程新的精确解

    1引言非线性科学研究的一个重要方面就是讨论孤立子的性质.相互作用及其随时间运动演化的特点,因此非线性演化方程的求解越来越显得具有理论和实际意义.组合KdV方程是KdV和mKdV方程的复合,既包含有非线 ...

  3. OpenGL 使用FDTD求解电磁波方程

    OpenGL使用FDTD求解电磁波方程 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <GLXW/glxw.h> #include ...

  4. matlab雷诺曲线,多重网格法求解雷诺方程的MATLAB编程 - 程序语言 - 小木虫 - 学术 科研 互动社区...

    这是MATLAB有限差分法求解雷诺方程,可以参考下.希望对你有用 function [Fx,Fy]=FDM_circular(X,Y,X_dot,Y_dot) Fx=0; Fy=0; epsilon= ...

  5. Q144:FS,求解流体方程(逻辑总结)

    看完了<Fluid Simulation for Computer Graphics>的第一部分(基础部分). 真的只能算是"看完",着实搞不懂其中的数学原理and物理 ...

  6. Pell方程初识以及技巧性的求解Pell方程整数解(附带手推详细证明)

    什么是Pell方程 形如: x2−Ny2=1(n∈Z,n≠0)x^2-Ny^2=1(n\in \mathbb{Z},n\not= 0) x2−Ny2=1(n∈Z,n​=0) 且N为奇非平方数 可以 ...

  7. 如何用matlab中syms建立符号方程,用matlab求解符号方程及符号方程组

    符号方程的求解 MATLAB7.0中的符号计算可以求解线性方程(组).代数方程的符号解.非线性符号方程(组).常微分方程(组),求解这些方程(组)是通过调用solve函数实现的,如求解代数方程的符号解 ...

  8. matlab求解erfc方程

    课后习题需要求解erfc方程,想到用matlab来解 用solve()来解显示得不到解析解,去网上找解法,很多人说用反函数法来解,太麻烦,不实用 去翻了官方文档,发现了这个函数erfcinv(),非常 ...

  9. matlab求解复杂方程,帮忙用matlab求解复杂方程

    帮忙用matlab求解复杂方程 来源:互联网  宽屏版  评论 2009-04-15 08:33:30 分类: 教育/学业/考试 >> 学习帮助 问题描述: (r1*sin(x)-u1*k ...

最新文章

  1. 数据通信技术(一:IP划分)
  2. 逆向--- crackme6
  3. 共享未授予用户在此计算机上设置家庭组,Win10系统关闭了家庭组如何共享文件?...
  4. python布局管理数据_利用python创建窗口-布局管理器(五)
  5. 杭电--1009 C语言实现
  6. 腾讯优图CVPR中标论文:不靠硬件靠算法,暗光拍照也清晰
  7. beanshell断言_Beanshell断言
  8. localhost改成想要的IP方法
  9. 中小企业的采购现状,如何打破发展艰难的局面?
  10. LOL手游登上去服务器维护,lol手游进不去怎么回事?无法登陆解决方法
  11. win10 资源管理器无限闪退
  12. 微信开发者工具-真机调试,可查看接口信息
  13. Point1:STM32根据BRR反推波特率
  14. (十二)命令模式详解(故事版) .
  15. 2012-03-01
  16. 分布式大数据多维分析引擎:Kylin 在百度地图的实践
  17. 关于PyCharm中python模块无法安装的问题
  18. (附源码)springboot幼儿园书刊信息管理系统 毕业设计141858
  19. oracle 表字段命名规范
  20. 计算机网络波动大,网络不稳定是什么原因?

热门文章

  1. 关于人性的一些思考:如何提高员工工作热情与成就感,以及因材施教的心灵培训
  2. PyCharm vs VSCode 到底谁更牛?
  3. JS - 将tree(树形)数据结构格式改为一维数组对象格式(扁平化)
  4. 【Unity】Unity下载器下载不下IOS/Android等模块的解决办法
  5. java封装joda_【类库】java时间操作类库:Joda-Time
  6. THUCNews新闻文本分类-tfidf+sklearn
  7. 视频号该怎么去运营;有人已经利用视频号赚到了第一笔金了丨国仁网络资讯
  8. int、time和timestamp区别
  9. EasyX 窗口如何最大化,以及拖拽调整大小
  10. win7添加固态硬盘--固态硬盘为C盘--原C盘变H盘--其他盘不变