我是 C# 的新手,我想用它来编写一个用于校准 AFM 悬臂的软件。因此,我需要为一些非线性数据的第一个峰值拟合一个非常丑陋的函数。我认为 ALGLIB 包可能会为此目的派上用场,这似乎相对容易应用。在他们用于 X 轴数据的主页示例中:
double[,] x = new double[,]{{-1},{-0.8},{-0.6},{-0.4},{-0.2},{0},{0.2},{0.4},{0.6},{0.8},{1.0}};
我在一个列表中有我的 X 值并且想使用它们。如何将它们从列表中取出并放入双 [,]?我的最后一种方法是这样的
List<double> xz = new List<double>();
...
double[,] x = new double[,]{xz.ToArray()};
似乎它必须在一个 double[,] 数组中,因为它是稍后的函数所必需的
alglib.lsfitcreatef(x, y, c, diffstep, out state);
有人可以帮我吗?或者有人可以推荐一种更简单的非线性拟合方法吗?
非常感谢提前