我想绘制这个函数,但我得到“uniroot(L,lower = 0, upper = 1e+05) 中的错误:端点处的 f() 值不是相反的符号”

问题描述

find.c<-function(p){
  L<- function(Q,x=p){
    Const <- log(16.1)
    ConstP <- log(15.1+Q)*(0.144)+log(14.1+Q)*(0.0064)+log(8.1+Q)*(0.0032)
    X <- log(16.1+Q)*(0.81+x)+log(2.1+Q)*(0.0004+x)
    X + ConstP - Const #This is derived from the principle of zero utility. 
  }
  P<-uniroot(L,lower=0,upper=100000)$root
  c=P/0.44
  return(c)
}
find.c(p=0.005)
find.c(p=0.015)

这个函数在查找 p 的单个值时工作正常。但是当我尝试

curve(find.c,from = 0,to=1)

我在标题中看到错误。 我对 R 或编码非常陌生,所以我真的迷失在这里

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)