我正在寻找一个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
到{{1 }},对每个值求b
,然后简单地返回列表的最小值/最大值。对于相距很远的f
值,这会花费很长时间。
实现这一目标的最佳方法是什么?是否有用于科学/数学计算的外部图书馆?谢谢。
答案 0 :(得分:3)
对于三次函数,您无需优化即可使用微分找到可能的最小/最大位置:
我认为差异化应该放在sympy
包中
还要检查问题陈述是否假定考虑了边界值(如@Lakshay Garg在注释中所指出的那样)