函数的傅立叶展开掐死我吧_傅立叶变换求解偏微分方程和积分方程

6dba5deddf82e20d8564e1a59c3649d8.png

本编文章探讨一下数学物理方法中一个常见的问题,即如何用傅立叶变换得到PDE或者积分方程的解。在文章的最后,会附上MATLAB的实现代码。学疏才浅,欢迎大家指点!


1. 什么是傅立叶变换?

  • 从数学形式上来看,FT的表示在各个领域有着细微的差别。

(*本文遵循以下的定义)

  • 直观意义上来说,我们通过将波形
    分解成许多不同频率
    的正弦波的叠加把
    时域信号转换到频域。从而把对原函数
    的研究转化为不同频率分量的幅值和相位的研究。

更详细的入门介绍可以看这里:

Heinrich:傅里叶分析之掐死教程(完整版)更新于2014.06.06​zhuanlan.zhihu.com
7bec788a43938a65e1af6235880cdf57.png

非常推荐3Blue1Brown的相关视频:

【官方双语】形象展示傅里叶变换_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com
042c87235cbc51a99fc4f0fdeb40500b.png

还有斯坦福EE的公开课!时间充裕的话,了解一下。

EE261 - The Fourier Transform and its Applications​see.stanford.edu
16878b872e2217424e985c20cb5f6946.png

2. 傅立叶变换的优势

傅立叶变换与拉普拉斯变换不同,可以处理全平面上的问题,不要求时间

  • 微分性质

如果

上连续或只有有限个可去间断点,且当
时,

对一个函数的导数做傅里叶变换,结果上等于这个函数的傅里叶变换乘以因子

对于一个偏微分方程来说,计算上假设我们对空间变量做傅里叶变换,那我们可以将关于空间的偏微分算符转换成简单的系数乘积

,而关于时间的偏微分化为常微分
。同理,对时间变量也是一样的。(具体的例子请见第4小节)
  • 积分性质

对一个函数的积分做傅里叶变换,结果上等于这个函数的傅里叶变换除以因子

3. 傅立叶变换的局限性(选读)

总的来说, 傅里叶变换的分析思路是将时域特征和频域特征完全分离开来处理的。做完变换之后,频域内不包含任何时域信息。同样的,时域中也没有关于频率的信息。对于频谱当中的某一特定频率信号

我们不知道这一频率究竟是何时产生的。我们对频域的良好定位是以时域的全部信号分析为代价的。这就是傅里叶变换最大的局限,即无法同时在时域和频域都具有良好的定位的能力,进而我们说这一方法无法处理
非平稳信号。我们可以通过以下 不确定性原理,来定性的认识这一矛盾:

我们知道对于光子来说,

。带入到不等式,可以得到

那么什么是非平稳信号呢?可以看下下图左侧的例子。

f3bf415c5f9de64363218acf32c773aa.png

具体的解决方案可移步以下问题,写的很详细

如何通俗地讲解傅立叶分析和小波分析间的关系?​www.zhihu.com

4. 具体的例子:一维波动方程

考虑如下的微分方程:

和边界条件:

出于一些约定习俗,我们对等式两边做关于空间变量

的傅立叶变换:

变换的结果如下,

*请读者到这里思考一下,对空间作傅里叶变换有什么实际的物理意义吗?

从这里我们可以看到FT的优势是如何体现出来的:

将关于空间的多次偏微分直接操作了出来,而关于时间的偏微分化为常微分。

当然我们也必须把边界条件作傅立叶变换。

如果不清楚具体的数学过程的话,先看MATLAB代码段:

>> syms x w;
>> f1 = cos(x);
>> f2 = sin(x);
>> F1 = fourier(f1)

F1 =
pi*(dirac(w - 1) + dirac(w + 1))

>> F2 = fourier(f2)

F2 =
-pi*(dirac(w - 1) - dirac(w + 1))*1i

* 关于fourier()这个指令我们看看更多的例子:

bdecbd38061dceb43296da3d816bce4f.png

经过以上处理后,我们已经把一个PDE问题转化为ODE问题

和变换后的边界条件:

可以解得,

代码段:

>> U = dsolve('D2U = -w^2* U','U(0) = F1, DU(0) =F2','t')

U =
 
(exp(-t*w*1i)*(F1*w + F2*1i))/(2*w) - (exp(t*w*1i)*(F2*1i - F1*w))/(2*w)

最后,我们把得到的解做一个傅立叶逆变换就能得到原问题的解了。很简单吧!

代码段:

>> syms t
>>  U = (exp(-t*w*1i)*(F1*w + F2*1i))/(2*w) - (exp(t*w*1i)*(F2*1i - F1*w))/(2*w)
>> u = ifourier(U)
 
u =
 
(pi*exp(- t*1i + x*1i) + pi*exp(t*1i - x*1i))/(2*pi)

现在你可以自己创建一个问题,来验证下是不是掌握了这个流程呢?

5. 新增的例子:MATLAB求解微分积分方程 (选读)

这一章节, 我们尝试求解以下方程

求解的关键在于第二小节中提到的微分和积分性质。假设

,对方程两边作傅里叶变换,我们得到

然后用MATLAB,简化运算

>> syms t w;
>> g = exp( -abs(t) );
>> G = fourier(g)
G =
2/(w^2 + 1)
>> X = G/(i*(w+4/w));
>> x = ifourier(X,t)
x =
((2*pi*exp(-abs(t))*sign(t))/3 - (2*pi*exp(-2*abs(t))*sign(t))/3)/(2*pi)

稍微整理下形式,我们可以得到

函数图像如下:

9dfe2a5845276f061c346245e08340a5.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值