``(* \$Id: AlgNewton.m  1995/11/9 *)(*********************************************************************        PostGrado del Curso de Mathematica         *********************************************************************)(* :Title: Algoritmo de Newton *)(* :Author: Javier Soria *) (* :Summary: Calculo de raices mediante la aproximacion del Algoritmo de Newton*)  (* :Context: Directorio`AlgNewton` *)(* set up the package context, included any imports *)BeginPackage["AlgNewton`"](* usage messages for the exported functions and the context itself *)AlgNew::usage = "Genera una animacion de las aproximaciones de la raiz. f es la funcion, x la variable, a el punto origen del algoritmo, c y cc son los extremos del dominio de f, o y oo son los extremos del rango de la imagen de f"AlgNew2::usage = "Muestra las distintas aproximaciones en un grafico."Begin["`Private`"]    (* begin the private context *)AlgNew[f_,{x_,a_,n_},{c_,cc_,o_,oo_}]:=Module[    {p,b=f/.x->a,y,z=a,ff,ww,lista={},    dd,ddd},    ff=Plot[f,{x,c,cc},PlotRange->        {{c,cc},{o,oo}},            DisplayFunction->Identity];    Do[    p=D[f,x]/.x->z;    y=p(x-z)+b;    ww=Plot[y,{x,c,cc},PlotRange->        {{c,cc},{o,oo}},            DisplayFunction->Identity];    z=-b/p+z;    b=f/.x->z;    ddd=Graphics[Line[{{z,0},{z,b}}]];    dd=Graphics[        Prepend[{Point[{z,0}]},        PointSize[.02]]];    Show[{ff,ww,dd,ddd},    DisplayFunction->\$DisplayFunction];    AppendTo[lista,z],    {k,1,n}    ];    Print[N[lista]];    Print["Solución: ",FindRoot[f==0,{x,a}]]];``
``AlgNew2[f_,{x_,a_,n_},{c_,cc_,o_,oo_}]:=Module[    {p,b=f/.x->a,y,z=a,ff,ww,lista={},        lista2={},dd,ddd},    ff=Plot[f,{x,c,cc},PlotRange->        {{c,cc},{o,oo}},            DisplayFunction->Identity];    AppendTo[lista2,ff];    Do[    p=D[f,x]/.x->z;    y=p(x-z)+b;    ww=Plot[y,{x,c,cc},PlotRange->        {{c,cc},{o,oo}},            DisplayFunction->Identity];    z=-b/p+z;    b=f/.x->z;    ddd=Graphics[Line[{{z,0},{z,b}}]];    dd=Graphics[        Prepend[{Point[{z,0}]},        PointSize[.02]]];    AppendTo[lista2,ddd];    AppendTo[lista2,dd];    AppendTo[lista2,ww];    AppendTo[lista,z],    {k,1,n}    ];    Show[lista2,    DisplayFunction->\$DisplayFunction];    Print[N[lista]];    Print["Solución: ",FindRoot[f==0,{x,a}]]]``

Converted by Mathematica      March 1, 2002