c# - 函数插值 C#

标签 c# .net math interpolation

我知道有人问了几个与插值相关的问题,但我没有找到任何对我有足够帮助的答案,所以我有以下问题。

我有两个点数组。一个跟踪时间(x 轴),一个跟踪费用(y 轴), 我想要得到这样的东西:

InterpolatingPolynomial[{{0, 10}, {1, 122}, {2, 3.65}, {3, 56.3}, {4, 12.4}, {5, 0}}, x]

(在 Mathematica 中,返回拟合点的构造多项式)。是否有可能返回 func<double,double>由两个double构成C# 中的数组?

提前致谢。

最佳答案

This论文准确地描述了您想要的内容。 Vandermonde Determinant该方法实现起来非常简单,因为它需要计算矩阵的行列式以获得插值多项式的系数。
不过,我建议构建一个具有适当接口(interface)的类,因为动态构建 Func 非常复杂(请参阅 here 的示例)。你可以这样做:

public class CosineInterpolation {
    public CosineInterpolation(double[] x, double[] y) { ... }
    public double Interpolate(double x) { ... }
}

关于c# - 函数插值 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14536927/

相关文章:

c# - 在 C# 中对 ListView 进行排序时忽略 "The"和 "A"

java - Int 到 BigInteger,有什么区别?

javascript - 中值 JS 函数。错误的

java - 无偏(随机?)选择算法

c# - 从 C# 中的恒定位宽扩展的符号

c# - DevExpress WaitForm 和 PreFilterMessage - 意外的 MouseMove 消息

c# - 通过与文本框绑定(bind)来选择列表框中的项目

c# - 如何反序列化这种类型的数据结构

c# - 如何在库类中使用 Profile.GetProfile()?

c# - 在 AfterLabelEdit 期间无法更改 treeView 中的 selectedNode