我希望计算和绘制给定函数 f 的反函数。我在 R 中有以下代码:
############## Parameters ######
r1 <- 0.0125
r2 <- 0.0305
S1 <- 0.0400
S2 <- 0.0900
s1 <- sqrt(S1)
s2 <- sqrt(S2)
rho <- -0.45
############## function f ###########
f <- function(u) ((((u-r2)/(r1-r2))^2)*((s1)^2)) +
(((1-((u-r2)/(r1-r2)))^2)*((s2)^2)) +
(2*(((u-r2)/(r1-r2)))*(1-((u-r2)/(r1-r2)))*rho*s1*s2)
f(r1)
#### the values is equal to 0.04
问题是如何反转这个函数,我尝试使用uniroot函数,但无法解决我的问题。这是我使用的代码:
######## First I define the function inverse :
inverse = function (f, lower = 0, upper = 0.035) { function (y) uniroot((function (x) f(x) - y), lower = lower, upper = upper)[1]}
######## second I define the inverse of f using inverse
f_inverse = inverse(function (u) f(u), 0.0, 0.035)
Thanks for your help,