| > | restart; with(plots): with(plottools): |
| > | N:=6: Step:=10:
xvals:=array(0..Step): points:=array(0..Step): vertplots:=array(0..Step-1,1..N): drawverts:=array(0..Step-1): horizplots:=array(0..Step-1,1..N): drawhoriz:=array(0..Step-1): |
| > | cobweb:=proc(f,c)
xvals[0]:=c: |
| > | for i from 1 to Step do xvals[i]:=evalf(f(xvals[i-1])): end do: |
| > | curveplot:=plot(f(x),x=0..1,thickness=2, scaling=CONSTRAINED,color=green,tickmarks=[4,4]): |
| > | diagplot:=plot(x, x=0..1, scaling=CONSTRAINED, thickness=2, color=black,tickmarks=[3,3]): |
| > | for i from 0 to Step do points[i]:=circle([xvals[i],xvals[i]],0.005,thickness=2,color=blue): end do: |
| > | background:=display(curveplot,diagplot): |
| > | for l from 0 to Step-1 do for s from 1 to N do vertplots[l,s]:=plot([xvals[l],(1-t*s/N)*xvals[l]+xvals[l+1]*t*s/N,t=0..1],color=blue,view=[0..1,0..1]): end do:end do: |
| > | for l from 0 to Step-1 do for s from 1 to N do horizplots[l,s]:=plot([(1-t*s/N)*xvals[l]+xvals[l+1]*t*s/N,xvals[l+1],t=0..1],color=blue,view=[0..1,0..1]): end do: end do: |
| > | for j from 0 to Step-1 do drawverts[j]:=seq(display(background,seq(points[qq],qq=0..j), seq(horizplots[ss,N],ss=0..j-1), seq(vertplots[rr,N],rr=0..j-1), vertplots[j,k]),k=1..N): end do: |
| > | for j from 0 to Step-1 do drawhoriz[j]:=seq(display(background,seq(points[qq],qq=0..j), seq(vertplots[ss,N],ss=0..j), seq(horizplots[rr,N],rr=0..j-1), horizplots[j,k]),k=1..N):
end do: |
| > | display(seq([drawverts[k],drawhoriz[k]],k=0..Step-1),insequence=true);
end: |
Warning, `xvals` is implicitly declared local to procedure `cobweb`
Warning, `i` is implicitly declared local to procedure `cobweb`
Warning, `curveplot` is implicitly declared local to procedure `cobweb`
Warning, `diagplot` is implicitly declared local to procedure `cobweb`
Warning, `points` is implicitly declared local to procedure `cobweb`
Warning, `background` is implicitly declared local to procedure `cobweb`
Warning, `l` is implicitly declared local to procedure `cobweb`
Warning, `s` is implicitly declared local to procedure `cobweb`
Warning, `vertplots` is implicitly declared local to procedure `cobweb`
Warning, `horizplots` is implicitly declared local to procedure `cobweb`
Warning, `j` is implicitly declared local to procedure `cobweb`
Warning, `drawverts` is implicitly declared local to procedure `cobweb`
Warning, `drawhoriz` is implicitly declared local to procedure `cobweb`
| > | cobweb(x->x/2+0.4-x^2/4, 0.15); |
| > | cobweb(x->2*x-1/4-1.5*(x-.25)^2, 0.27); |
| > | cobweb(x->3*x*(1-x), 0.45); |
| > | cobweb(x->4*x*(1-x),0.3); |
| > |