我正在寻找一个Python函数,它接受6个变量,a, b, c, d, e, f
,其中a, b
是计算的间隔(例如[1, 3]
,所有实数),而c, d, e, f
是三次多项式的系数,即f(x) = cx^3 + dx^2 + ex + f
,并返回[a, b]
区间的局部最小值/最大值。
我有一个粗略的想法(虽然计算时间会很糟糕)如何编程,我创建一个新的步骤列表0.01
或类似的小从a
到b
,评估每个值的f
,然后简单地返回min /列表的最大值。对于相隔很远的a, b
值,这将花费很长时间。
制作此产品的最佳方法是什么?有没有用于科学/数学计算的外部库?谢谢。
对于三次函数,您可以找到潜在最小值/最大值的位置而无需优化但使用区分:
我认为差异化应该在sympy
包中
还要检查问题陈述是否假设考虑边界值(如评论中的@Lakshay Garg通知)