我想计算二次方程的不同y值的根。但是,当我运行以下代码得到一个我不明白的错误。如果y只是一个数值,而不是向量c(0.6,0.4,0.9),它就可以工作。我错误地使用了sapply,还是将变量传递给错误的函数?
# Paramters for quadratic poly
a<-0.875
b<-0.3779
c<-0.098
y<- c(0.6,0.4,0.9)
# quadratic function
fun<-function(x) c-y+b*x+a*x^2
# Finding root in specific interval function
root<- function (x) uniroot(fun,c(0,2))$root
# Finding roots for a list of y values
res<-sapply(y,root)
答案 0 :(得分:2)
您可以这样做:
sapply(y,function(y) uniroot(fun,c(0,2),y=y,c=c,a=a,b=b))