У меня есть набор данных, и я хочу сравнить, какая строка описывает его лучше всего (полиномы разного порядка, экспоненциальные или логарифмические c). например: a * np.exp (-b * x) + c
Я решаю проблему в python, используя scipy.optimize import curve_fit
Но мне нужно знать, как решить эту проблему в C# . Есть ли способ решить эту проблему?
Это моя python программа:
import numpy as np
from scipy.optimize import curve_fit
def func_exp(x, a, b, c):
#c = 0
# return a * np.exp(b * x) + c
return b * np.exp(c * x) + a
def exponential_regression (x_data, y_data):
popt, pcov = curve_fit(func_exp, x_data, y_data, p0 = (0, 0, 0))
print(popt)
x_data = np.array([1.36, 1.44, 1.41, 1.745, 2.25, 1.42, 1.45, 1.5, 1.58])
y_data = np.array([648, 618, 636,485, 384, 639, 630, 583, 529])
exponential_regression(x_data, y_data)