For example, I have a equation:
1/((1+p)^30)*10,000=100
I need to solve p. How to do it in Stata?
1/((1+p)^30)*10,000=100
I need to solve p. How to do it in Stata?
mata: mata clear
mata
void eval0(todo, p, v, g, H)
{
v = (100- 10000/((1 + p)^30))^2
}
S = optimize_init()
optimize_init_which(S, "min")
optimize_init_conv_ptol(S, 1e-12)
optimize_init_conv_vtol(S, 1e-12)
optimize_init_evaluator(S, &eval0())
optimize_init_params(S, (0))
p= optimize(S)
p
test = 10000/((1 +p)^30)
test
end
mata: mata clear mata function myfunc(p) return( 1 / ((1 + p) ^ 30) * 10000 - 100) mm_root(p=., &myfunc(), 0, 100, 0, 1000) // range 0 to +100 p // .1659144012 mm_root(p=., &myfunc(), -100, 0, 0, 1000) // range -100 to 0 p // -2.165914401 end
Comment