C# 求两个拟合的交点
我使用math.net中的CubicSpline函数拟合一系列数据。比如这个C# 求两个拟合的交点,c#,math.net,C#,Math.net,我使用math.net中的CubicSpline函数拟合一系列数据。比如这个 double[] x8 = { 2.25, 2.65, 3.12, 3.56, 3.95, 4.32, 4.59, 4.78 }; double[] y8 = { 124, 117, 108, 95, 79, 64, 48.5, 36 }; CubicSpline CSpline = CubicSpline.InterpolateNatural(x8, y8); 我还有另外一组点,我想用多项
double[] x8 = { 2.25, 2.65, 3.12, 3.56, 3.95, 4.32, 4.59, 4.78 };
double[] y8 = { 124, 117, 108, 95, 79, 64, 48.5, 36 };
CubicSpline CSpline = CubicSpline.InterpolateNatural(x8, y8);
我还有另外一组点,我想用多项式来拟合。例如:
double[] x9 = {0, 4,-4};
double[] y9 = { 0, 50,50 };
double[] p = Fit.Polynomial(x9, y9, 2);
现在我想找到这些拟合的交点,并在图表上显示出来。你能帮我怎么做吗?这是一个纯粹的数学问题,如果你的多项式具有某些性质,很难找到交点,这是不可能的。我建议您对两条曲线使用三次样条曲线,并简单地调整参数以满足您的需要,因为精确计算两个三次函数的交点是可能的。如果你仍然想使用多项式,你最好的选择是,两个函数之差为零的牛顿近似 牛顿法:
立方体交集代码在C++中被剪断,但是你可以很容易地翻译: