因此,我有一個有條件地定義的函數,如下面的R代碼所示,它是-1和t之間的積分。繪製反函數與R
f <- function(x) ifelse((x<=1 & x>=-1),3/4*(1-x^2),0)
F <- function(t) integrate(Vectorize(f),-1,t)$value
使用:
plot(Vectorize(F),-2,2);
我得到F.
的曲線現在我要繪製F的反函數,所以做了一些研究之後,我發現了uniroot功能試圖用這種方式:
Finv <- function(s) uniroot(function(t) F(t) - s, lower=-1,upper=1)
解決函數F(x)= Y在[-1,1]。 但想要繪製結果時:
plot(Vectorize(Finv),-2,2)
我不斷收到以下錯誤:
Error in uniroot(function(t) F(t) - s, lower = -1, upper = 1) :
f() values at end points not of opposite sign
我不明白是什麼問題?