簡體   English   中英

如何使用sapply循環函數?

[英]How to loop a function with sapply?

我想計算二次方程的不同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)

你可以這樣做:

 sapply(y,function(y) uniroot(fun,c(0,2),y=y,c=c,a=a,b=b))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM