(*Adapted by Rafael Luís: rafaelluis@netmadeira.com
 2016-09-11: adapted for Mathematica 10 by Ross Moore *)

(*Cobweb diagram for Newton's function*)

(*Function and parameters*)

Clear[f,c,x,x0,iterates];
f[x_,c_]:=(c*(((x^2)+1)/(2*x))); (*Function*)
x0=0.3;     (*initial values*)
c=1;      (*parameter*)
iterates=20;

NewtonSegments[c_,x0_,its_]:=Module[
{l=NestList[(((((#)^2)+1)/(2*#)))&,x0,its]},
Partition[Flatten[Transpose[{l,l}]],2,1]
]

p2=Partition[NewtonSegments[c,x0,iterates],2,1];

Manipulate[Plot[{f[x,c],x},{x,-2,2},PlotRange->{-2,2},PlotStyle->{{},Dashing[{.02}]},
Prolog->MapIndexed[{Hue[Length[#]/Length[p2]],Line[#]}&,Take[p2,2i]],
AspectRatio->Automatic,
AxesLabel->TraditionalForm/@{(Subscript[x, n]),(Subscript[x, n+1])}
],{{i,7,"iterates"},Range[Length[p2]/2]}]