나는 다음의 간단한 R 코드에 완전히 당혹 스럽다. 첫 번째 부분x
은 v
과 같습니다 (그게 내가 원하는 것입니다).동일한 논리이지만 R에서 간단한 최적화와 다른 결과가 나온다.
그런데 이상하게도 내가 입력 값을 변경할 수 있지만, 첫 번째 부분 그러나 이것은 시간 x
및 v
가 더 이상 일치하지에서와 동일한 논리를 따르는 두 번째 부분에! 나는 그 문제가 어디 있는지 깊이 궁금해하니?
첫 번째 부분 :
m1 = 5
m2 = 1.3*m1
A = m1 + m2
x = 5
a <- function(m3){
abs((m1 - (A + m3)/3)^2 + (1.3*m1 - (A + m3)/3)^2 + (m3 - (A + m3)/3)^2 - 3*x) }
m3 = optimize(a, interval = c(0, 100), tol = 1e-20)[[1]]
v = var(c(m1, m2, m3))*(2/3) # gives "5" same as "x"
두 번째 부분 :
eta.sq = .25
beta = qnorm(c(1e-12, .999999999999))
q = c(0, 25)
mu.sig = solve(cbind(1L, beta), q)
m1 = mu.sig[[1]]
H = (mu.sig[[2]])^2
m2 = 1.3 * m1
A = m1 + m2
x = (H * eta.sq)/(1 - eta.sq) # "x" is: 1.052529
a = function(m3){
abs((m1 - (A + m3)/3)^2 + (1.3*m1 - (A + m3)/3)^2 + (m3 - (A + m3)/3)^2 - 3*x) }
m3 = optimize(a, interval = c(0, 100), tol = 1e-20)[[1]]
v = var(c(m1, m2, m3))*(2/3) # "v" is: 2.343749