Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 曲线拟合时如何限制R中的参数?_Python_R_Regression_Curve Fitting_Non Linear Regression - Fatal编程技术网

Python 曲线拟合时如何限制R中的参数?

Python 曲线拟合时如何限制R中的参数?,python,r,regression,curve-fitting,non-linear-regression,Python,R,Regression,Curve Fitting,Non Linear Regression,我是R的新手,需要为我的高中12年级论文(是的,这是存在的)拟合一些数据点的曲线。 我有一组数据点,如下所示: A(0.15, 0.6) B(0.44, 1.06) C(0.921, 1.22) D(1.66, 1.5) E(2.36, 1.58) F(2.74, 1.52) G(3.46, 1.68) 我想用形式为y=a*log(b(x-c))+d的函数对它们进行建模。我该怎么做?我尝试过一些方法,但到目前为止我总能得到回应 Computation failed in 'stat_smoot

我是R的新手,需要为我的高中12年级论文(是的,这是存在的)拟合一些数据点的曲线。 我有一组数据点,如下所示:

A(0.15, 0.6)
B(0.44, 1.06)
C(0.921, 1.22)
D(1.66, 1.5)
E(2.36, 1.58)
F(2.74, 1.52)
G(3.46, 1.68)
我想用形式为y=a*log(b(x-c))+d的函数对它们进行建模。我该怎么做?我尝试过一些方法,但到目前为止我总能得到回应

Computation failed in 'stat_smooth()': Missing value or infinity produced when evaluating the model.
我怀疑这是因为R考虑了参数a、b、c和d的所有可能值,并且b和c可能因此导致一些问题,因为对数仅定义在正实数的域上(0除外)。我有什么办法解决这个问题吗?我知道b必须是正的,非零的,我知道c不能等于x。然而,我不知道如何实现这一点

如果你不知道如何帮助我在R中解决这个问题,如果你能用python或matlab编写一个替代方案,那就太酷了,因为我对这两种语言也有一点了解。请记住,我必须使用高斯-牛顿算法


任何支持都将不胜感激

试试这些初始参数估计:a=2.8E-01,b=5.7E+02,c=7.5E-02,d=-4.4E-01为什么必须使用高斯-牛顿?你能编辑你的问题以包含你迄今为止尝试过的导致错误的代码吗?@BenBolker我使用未修改的发布公式拟合发布的数据,没有问题。我有一个很好的拟合,这就是我之前评论中的初始参数估计的来源。一切对我来说都正常。也许我的代数(或逻辑)错了。@JamesPhillips,你是怎么得到这些起始值的?