方程系统SciPy

时间:2019-04-22 15:38:17

标签: python scipy

我想解决这样的方程组:

21.7424698112 = A + B*2^{-x} 
22.4531418345 = A + B*3^{-x} 
23.8033967265 = A + B*4^{-x} 

我写了一个脚本来查找A,B和x变量:

#!/usr/bin/env python
import numpy as np
from scipy.optimize import root

def your_funcs(X):

    A, B, x = X

    f = [21.7424698112-A-B*(1/2**x),
         22.4531418345-A-B*(1/3**x),
         23.8033967265-A-B*(1/4**x)]

    return f

sol = root(your_funcs, [1.0, 1.0, 1.0])
print(sol.x)

这种方法导致以下解决方案:

[ 22.66633613 -50.69139062 105.89893632]

我检查了解决方法,结果发现这些值不满足上述公式。我究竟做错了什么?我应该知道些什么吗?

0 个答案:

没有答案