2024-04-19 17:42:51 发布
网友
在MathCad中,它看起来像这样:
如何使用python(scipy或sympy)解决它?在
也许像这样?在
def fun(n): x, y, z = n return -0.7353 + 3.306 * np.absolute(0.706 - x) + 1.247 * np.absolute(0.7210 - y) - (0.89072 - 1.4829*x + 0.23239*y - z) scipy.optimize.fsolve(fun, [1,1,1])
重要的是压缩。最小化基础方法)是误差的二次惩罚(这是双方的差异)。当然还有其他的方法,但是要注意限制目标。在
from scipy.optimize import minimize fun = lambda x: ((-0.7353 + 3.306 * (abs(0.706 - x[0])) + 1.247 * (abs(0.721 - x[1]))) - \ (0.89072 - 1.4829 * x[0] + 0.23239 * x[1] - x[2]))**2 x0 = [1, 1, 1] res = minimize(fun, x0, tol=1e-6) print(res)
如评论中所述,没有唯一的解决方案。你的起点和选择的算法决定了你得到的是什么样的解。在
唯一相关的部分是目标,它应该接近零!
代码
重要的是压缩。最小化基础方法)是误差的二次惩罚(这是双方的差异)。当然还有其他的方法,但是要注意限制目标。在
结果
^{pr2}$如评论中所述,没有唯一的解决方案。你的起点和选择的算法决定了你得到的是什么样的解。在
唯一相关的部分是目标,它应该接近零!
相关问题 更多 >
编程相关推荐