文档库 最新最全的文档下载
当前位置:文档库 › 【原创】R语言非线性拟合案例附代码数据

【原创】R语言非线性拟合案例附代码数据

【原创】R语言非线性拟合案例附代码数据
【原创】R语言非线性拟合案例附代码数据

非线性拟合的代码.

这里列举一个2次多项式拟合的例子f(x) = a + b*x+c*x^2

data=read.csv("data for R.csv")

y=data$m1

x=data$m2

plot(x,y)#绘制两个变量的散点图,查看变量之间的关系

从变量散点图可以看出,两个变量之前存在非线性关系,根据经验,使用f(x) = a + b*x+c*x^2 进行拟合。

funfit(x,y,2) #使用函数对参数进行预测

得到的参数a,b,c分别为-1.5430745,0.9970507,0.1195567

f(x) = -1.5430745+ 0.9970507*x + 0.1195567*x^2

lines(x,funfit(x,y,2)[1]+funfit(x,y,2)[2]*x+funfit(x,y,2)[3]*x^2,col="red")#使用模型进行线性拟合

最后是拟合的图像

##然后对比R中的nls函数进行拟合的结果

mod <- nls(y ~ a+b*x+c*x^2,start=list(a= -3, b = 0.1, c = 0.1), trace=T) summary(mod)

lines(x,predict(mod),col="blue")

相关文档