/* -*-ePiX-*- */ #include "epix.h" using namespace ePiX; double alpha(-1.25), beta(1.3); double g(double x) { return 0.05*pow(fabs(x-alpha), 1.5)*pow(fabs(x-beta),1.25); } double f(double x) { return tanh(x) - 0.05 - g(x); } Deriv fp(f); double df(double x) { return fp.eval(x); } double iter(double x) { return x - f(x)/df(x); } int main() { picture(P(-2,-1), P(2,1), "2.5 x 1.25in"); begin(); bold(); set_crop(); line(P(xmin()), P(xmax())); line(P(alpha,f(alpha)), P(alpha)); line(P(alpha,f(alpha)), P(iter(alpha))); line(P(beta, f(beta)), P(beta)); line(P(beta, f(beta)), P(iter(beta))); plot(f, alpha, beta, 60); label(P(alpha), P(-2,-2), "$\\alpha$", bl); label(P(beta), P(2, 2), "$\\beta$", tr); label(P(0, ymin()), P(0,-18), "\\textsc{Fig.~23}", b); tikz_format(); end(); }