吉布斯现象与插值优化(上)Matlab实现多项式插值

前言

傅里叶变换是贯穿一系列课程的应用,从起初的不知其所以然到学习电路理论时的轮廓逐渐清晰。
在电路理论的结课复习阶段,我在图书馆找到国外教材翻阅,关注到行文中提到的吉布斯现象(Gibbs Phenomenon)【幸运发现了维基百科的镜像网站,注意收藏】
这一小小的问题给我留下了深刻的印象,下决心对此钻研。

过程

从钱学森开始

工程力学的课程资料中附有钱学森关于工程科学家的讲稿,使我获益匪浅,对我的个人发展有高度的指引意义,下面是他对工程科学家培养课程的见解:

钱学森对于工程科学家培养课程的见解
只能遗憾的说,目前的我,在很多方面尚未达到常规工程师的要求,但后面的话也稍稍使我宽慰:

显 然 , 对 于 一 个 有 发 展 前 途 的 工 程 科 学 家 来 说 , 不 能 希 望 把 它 的 学 习 都 挤 在 四 年 大 学 里 . 事 实 上 , 他 必 须 在 高 中 毕 业 后 进 入 一 个 好 的 工 学 院 : 先 用 三 年 时 间 学 习 一 般 的 工 科 课 目 : 然 后 他 必 须 用 大 约 三 年 时 间 学 习 科 学 和 数 学 . 这 样 一 来 , 在 高 中 毕 业 后 至 少 要 用 六 年 时 间 来 培 训 一 名 工 程 科 学 家 ; 而 现 在 的 实 际 情 况 是 : 常 规 培 训 只 用 四 年 时 间

得益于综合型考察的高考制度,他提到的第一点我尚可符合,当然我也深知自己数理基础在一定程度上的薄弱。当我不可免俗得寻求任何一个表现自己机会的同时,心中也有一个声音一直提醒我——要注重终身发展。这段话也再次警醒我:职业规划当长远,数理基础要夯实。

吉布斯相率与吉布斯现象

吉布斯相率

讲稿中提到了冶金工艺的‘吉布斯相率’,再次唤起了我的回忆,在钱老的激励下,我决定不放过这次研究机会,把二者搞清楚!

百度百科中关于吉布斯相率的解释
吉布斯相率

只看公式并没有清晰的概念,但下面的例子容易理解:
吉布斯相率
到这里,清楚二者之前并无明显联系,我们回到任务的主线——

吉布斯现象(Gibbs phenomenon)

维基百科的描述是:

在工程应用时常用有限正弦项正弦波叠加逼近原周期信号。所用的谐波次数N的大小决定逼近原波形的程度,N增加,逼近的精度不断改善。但是由于对于具有不连续点的周期信号会发生一种现象:当选取的傅里叶级数的项数N增加时,合成的波形虽然更逼近原函数,但在不连续点附近会出现一个固定高度的过冲,N越大过冲的最大值越靠近不连续点但其峰值并不下降,而是大约等于原函数在不连续点处跳变值的9%,且在不连续点两侧呈现衰减振荡的形式。

此前对现象的大致含义了解,这次留意到的是关键词:不连续点。

英文版的词条页面内容很多,显然对这一现象的研究已非时日,我选取了最容易入手的一个方向:通过页面提供的使用python代码的优化,开启记录。

Fake Nodes

这是一种新的插值方法,消减吉布斯现象是其应用

插值定义(interpolation)

前两天结束的美赛中队友使用了这一关键词描述模型,我初次听闻。他的使用在于将数据集中以1 ∘ ^{\circ} 为分度值的温度数据进行插值处理,以获取连续位置的温度值。
而这便是插值的的定义:
对于一组离散的数据点(称为结点,是否正是与方法中的Nodes相对应?) ( x i , y i ) , i = 1 , 2 , . . . , n (x_{i},y_{i}),i=1,2,...,n (xi,yi),i=1,2,...,n, 对于 x ( x ≠ x i ) , i = 1 , 2 , . . . , n x(x\neq x_{i}),i=1,2,...,n x(x=xi),i=1,2,...,n ,求 x x x 对应的 y y y 值。

matlab代码

%传入离散的数据点
x=[0.0 0.1 0.195 0.3 0.401 0.5]
y=[0.39849 0.39695 0.39142 0.38138 0.36812 0.35206]
%确定a所对应的值T
a=.25;
%绘制离散数据点图像
figure;
plot(x,y,'*-')
hold on
interpType='linear'
%不同的插值方法
T=interp1(x,y,a,interpType); %线性插值
plot(a,T,'go')
text(a-0.2,T,[interpType,':T','=',num2str(T)],'color','g')
hold on;
interpType='nearest'% 两点插值
T=interp1(x,y,.25,interpType)
%(返回结果T=0.3814)
plot(a,T,'ro')
text(a+0.1,T,[interpType,':T','=',num2str(T)],'color','r')
hold on;
interpType='spline'% 三次样条插值
T=interp1(x,y,a,interpType)
%(返回结果T =0.3867)
plot(a,T,'bo')
text(a+0.1,T,[interpType,':T','=',num2str(T)],'color','b')
hold on;
interpType='pchip'%三次插值
T=interp1(x,y,a,interpType)
plot(a,T,'ko')
text(a+0.1,T+0.003,[interpType,':T','=',num2str(T)],'color','k')
hold on;
title('插值函数demo')

结果:
结果
对插值有了较为感性的认识。

龙格现象(Runge’s phenomenon)

运行了一遍关于Gibbs的notebook,内心毫无波澜,来到前一个文件Runge,且见开篇提到:

It is well known that the polynomial interpolation is unstable over equispaced samples, and stable the Chebyshev-Lobatto (CL) nodes.
众所周知 多项式插值法应用于平均分布的样本是不稳定的,而在Chebyshev-Lobatto (CL)类型结点上的应用是稳定的

OK,fine.我的确连所谓的众所周知一无所知,终于明白为何曾经高中英语作文时老师要求我们不要常用此句式,杀伤力【IIIIIIII】100%

继续探索吧,学海无涯。

定义

龙格现象是对于平均分布的样本应用多项式插值时,区间边缘处出现震荡问题。维基百科中确提到这与傅里叶变换中的吉布斯现象是相似的,那有必要了解多项式的插值如何进行。

多项式插值(Polynomial interpolation)

前期提醒,其实应用仅仅涉及了线性代数的知识,耐心看完就会理解的。

首先定理如下(回顾之前的插值定义):

Given a set of n + 1 n + 1 n+1 data points ( x i , y i ) (x_i, y_i) (xi,yi) where no two x i x_i xi are the same, one is looking for a polynomial p of degree at most n n n with the property

  • 试译:对于 n + 1 n + 1 n+1 个数据点 ( x i , y i ) (x_i, y_i) (xi,yi) ,其中 x i x_i xi 各异,寻找 n n n 阶多项式 p p p 满足:
    p ( x i ) = y i , i = 0 , … , n . ( 1 ) {\displaystyle p(x_{i})=y_{i}, \qquad i=0,\l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值