找回密码
 立即注册
查看: 10031|回复: 7

我的第一帖----关于nls的问题

[复制链接]
发表于 2015-11-30 08:12:49 | 显示全部楼层 |阅读模式
各位巨巨们好,刚接触R语言,下面的代码看的不是很懂,就看懂了前面一段,后面的4段看不懂,请大家帮忙看看,解释下,不胜感激。=。-

# Here is the program that would do the optimisation of ap = f(c) to retrieve
# a*_1, a*_2 and S.
f <- function(as1=as1,as2=as2,Sf=Sf,chl=chl)
{(as1-as2)/Sf*(1.-exp(-Sf*chl))+as2*chl }


res <- nls(y ~ f(as1,as2,S,chl=chl),start=list(as1=0.1,as2=0.05,S=3.))
Sf = as.numeric(coefficients(res)[3])
astar1=as.numeric(coefficients(res)[1])
astar2=as.numeric(coefficients(res)[2])


回复

使用道具 举报

 楼主| 发表于 2015-11-30 09:59:19 | 显示全部楼层
nls是解非线性模型的参数,能不能解线性超定方程组呢?那解线性超定方程组怎么弄?有边界条件怎么加?
回复

使用道具 举报

 楼主| 发表于 2015-11-30 09:59:47 | 显示全部楼层
nls是解非线性模型的参数,能不能解线性超定方程组呢?那解线性超定方程组怎么弄?有边界条件怎么加?
回复

使用道具 举报

发表于 2015-12-6 12:49:41 | 显示全部楼层
res <- nls(y ~ f(as1,as2,S,chl=chl),start=list(as1=0.1,as2=0.05,S=3.))

就是一个 模拟的非线性模型吧
Sf = as.numeric(coefficients(res)[3]) 这个是找出他的系数
是可以解线性的模型的 我认为啊,因为非线性模型就是通过转变 成了线性的这个意思吧
回复

使用道具 举报

 楼主| 发表于 2015-12-19 21:55:33 | 显示全部楼层

Error in numericDeriv(form[[3L]], names(ind), env) :
这是什么错误呢?
回复

使用道具 举报

 楼主| 发表于 2015-12-19 22:02:41 | 显示全部楼层

Error in nlsModel(formula, mf, start, wts) :
  参数初始估计值里有奇异梯度矩阵

回复

使用道具 举报

 楼主| 发表于 2015-12-19 22:07:26 | 显示全部楼层

Error in nlsModel(formula, mf, start, wts) :
  参数初始估计值里有奇异梯度矩阵

回复

使用道具 举报

发表于 2015-12-23 12:11:19 | 显示全部楼层
nls对 参数的初始值很敏感  很容易出现  什么奇异梯度矩阵,我建议 先用1st opt 来确定初始值  或者先转化为线性的 然后反推 非线性的初始值 。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2025-5-6 22:43 , Processed in 0.036421 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表