반응형
def func(x, y, a, b, c):
return log(a) + b*log(x) + c*log(y)
여기서 x와 y는 독립 변수이고 a, b, c에 적합합니다.
해결 방법
독립 변수에 대한 다차원 배열에 curve_fit
을 전달할 수 있지만 func
는 동일한 것을 허용해야합니다. 예를 들어,이 배열을 X
라고 부르고 명확성을 위해 x
, y
로 압축을 풉니 다.
import numpy as np
from scipy.optimize import curve_fit
def func(X, a, b, c):
x,y = X
return np.log(a) + b*np.log(x) + c*np.log(y)
# some artificially noisy data to fit
x = np.linspace(0.1,1.1,101)
y = np.linspace(1.,2., 101)
a, b, c = 10., 4., 6.
z = func((x,y), a, b, c) * 1 + np.random.random(101) / 100
# initial guesses for a,b,c:
p0 = 8., 2., 7.
print curve_fit(func, (x,y), z, p0)
핏 제공 :
(array([ 9.99933937, 3.99710083, 6.00875164]), array([[ 1.75295644e-03, 9.34724308e-05, -2.90150983e-04],
[ 9.34724308e-05, 5.09079478e-06, -1.53939905e-05],
[ -2.90150983e-04, -1.53939905e-05, 4.84935731e-05]]))
참조 페이지 https://stackoverflow.com/questions/28372597
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python의 호출자 스레드에서 스레드의 예외 포착 (0) | 2020.11.30 |
---|---|
파이썬 Python Sets vs Lists (0) | 2020.11.30 |
파이썬 Parse HTML via XPath (0) | 2020.11.30 |
파이썬 How can I have autocomplete for python libraries in sublime (0) | 2020.11.30 |
파이썬 Pythons timeit으로 성능 테스트를 위해 코드 세그먼트의 시간을 어떻게 측정 할 수 있습니까? (0) | 2020.11.30 |
댓글