【问题标题】:Smooth spline curve with cscvn in MATLAB?在MATLAB中使用cscvn平滑样条曲线?
【发布时间】:2016-10-30 19:50:10
【问题描述】:

我正面临以下困境。

"Natural" or periodic interpolating cubic spline curve (cscvn) 允许我拟合通过所有控制点的插值样条曲线。但是,在我的问题中,数据点很嘈杂,因此插值样条曲线有很多锯齿形。

所以我想也许我需要一个不一定通过所有点的近似(而不是插值)样条曲线。然后我遇到了cubic smoothing spline (csaps)

现在曲线确实更平滑了,但是当我在 x 值周围有多个 y 值时会出现问题。所以拟合结果并不是真的“正确”。

我怎样才能有一个平滑和“正确”的拟合?

【问题讨论】:

    标签: matlab spline


    【解决方案1】:

    你应该取y值的最大值,就是这样。

    或者,如果您认为嘈杂的一端是正确的,您应该扩大 bin 大小(可变 bin 大小)。这将导致良好的样条曲线,但曲线会下降。

    这取决于你认为什么是正确的。无论如何,在曲线的“平滑”部分(

    【讨论】:

    • 谢谢。结尾部分是正确的,所以我不能取 y 值的最大值。关于bin大小,这是csaps的参数吗?我不太明白
    • 想了想,不明白为什么会这样?即使我放大 bin 大小,在曲线末端,当 x 从小值变为大值时,曲线仍然在 y 中“振荡”。我错过了什么吗?
    • 如果您将 bin 大小扩大到振荡的“波长”(或更大),您将不再看到振荡。曲线降低了,应该位于样条曲线的上下带的中间,那里有两个 y 值。 - 如果您在较低的 x 值范围内扩大 bin 大小,您将获得更平滑的曲线,因为您扩大了统计数据。
    猜你喜欢
    • 2012-10-10
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2017-06-07
    • 2020-10-12
    • 2018-01-10
    相关资源
    最近更新 更多