Edward Linus's personal blog, focusing on coding and etc.

三次样条插值及最小二乘法插值的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如下:

使用方法

三次样条插值

最小二乘插值

 

About the author

EDLinus

[stay(d) for d in ('determined','diligent','devoted')]

Add Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

By EDLinus
Edward Linus's personal blog, focusing on coding and etc.

Meta