Python 多变量曲线拟合

Python 多变量曲线拟合,python,excel,scipy,curve-fitting,polynomial-math,Python,Excel,Scipy,Curve Fitting,Polynomial Math,我有一个压力(p)与角度(B)的多重数据集,其中每条曲线在恒定直径(D)值下获得。我想把曲线拟合成角度和直径的函数:P(B,D)=多项式拟合方程 数据集非常小,我尝试使用excel来处理这个问题,但我只得到一个适合角度的多项式,我想在函数中添加直径 P_1 = [2750000,2550000,2450000,2325000,2275000,2250000] P_2 = [1950000,1750000,1670000,1600000,1550000,1510000] P_3 = [123000

我有一个压力(p)与角度(B)的多重数据集,其中每条曲线在恒定直径(D)值下获得。我想把曲线拟合成角度和直径的函数:P(B,D)=多项式拟合方程

数据集非常小,我尝试使用excel来处理这个问题,但我只得到一个适合角度的多项式,我想在函数中添加直径

P_1 = [2750000,2550000,2450000,2325000,2275000,2250000]
P_2 = [1950000,1750000,1670000,1600000,1550000,1510000]
P_3 = [1230000,1100000,1000000,950000,940000,920000]
B = [20,30,40,50,60,70]
D_1=[.25,.25,.25,.25,.25,.25,.25]
D_2=[.3,.3,.3,.3,.3,.3,.3]
D_3=[.4,.4,.4,.4,.4,.4,.4]
如果我能得到一个多项式来拟合每条曲线,作为B和D的函数,这将是完美的,在这种情况下,D是一个常数。

步骤1:关闭Excel。它只适用于最基本的计算。步骤2:这里的预期功能是什么?你的描述很模糊。我们可以将各种各样的东西适应于各种各样的数据集,但是对于有限数量的数据点,有无限数量的函数适合于这些数据点——这些函数越复杂,它们就越适合。那么,你理论上期望的角度、直径和压力之间的关系是什么呢?压力的期望函数非常复杂,由10个变量组成,我想减少压力的函数,只用两个。因此,我试图简化预期的函数。当然这会引入错误,没关系。我接受一个基本的拟合函数,它的表达式不需要精确。多项式拟合通常可以正常工作。不确定如何使用Python/matlab编程。我们无法告诉您要定义什么样的函数。Tbh,如果我不得不猜测的话,这看起来很像指数衰减,但正如我所说的,所有类型的函数都适合有限的数据集。一般的结构是:定义你的函数,用scipy曲线拟合或其他最小二乘算法调用它,检查它是否适合你的数据集。令人惊讶的是,我在我的列表中没有找到任何多项式示例,因此这里只是演示该方法的示例
np.polyfit
np.polyval
可能会很方便,如果您希望使用多项式函数的话。