首页 > 解决方案 > 如何在 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)

标签: c#.netnumpyscipylinear-regression

解决方案


推荐阅读