Math 我想画一条曲线,然后生成一个多项式来拟合它。我该怎么办?

Math 我想画一条曲线,然后生成一个多项式来拟合它。我该怎么办?,math,curve-fitting,Math,Curve Fitting,我有一条任意曲线(由一组点定义),我想生成一个多项式,以任意精度拟合该曲线。解决此问题的最佳方法是什么,或者是否已有图书馆或在线服务来执行此任务 谢谢 如果您的“任意曲线”由一组点(x_i,y_i)描述,其中每个x_i是唯一的,并且如果您的意思是“拟合”计算阶数N的最佳最小二乘多项式近似值,您可以使用 b = polyfit(X,Y,N) 其中X是X_i值的向量,Y是Y_i值的向量。通过这种方式,可以增加N,直到达到所需的精度。当然,通过计算插值多项式,可以实现零近似误差。然而,数据拟

我有一条任意曲线(由一组点定义),我想生成一个多项式,以任意精度拟合该曲线。解决此问题的最佳方法是什么,或者是否已有图书馆或在线服务来执行此任务

谢谢

如果您的“任意曲线”由一组点(x_i,y_i)描述,其中每个x_i是唯一的,并且如果您的意思是“拟合”计算阶数N的最佳最小二乘多项式近似值,您可以使用

    b = polyfit(X,Y,N)

其中X是X_i值的向量,Y是Y_i值的向量。通过这种方式,可以增加N,直到达到所需的精度。当然,通过计算插值多项式,可以实现零近似误差。然而,数据拟合通常需要事先考虑—您需要考虑您希望近似值达到的效果。评估近似误差有多种数学方法(通过使用不同的范数),其选择取决于您对结果近似的要求。您可能会遇到许多潜在的陷阱(如过度拟合),盲目尝试拟合曲线可能会导致近似值,这种近似值在理论上是合理的,但在实践中对您完全没有用处。如果上述方法不符合您的要求,我建议您对近似理论进行一些研究,正如您在对问题的评论中所建议的那样。

我相信Matlab有一些很棒的曲线拟合工具,尽管我现在记不得了。看看这个:您需要准确地决定您想要什么。有精确拟合多项式(多项式插值)、不同阶次的最佳拟合多项式(Remez交换算法)或分段曲线拟合(样条曲线)。括号中的这些术语是很好的搜索术语,你可能会更幸运地询问Chris给了你一个很好的提示。一旦你决定了你想要什么,这是一个询问这类事情的好地方。谢谢。我看到,显然有许多考虑因素和方法,并有各种各样的结果!