>  기사  >  백엔드 개발  >  다항식 피팅을 넘어 Python에서 지수 및 로그 곡선 피팅을 어떻게 수행합니까?

다항식 피팅을 넘어 Python에서 지수 및 로그 곡선 피팅을 어떻게 수행합니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-04 02:47:29316검색
How do you perform exponential and logarithmic curve fitting in Python beyond polynomial fitting? 
대수 곡선 피팅

모델 y = A B log x에 곡선을 맞추려면 양변에 로그를 취해 데이터를 변환하면 log y = log A B log x가 됩니다. Polyfit()을 사용하여 log x에 log y를 맞추면 계수 log A와 B를 얻습니다.

지수 곡선 피팅

곡선을 모델 y = Ae^에 맞추려면 (Bx), 양변에 로그를 취하면 log y = log A B x가 됩니다. 그런 다음 폴리핏()을 사용하여 x에 로그 y를 피팅하여 매개변수를 결정할 수 있습니다.

<code class="python">import numpy as np

x = np.array([1, 7, 20, 50, 79])
y = np.array([10, 19, 30, 35, 51])
coeffs = np.polyfit(np.log(x), y, 1)

print("Coefficients:", coeffs)
print("y ≈", coeffs[1], "+", coeffs[0], "log(x)")</code>
가중치 피팅의 편향에 대한 참고

가중치를 고려하지 않고 비가중 피팅에 주목할 가치가 있습니다. 데이터 포인트)는 특히 지수 곡선 피팅에서 작은 값 쪽으로 편향될 수 있습니다. 이를 완화하기 위해 y 값에 비례하여 가중치를 피팅 프로세스에 포함할 수 있습니다.

곡선 피팅에 Scipy 사용
<code class="python">x = np.array([10, 19, 30, 35, 51])
y = np.array([1, 7, 20, 50, 79])
coeffs = np.polyfit(x, np.log(y), 1)

print("Coefficients:", coeffs)
print("y ≈", np.exp(coeffs[1]), "*", "exp(", coeffs[0], "x)")</code>

Scipy는 비선형 곡선 피팅을 수행하는 curve_fit() 함수를 제공합니다. 이를 통해 변환 없이 모든 모델을 직접 맞출 수 있습니다.

위 내용은 다항식 피팅을 넘어 Python에서 지수 및 로그 곡선 피팅을 어떻게 수행합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.