Re: [問題] 為什麼要spline?
題外話,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
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章
0
18