0

我已经导入了所有的包

def f(x,y,z):

   return (1364*(z + x)**2 - (2728*(z + x)**3)/3 - 1600*y**2 + (3200*y**3)/3 \
                 - (5114092463576843*z**2)/4398046511104 + \
                 (5114092463576843*z**3)/6597069766656 + 1364*x**2 \
                 - (2728*x**3)/3 + 1364*(y - x)**2 + (2728*(y - x)**3)/3 \
                 + 1364*(z - y + x)**2 - (2728*(z - y + x**3)/3 \
                         - 20799363518172179/105553116266496)**(1/2)

x0 = [0.3, 0.2, 0.2]
H = np.array(hessian(f, (x, y, z)))

res = minimize(f, [0,0,0], method='nelder-mead', options={'xtol': 1e-8, 'disp': True})

我在 X0、H 和 res 中有无效的语法错误

4

1 回答 1

1

为了可视化,我将您的方程式分解为附加项。

def f(x,y,z):
    a = 1364 * (z + x) ** 2
    b = (2728 * (z + x) ** 3) / 3
    c = 1600 * y ** 2
    d = (3200 * y ** 3) / 3
    e = (5114092463576843 * z ** 2) / 4398046511104
    g = (5114092463576843 * z ** 3) / 6597069766656
    h = 1364 * x ** 2
    i = (2728 * x ** 3) / 3
    j = 1364 * (y - x) ** 2
    k = (2728 * (y - x) ** 3) / 3
    l = 1364 * (z - y + x) ** 2
    m = (2728 * (z - y + x ** 3) / 3 - 20799363518172179 / 105553116266496) ** (1 / 2)
    return (a - b - c + d - e + g + h - i + j + k + l - m)

“a”之前的前导“(”在“m”之后没有“)”,假设那是你想要的地方。请确保以上所有条款均正确无误。

于 2019-07-26T16:47:33.780 回答