gpt4 book ai didi

python - 使用 Python 求解 4 参数(Rodbard 方程)的常数

转载 作者:太空宇宙 更新时间:2023-11-04 03:18:28 24 4
gpt4 key购买 nike

我是 python 的新手,我想做的是编写一个算法来求解 Rodbard 方程中的 4 个未知参数,我们将使用 ImageJ 测量的灰度值与光密度校准盘相关联。该方程是非线性的,写作 y = c*((x-a)/(d-x))^(1/b) 其中 a、b、c 和 d 未知。我有四个点 (176.5, 0)、(161.333, 0.1)、(66.1667, 0.9) 和 (40.833, 2.5) 的 x 和 y 值。下面,我发布了解决这 4 个未知数的尝试。任何帮助我指明正确方向的帮助都将不胜感激!

    import scipy.optimize as opt

def f(a, b, c, d):
0 == [c * ((176.5 - a)/(d - 176.5))**(1/b)]
0.1 == [c * ((161.333 - a)/(d - 161.333))**(1/b)]
0.9 == [c * ((66.1667 - a)/(d - 66.1667))**(1/b)]
2.5 == [c * ((40.833 - a)/(d - 40.833))**(1/b)]
return f

opt.curve_fit(a, b, c, d)

print a
print b
print c
print d

最佳答案

如果要使用 curve_fit,则应执行以下操作:

def f(x1, a1, b1, c1, d1):
return c1 * (((x1 - a1)/(d1 - x1))**1/b1)

x_data = np.array([176.5, 161.333, 66.1667, 40.833])
y_data = np.array([0., 0.1, 0.9, 2.5])
p0 = np.array([168., -0.01, -7.4, 35000.])

popt, pcov = opt.curve_fit(f, x_data, y_data, p0, None, False, True, ftol = 0.00001)

p0 是初始猜测,如果您不告知它,将假定为一个数组。

根据提供的数据,我尝试了不同的参数,但我无法找到解决方案。

希望对您有所帮助。祝你好运!

关于python - 使用 Python 求解 4 参数(Rodbard 方程)的常数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35467860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com