嘿大家,
为了向您展示我的问题,我画了一张照片。如您所见,曲线' A(m)'红色是目标功能。它的表达是众所周知的。
绿色曲线是反对功能' f'带有4个参数a,b,c,d。 此函数非常复杂(表达式超过4000个字符串)并由程序生成。
我的问题是如何找到最佳拟合参数a,b,c,d与另一个附加条件:
f> = A
主要困难是速度,如上所述,功能过于复杂
我尝试使用嵌套循环来查找最佳参数,但每个循环都需要几分钟才能运行然后失败。
我是python的新手。任何建议和想法将不胜感激。
提前谢谢大家!
答案 0 :(得分:3)
在scipy中,您有优化模块,允许您对参数列表执行非线性优化,您还可以定义优化程序要遵守的约束。因此,您可以将损失函数定义为用户函数和已知函数之间的差异,并在给定参数上最小化这种差异。请参阅:https://docs.scipy.org/doc/scipy/reference/optimize.html