在物理、化学、医学和工程中,很多问题是用数学微分方程来表示的,比如,稀薄气体中的Boltzmann方程、电磁场满足的Maxwell方程、流体满足的质量、动量和能量守恒方程,从而求解各类微分方程的解显得尤为重要. 求解微分方程方法有多种,如分离变量法、常数変易法、摄动展开法、数值方法和积分变换法等等,其中傅里叶变换和拉普拉斯变换是最常用的变换法. 本章只讨论这两个方法,它适用于求解无界区域和半无界区域的问题. 对微分方程作傅里叶变换或拉普拉斯变换后,能减少自变量的个数,比如,对二阶偏微分方程(自变量的个数为2)作积分变换后,偏微分方程变为常微分方程,对常微分方程作积分变换后方程变为代数方程. 然后,通过逆变换可求出原问题的解.
定义8.1 若函数 f(t) 在 (−∞,∞) 上绝对可积,在任一有限区间上满足Dirichlet条件,则称函数
为 f(t) 的傅里叶变换. 称函数
为 C(k) 的傅里叶逆变换.
微分定理8.1 若 lim|x|→∞f(n)(x)=0,则
推广到高阶导数上,有
例: 求解无界杆的热传导问题.
解: 对方程及初始条件作傅里叶变换
得
这是一个非齐次常微分方程. 用常数变易法可得
作象函数的傅里叶逆变换,得
Matlab 解算:在Matlab算法中,我们考虑具体的函数,令 f(x,t)=x+1,a=1,φ(x)=cos(x). 设函数矩阵 [x+1,cos(x)]=ℎ(x),令H(k)=F[ℎ(x)]. 在Matlab中输入:
>> syms x k;
>> h=[x+1,cos(x)];H=fourier(h,x,k) %回车,得(www.daowen.com)
H = [ 2*pi* (dirac(k)+i*dirac(1,k)),pi* (dirac(k+1)+dirac(k-1))]
将 H(k) 的分量代入象函数 ũ(k,t) 满足的方程及边界条件,得
用Matlab软件求解象函数ũ满足的常微分初值问题,在程序中用U代替 ũ(k,t):
>> syms k t x;
>> u0='DU+k^2*U=2pi*(dirac(k)+i*dirac(1,k))';
>> U0='U(0)=pi* (dirac(k+1)+dirac(k-1))';
>> U=simple(dsolve(u0,U0,'t'));
对 U=ũ(k,t) 进行关于变量 k 的傅里叶逆变换:
>> u=ifourier(U,k,x) %回车,得
u = cos(x) *exp(-t)+t+t*x
于是原问题的解为
u(x,t)= cos(x)exp(−t)+t+tx.
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。