python鏁版嵁鎷熷悎鎬庝箞瀹炵幇
鍦≒ython涓紝鍙互浣跨敤numpy
鍜?code>scipy搴撲腑鐨勫嚱鏁版潵瀹炵幇鏁版嵁鎷熷悎銆?/p>
棣栧厛锛屼綘闇€瑕佸鍏ユ墍闇€鐨勫簱锛?/p>
import numpy as np
from scipy import optimize
鐒跺悗锛屼綘闇€瑕佸垱寤轰竴涓寘鍚綘鐨勬暟鎹殑鏁扮粍銆傚亣璁句綘鐨剎鍜寉鍊煎瓨鍌ㄥ湪涓や釜鍒嗗埆涓?code>x_data鍜?code>y_data鐨勬暟缁勪腑銆?/p>
鎺ヤ笅鏉ワ紝浣犲彲浠ラ€夋嫨涓€涓悎閫傜殑鎷熷悎鍑芥暟锛屽苟瀹氫箟涓€涓敤浜庢嫙鍚堢殑鍑芥暟銆傝繖涓嚱鏁板皢鎺ユ敹涓€涓寘鍚鎷熷悎鐨勫弬鏁扮殑鏁扮粍锛屽苟杩斿洖涓庣粰瀹氬弬鏁扮浉瀵瑰簲鐨勬嫙鍚堟洸绾裤€?/p>
def func(x, a, b, c):
return a * np.exp(-b * x) + c
鐒跺悗锛屼綘鍙互浣跨敤optimize.curve_fit
鍑芥暟鏉ヨ繘琛屾嫙鍚堛€傝繖涓嚱鏁伴渶瑕佷紶鍏ユ嫙鍚堝嚱鏁般€亁鍜寉鏁版嵁浠ュ強涓€涓垵濮嬪弬鏁扮殑鏁扮粍銆傚畠灏嗚繑鍥炰竴涓寘鍚嫙鍚堝弬鏁板拰鍗忔柟宸煩闃电殑鍏冪粍銆?/p>
params, params_covariance = optimize.curve_fit(func, x_data, y_data)
鏈€鍚庯紝浣犲彲浠ヤ娇鐢ㄦ嫙鍚堝弬鏁版潵璁$畻鎷熷悎鏇茬嚎锛屽苟灏嗗叾缁樺埗鍦ㄥ師濮嬫暟鎹笂銆?/p>
x_fit = np.linspace(min(x_data), max(x_data), 100)
y_fit = func(x_fit, params[0], params[1], params[2])
import matplotlib.pyplot as plt
plt.scatter(x_data, y_data, label='Data')
plt.plot(x_fit, y_fit, label='Fit')
plt.legend()
plt.show()
杩欐牱锛屼綘灏卞彲浠ラ€氳繃鎷熷悎鍑芥暟鏉ユ嫙鍚堜綘鐨勬暟鎹紝骞跺皢鎷熷悎鏇茬嚎缁樺埗鍦ㄥ師濮嬫暟鎹笂銆?/p>
相关问答