Math 如何确定多项式曲线在区间[a,b]下是单调的?

Math 如何确定多项式曲线在区间[a,b]下是单调的?,math,graphics,geometry,Math,Graphics,Geometry,如果我得到一条多项式曲线,我想通过编程找到所有的单调曲线段和相应的区间。 做这件事最好的方法是什么。。。 我想避免解f'x=0这样的方程; 最好使用一些很好的数值方法,比如双截面。 f'x表达式可用 谢谢 添加其他详细信息。例如,我在2d空间中得到一条曲线,它的多项式是 x:ft y:gt t是[0,1] 所以,如果我想得到它的单调曲线段,我必须知道t的位置,其中它的切向量是1,0 解决这个问题的一个直接方法是建立一个方程f'x=0 但我想用最有效的方法来做这件事 例如,我尝试使用递归方法来找到

如果我得到一条多项式曲线,我想通过编程找到所有的单调曲线段和相应的区间。 做这件事最好的方法是什么。。。 我想避免解f'x=0这样的方程; 最好使用一些很好的数值方法,比如双截面。 f'x表达式可用

谢谢

添加其他详细信息。例如,我在2d空间中得到一条曲线,它的多项式是

x:ft y:gt

t是[0,1]

所以,如果我想得到它的单调曲线段,我必须知道t的位置,其中它的切向量是1,0

解决这个问题的一个直接方法是建立一个方程f'x=0

但我想用最有效的方法来做这件事

例如,我尝试使用递归方法来找到这个。
将范围[0,1]分为四部分,检查向量1,0上的四条切线投影是否在同一方向,两个点是否足够接近。如果没有,继续将范围分成4个部分,直到它们在1,0和0,1的同一方向,并且足够接近。

我认为你必须使用数值方法找到f'x的根。你可以随意实现任何你想要的,维基百科有一个列表。根将是梯度达到零的点;比如x1,x2,x3

然后有一组区间-inf,x1-x1,x2等,多项式的连续性确保了在一对特定的点之间梯度总是正的或总是负的


因此,在每个区间内的某个点上计算梯度符号将告诉您该区间是否是单态递增的。如果你不喜欢严格递增的部分,你可以将具有正梯度的相邻区间拼接在一起,因为拐点将显示为一个f'x=0的根。

我认为你必须使用数值方法找到f'x的根。你可以随意实现任何你想要的,维基百科有一个列表。根将是梯度达到零的点;比如x1,x2,x3

然后有一组区间-inf,x1-x1,x2等,多项式的连续性确保了在一对特定的点之间梯度总是正的或总是负的


因此,在每个区间内的某个点上计算梯度符号将告诉您该区间是否是单态递增的。如果您不喜欢严格递增的截面,可以将具有正梯度的相邻区间拼接在一起,因为拐点将显示为f'x=0根之一。

单子曲线段由f'x的根分隔。您可以使用迭代算法找到根,如。

单子曲线段由f'x的根分隔。您可以使用迭代算法来查找根,例如。

作为计算f'根的替代方法,您也可以使用


它们允许在这里计算根的数量,在一个区间内计算f'的根。

作为计算f'根的替代方法,您也可以使用


它们允许在这里计算根的数量,在一个区间内f'的根。

为什么你说我不想求解f'x=0这样的方程,而f'x表达式是可用的?我看不出f'x表达式可以用来做什么,除了解0。请不要假设家庭作业f'x=0和f'x表达式之间的区别是我可以根据f'x得到任何位置的切向量。f'x=0意味着一个方程,它告诉你它的切线是1,0的位置。我可以看出你在寻找某种几何启发的方法,你提出的方法听起来类似于牛顿-拉斐逊法的几何解释——但它并没有回避你正在解f'x=0的事实。找到多项式的根是一个解决得很好的数值问题,使用现有的工作意味着您可以非常快地完成—无论是在编码方面还是在执行时间方面。你们想做的是在已经有一个合适的算法可用的情况下,提出一个新的高度专业化的算法-我不认为你们会从中得到另一个答案。为什么你们说我想避免求解像f'x=0和f'x表达式可用这样的方程?我看不出f'x表达式可以用来做什么,除了解0。请不要假设家庭作业f'x=0和f'x表达式之间的区别是我可以根据f'x得到任何位置的切向量。f'x=0意味着一个方程,它告诉你它的切线是1,0的位置。我可以看出你在寻找某种几何启发的方法,你提出的方法听起来类似于牛顿-拉斐逊法的几何解释——但它并没有回避你正在解f'x=0的事实。找到多项式的根是一个解决得很好的数值问题,使用现有的工作意味着您可以非常快地完成—无论是在编码方面还是在执行时间方面。你想做什么 o-do提出了一个新的高度专业化的算法,而现在已经有了一个合适的算法——我认为你不会从SO那里得到另一个答案。