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