R中的非线性最小二乘拟合

时间:2019-07-16 17:42:12

标签: r least-squares curve-fitting approximation

我想将曲线拟合为一组3个数据点(1,65),(200,70),(800,75),形式为

  

$ y = \ frac {ax} {b + x} $

使用点集,我有这组方程式

$ a-65b = 65 $

$ 200a-70b = 14000 $

$ 800a-75b = 60000 $

$ Ax = b $ 形式重写:

$$     \ begin {pmatrix}     1和-65 \\     200和-70 \\     800和-75 \\     \ end {pmatrix} \ begin {pmatrix}     一种 \\     b     \ end {pmatrix} = \ begin {pmatrix}     65 \\     14000 \\     60000     \ end {pmatrix} $$

这没有解决方案,因此我想使用最小二乘拟合。手动解决 $ A ^ TAx = A ^ Tb $ ,我终于得到: $$ \开始{pmatrix}     680001a−74065b \\     −74065a + 14750b     \ end {pmatrix} = \ begin {pmatrix}     50800065 \\     −5484225     \ end {pmatrix} $$

我使用solve函数来求解这组方程,如下所示:

a <- matrix(c(680001, -74065, -74065, 14750), 2, 2)
b <- c(50800065, -5484225)

solve(a,b)

这给了我我想要的参数。但是,我的问题是关于在R上执行此操作而不进行任何手动计算。所以我想自动解决 $ A ^ TAx = A ^ Tb $

0 个答案:

没有答案
相关问题