【发布时间】:2020-10-11 00:29:18
【问题描述】:
我使用nls包分析非线性模型(功率曲线,y= ax^b)。
cal<- nls(formula= agw~a*area^b, data=calibration_6, start=list(a=1, b=1))
summary(cal)
我现在想要的是强制拦截 (a) 为零以检查某些内容。在 Excel 中,我无法设置功率曲线的截距。在R中,可以设置拦截吗?
如果可能的话,你能告诉我怎么做吗?
【问题讨论】:
-
只需从公式(和起始值列表)中删除
a -
看来
nls遵循与公式相同的约定,因此nls(formula = agw ~ a * area^b - 1, data = calibration_6, start = list(a = 1, b = 1))应该这样做。 -
感谢您的回答。如果我按照 HongOoi 做,那就是 y= x^1.32。如果我按照@ChuckP 做,那就是 y= 0.96x^1.35。坦率地说,我不知道究竟是什么强制截距为零的定义。哪个等式是正确的?
-
感谢您的回答。如果我按照@HongOoi 做,那就是 y= x^1.32。如果我按照 ChuckP 做,那就是 y= 0.96x^1.35。坦率地说,我不知道究竟是什么强制截距为零的定义。哪个等式是正确的?
-
亲爱的。 @G.Grothendieck 我只是想知道我的图表是否从零开始,等式是如何改变的。像线性模型一样,我们可以将截距设置为零并查看方程。像这样,我想知道如果图表从零开始,我的功率曲线方程是如何变化的。
标签: r non-linear-regression nls intercept