float f(float x){ ...}
设 dx 初值
计算 dy
dy = f(x0) - f(x0+dx);
导数 初值
dd1=dy/dx;
Lab:;
dx = 0.5 * dx; // 减小步长
dy = f(x0) - f(x0+dx);
dd2=dy/dx; // 导数 新值
判断新旧导数值之差是否满足精度,满足则得结果,不满足则返回
if ( fabs(dd1-dd2) < 1e-06 ) { 得结果dd2...}
else { dd1=dd2;goto Lab;};
float f(float x){ ...}
设 dx 初值
计算 dy
dy = f(x0) - f(x0+dx);
导数 初值
dd1=dy/dx;
Lab:;
dx = 0.5 * dx; // 减小步长
dy = f(x0) - f(x0+dx);
dd2=dy/dx; // 导数 新值
判断新旧导数值之差是否满足精度,满足则得结果,不满足则返回
if ( fabs(dd1-dd2) < 1e-06 ) { 得结果dd2...}
else { dd1=dd2;goto Lab;};