作者DrStein (交换关联)
看板Fortran
标题Re: [问题] 为什麽要spline?
时间Thu Sep 11 11:23:11 2008
题外话,spline 最差的部份,是在於不连续点,会产生Gibbs phenomia
好比产生一方波,以1000点描述一秒,方波频率5(既一秒有五个方波)
现把方波增点,改为一秒已10万点描述。
会发现在不连续处有Gibbs phenomia
http://en.wikipedia.org/wiki/Image:Gibbs_phenomenon_250.png
解决方法有两者,一是舍去函数的概念,将不连续处以多点描述
二是不用spline : 最有名的是monotonic cubic interpolation
http://en.wikipedia.org/wiki/Monotone_cubic_interpolation
※ 引述《sjgau (sjgau)》之铭言:
: 如果你学过 应力,材力,那就很好解释了。
: cubic spline 的发明者,好像是 汽车工业,
: 造船工业或是 飞机工业的人,
: 他每天都使用 大型的蛇尺在划曲线。
: 所以,他就帮蛇尺建立数学模式,
: 去联立求解相邻两个 控制点之间的
: 三次函数。
: cubic spline 的意思,就是这麽来的。
: y= a*(x^3) + b*(x^2) + c*x + d
: 如果有 十个控制点,就有九个 y=f(x) 的方程式,
: 因为是 三次式,所以 他的一次和 二次导函数都会连续,
: 符合 产生出来的曲线,斜率和 转弯半径都要连续的 需求。
: 另外,为了避免 y= f(x) 在 y' 太大的地方 失真的问题产生,
: 建议采用 参数方程式,
: y= f(x) -->
: x= t(x),
: y= t(y)
: ※ 引述《mystea (mystea)》之铭言:
: : 因为看到版规上说关於科学计算的问题可以讨论,
: : 所以我的fortran版首波就献给spline interpolation啦~
: : 问题很简单: spline interpolation到底是哪里好呢?
: : 我知道用了spline -- 一阶导数连续. 但是一阶导数连续
: : 又怎样呢? 何况一阶导数连续的interpolation function也不是唯一的阿...
: : (比方说一个经过每一个点的超高阶polynomial)
: : 总之, 在我们使用spline时, 被後市不是有一套没说出来的思想架构呢???
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.13.207