三次样条插值及最小二乘法插值的C#实现


前言

在水文预报中,利用1小时单位线计算而来的S曲线可以很方便的完成单位线的时段转换。实际运用中,当目标单位线时段长Δtk是原始单位线时段长Δt0的整数倍,即当Δtk=KΔt0 (K=1,2,...N)时,可以不需要计算出Δt0=1h的S曲线即可完成单位线的时段转换,其方法为由原始单位线计算得S(t) (Δt=Δt0),接着计算得S(t-KΔt),两个S曲线相减再除以K即可得到目标单位线的q(t)曲线,但当Δtk!=KΔt0 (K=1,2,...N)时,就必须得通过三次样条插值得到Δt=1h的S曲线后再进行接下来的时段转换计算。

插值实现

三次样条插值需要使用的PointClass如下:

使用方法

三次样条插值

最小二乘插值

 

声明:Edward Linus|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 三次样条插值及最小二乘法插值的C#实现


[stay(s) for s in ['humble','diligent']]