from symfit import parameters, Maximize, Equality
# Make your 50 parameters to optimize and their coefficients.
aN = parameters(', '.join('a{}'.format(i) for i in range(1, 51)))
coeff = [7.9, 8.1, ..., 2.6]
model = sum(coeff_i * a_i for a_i, coeff_i in zip(aN, coeff))
fit = Maximize(model, constraints=[Equality(sum(aN), 100)])
fit_result = fit.execute()
使用
symfit
,一个我为scipy
制作的包装器,这变得更容易实现。所以请原谅我推荐你试一试。您可以在这里找到文档:http://symfit.readthedocs.io/en/latest/fitting_types.html#minimize-maximize在你的情况下,我会做以下工作:
完成!你知道吗
另外,我担心这是一个欠定方程组,对吧?但你要担心的是:)。你知道吗
相关问题 更多 >
编程相关推荐