想请问一下:
1.dis in g "*" _c 是什么意思呀
2. text(`=`y'-0.5' `=`x'+0.4' "(`x', `y')") 能解释一下这个命令吗,不懂括号里面的含义,也不知道为什么加上了这个命令stata才会弹出图片,不加就没有
3.为什么下面全文执行的时候还能在x=1.8停止循环
全文如下:
local h = 0.001 // 步长
local x =1 // x 的初始值
local j = 0 // 计数器:记录迭代次数
local e = 1 // y1-y0
local e0 = `h'/10 // 收敛判据 (修改为动态数值)
while abs(`e')>`e0'{
// 修改:abs(`e')
local y0 = 0.2*exp(`x') - ln(`x'^2) + 3
local x = `x' + `h'
local y1 = (0.2*exp(`x') - ln(`x'^2)) + 3
local e = `y1' - `y0' // 此前 e = abs(`y1'-`y0')
if (`e' > 0){
local h = -`h' // 新增:反向搜索
}
dis in g "*" _c
local j = `j' + 1
}
dis "e = " `e'
dis "x = " `x' // x 的解
dis "y = " `y1' // y 的极小值
dis "j = " `j' // 迭代次数
*-图示:
local x: dis %4.3f `x' // 新增:显示的更美观
local y: dis %4.3f `y1'
twoway function y = 0.2*exp(x) - ln(x^2) + 3, ///
range(0 4) lw(thick) xline(`x') yline(`y1') ///
text(`=`y'-0.5' `=`x'+0.4' "(`x', `y')")