https://www.cnblogs.com/blues-x/articles/15792566.html
将这个网站的MATLAB程序转化为R语言的。
##https://www.cnblogs.com/blues-x/articles/15792566.html
Mu <- 0.4
Sigma <- 5
Lambda <- c(1:999) * 0.001
A <- numeric()
B <- numeric()
C <- numeric()
T <- 1.5
for (i in 1:999){
model = function(x) c(F1=x[1]^Sigma-(Mu*Lambda*x[1]+(1-Mu)/2)/(Lambda*x[1]^(1-Sigma)+(1-Lambda)*(x[2]*T)^(1-Lambda))+((Mu*(1-Lambda)*x[2]+(1-Mu)/2)*T^(1-Sigma))/(Lambda*(x[1]*T)^(1-Mu)+(1-Lambda)*x[2]^(1-Sigma)),
F2=x[2]^Sigma-(Mu*Lambda*x[1]+(1-Mu)/2)*T^(1-Sigma)/(Lambda*x[1]^(1-Sigma)+(1-Lambda)*(x[2]*T))^(1-Sigma))+(Mu*(1-Lambda*x[2])+(1-Mu)/2)/(Lambda*(x[1]*T)^(1-Sigma)+(1-Lambda)*x[2]^(1-Sigma))
ini <- c(0.9,0.4)
ss = multiroot(model,ini)
G1=(Lambda*(ss$root[1]^(1-Sigma))+(1-Lambda)*((ss$root[2]*T)^(1-Sigma)))^(1/(1-Sigma))
G2=(Lambda*((ss$root[1]*T)^(1-Sigma))+(1-Lambda)*(ss$root[2]^(1-Sigma)))^(1/(1-Sigma))
w1=ss$root[1]*G1^(-Mu)
w2=ss$root[2]*G2^(-Mu)
A=w1-w2
}
plot(Lambda,A)
T = 2.1
for (i in 1:500){
model = function(x) c(F1=x[1]^Sigma-(Mu*Lambda*x[1]+(1-Mu)/2)/(Lambda*x[1]^(1-Sigma)+(1-Lambda)*(x[2]*T)^(1-Lambda))+((Mu*(1-Lambda)*x[2]+(1-Mu)/2)*T^(1-Sigma))/(Lambda*(x[1]*T)^(1-Mu)+(1-Lambda)*x[2]^(1-Sigma)),
F2=x[2]^Sigma-(Mu*Lambda*x[1]+(1-Mu)/2)*T^(1-Sigma)/(Lambda*x[1]^(1-Sigma)+(1-Lambda)*(x[2]*T))^(1-Sigma))+(Mu*(1-Lambda*x[2])+(1-Mu)/2)/(Lambda*(x[1]*T)^(1-Sigma)+(1-Lambda)*x[2]^(1-Sigma))
ini <- c(1.2,0.98)
ss = nleqslv(ini, model)
G1=(Lambda*(ss$x[1]^(1-Sigma))+(1-Lambda)*((ss$x[2]*T)^(1-Sigma)))^(1/(1-Sigma))
G2=(Lambda*((ss$x[1]*T)^(1-Sigma))+(1-Lambda)*(ss$x[2]^(1-Sigma)))^(1/(1-Sigma))
w1=ss$x[1]*G1^(-Mu)
w2=ss$x[2]*G2^(-Mu)
B=w1-w2
}
for (i in 501:999){
model = function(x) c(F1=x[1]^Sigma-(Mu*Lambda*x[1]+(1-Mu)/2)/(Lambda*x[1]^(1-Sigma)+(1-Lambda)*(x[2]*T)^(1-Lambda))+((Mu*(1-Lambda)*x[2]+(1-Mu)/2)*T^(1-Sigma))/(Lambda*(x[1]*T)^(1-Mu)+(1-Lambda)*x[2]^(1-Sigma)),
F2=x[2]^Sigma-(Mu*Lambda*x[1]+(1-Mu)/2)*T^(1-Sigma)/(Lambda*x[1]^(1-Sigma)+(1-Lambda)*(x[2]*T))^(1-Sigma))+(Mu*(1-Lambda*x[2])+(1-Mu)/2)/(Lambda*(x[1]*T)^(1-Sigma)+(1-Lambda)*x[2]^(1-Sigma))
ini <- c(0.98,1.2)
ss = nleqslv(ini, model)
G1=(Lambda*(ss$x[1]^(1-Sigma))+(1-Lambda)*((ss$x[2]*T)^(1-Sigma)))^(1/(1-Sigma))
G2=(Lambda*((ss$x[1]*T)^(1-Sigma))+(1-Lambda)*(ss$x[2]^(1-Sigma)))^(1/(1-Sigma))
w1=ss$x[1]*G1^(-Mu)
w2=ss$x[2]*G2^(-Mu)
B=w1-w2
}
plot(Lambda,B)


雷达卡






京公网安备 11010802022788号







