花键与线性插值

97(30天)
学习
学习 2022年5月29日
评论道: 学习2022年5月30日
你好,我有一个问题:哪个更好…线性或样条插值吗?线性和样条插值处理光谱数据插值哪个更好吗?统计上我怎么比较的性能花键或线性插值的光谱数据?换句话说,我估计如何与每个方法相关联的错误所以我可以选择最好的一个应用程序?。谢谢!

接受的答案

约翰D 'Errico
约翰D 'Errico 2022年5月29日
编辑:约翰D 'Errico 2022年5月29日
这不是远程关于MATLAB的问题。我回答它,只是因为我有一段时间,因为我能理解插值相当不错。:)
哪种interpolant更好?都有他们的优势。所以问哪个更好,就像问一个苹果胜过橘子。
一个线性interpolant的优点是它将形状保持在一个方面,即。,它将永远不会超过你的数据的范围。由于光谱属性,他们往往是憔悴的,然后迅速俯冲到零,一个经典的花键往往是有问题的,因为样条可能上下摆动零。这是毫无意义的行为当用于插入一个总是积极的光谱曲线。这样一个线性interpolant可以看作是一个更好的方法。
同时,由于光谱将在有限采样点集经常太粗近似曲线的峰值,线性interpolant将贫穷因为有线性interpolant只是一条直线,把点interpolant。
如果你读了最后两段,我告诉你,样条是更好的光谱的峰值附近,而附近的线性interpolant更好的基线。你赢不了。或者,换一种说法,他们都很烂。
据统计,没有什么你可以说,由于统计数据告诉你没有一个interpolatatory曲线拟合。所以我不知道你问什么。嗯,有一个警告。我曾经放在一起进行分析表明,在存在大量噪声曲线,线性interpolant可以预测方差低于立方样条。但这仅适用于一条曲线的噪音真的很重要。那么花键将振荡,因为还将插值样条的噪音。再一次,这就要求噪声是重要的,和光谱通常足够仔细测量噪音不是很大的一个组件。所以一个花键光谱在这方面通常会赢。
我说作为一个例子,考虑下面的模糊的光谱曲线:
F = @ x (x)。*(罪(5 * x ^ 2) + 1) ^ 4;
fplot (F (0, 2.5)“g——”)
持有
xint = linspace (0、2.5、40);
情节(xint F (xint),“罗”)
持有
上面的蓝色曲线将被视为真理。假装它是一个光谱。我choce它,因为它有不同宽度的山峰,然后因为它潜入到零,将持平,但不会低于零。我应该选择一条曲线,一些山峰的靠近彼此,部分重叠。所以起诉我。这是不够好。
但是现在情节线性interpolant点集。(注意,我可以为我做连接点阴谋一样。)
情节(xint F (xint),“罗”xint F (xint),“b -”)
你接受的曲线,跨越一个峰值点,将近似光谱差?同时,一个线性interpolant永远不会低于零。样条做什么?
xf = linspace (0、2.5、1000);
spl =花键(xint F (xint));
情节(xint F (xint),“罗”、xf fnval (spl xf),“b -”)
持有
fplot (F (0, 2.5)“g——”)
持有
因此,绿色虚线是地面实况。样条平滑,但它仍然非常失败。它振荡的地方它不应该这样做,要低于零,这是没有意义的。确实好一点在达到峰值,但它仍然表现不佳的山峰是锋利的,只有几个分散的点差近似。
你可以做一个更好的如果你使用pchip interpolant,因为它永远不会低于零。所以基线振荡消失。但pchip现在将在高峰表现更差,就像线性interpolant那里。
pspl = pchip (xint F (xint));
情节(xint F (xint),“罗”、xf fnval (pspl xf),“b -”)
持有
fplot (F (0, 2.5)“g——”)
持有
你可以在这里没有真正的胜利努力。对不起。有一个体面的妥协吗?有技巧的使用日志转换过去我试过了。但他们往往很难得到完美的工作。我记得很久以前,在遥远的银河系,很远的地方,我写了一interpolant专门设计用于光谱,这有好行为的三次样条曲线在峰值附近,但pchip山谷附近的好行为。这段代码生活在另一个宇宙虽然——APL的宇宙。这也意味着它是接近40年前写的。
4评论
学习
学习 2022年5月30日
谢谢你!

登录置评。

更多的答案(0)

类别

找到更多的在插值帮助中心文件交换

s manbetx 845


释放

R2019b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的