# #Maple file:seqser #Written by Richard Bernatz #Luther College Spring 1996 # ############################################################## sequence:=proc(f,firstn,lastn) local i,j; for i from firstn to lastn do a(i) := subs(n=i,f) od; a(j) $j= firstn..lastn; end: ############################################################## fsequence:=proc(f,firstn,lastn) local i,j; for i from firstn to lastn do a(i) := evalf(subs(n=i,f)) od; evalf(a(j)) $j= firstn..lastn; end: ############################################################## plotSequence:=proc(f,firstn,lastn) local i,j,a,A; for i from firstn to lastn do a(i) := evalf(subs(n=i,f)) od; A := [[j,a(j)] $j= firstn..lastn]; plot(A,n=firstn..lastn,style=POINT,symbol=POINT); end: ############################################################## recseq:=proc(f,a0,lastn) local i,j,a,A; a(0) := a0; for i from 1 to lastn do a(i) := subs(n=a(i-1),f) od; a(j) $j=0..lastn; end: ############################################################## precseq:=proc(f,a0,nlast) local i,j,a,A; a(0) := a0; for i from 1 to nlast do a(i) := subs(n=a(i-1),f) od; A := [[j,a(j)] $j=0..nlast]; plot(A,j=0..nlast,style=POINT,symbol=POINT); end: ############################################################## parSum:=proc(f,firstn,lastn) local i,j,sum; sum := 0; for i from firstn to lastn do sum := sum + subs(n=i,f) od; sum; end: ############################################################### fparSum:=proc(f,firstn,lastn) local i,j,sum; sum := 0; for i from firstn to lastn do sum := sum + evalf(subs(n=i,f)) od; evalf(sum); end: ############################################################### seqpSum := proc(f,firstn,lastn) local i,j,k,sum; sum(1):=subs(n=firstn,f); j := 2; for i from firstn+1 to lastn do sum(j):=sum(j-1)+subs(n=i,f); j:=j+1; od; sum(k) $k=1..j-1; end: ############################################################### fseqpSum := proc(f,firstn,lastn) local i,j,k,sum; sum(1):=subs(n=firstn,f); j := 2; for i from firstn+1 to lastn do sum(j):=sum(j-1)+evalf(subs(n=i,f)); j:=j+1; od; sum(k) $k=1..j-1; end: ############################################################### pseqpSum := proc(f,firstn,lastn) local i,j,k,sum,A; sum(1):=evalf(subs(n=firstn,f)); j := 2; for i from firstn+1 to lastn do sum(j):=sum(j-1)+evalf(subs(n=i,f)); j:=j+1; od; A:=[[k,sum(k)] $k=1..j-1]: plot(A,n=1..j-1,style=POINT,symbol=POINT); end: ######################################################## bifurpts := proc(a0,n,ps,pe,nstep) local i,j,pstep,plist,A,p,f; pstep := (pe-ps)/nstep; p := ps; f := a -> p*a*(1-a); a(0) := evalf(a0); for i from 1 to n do a(i) := evalf(f(a(i-1))) od; plist:= [ [ ps,a(j) ] $j=n-10..n]; for p from ps by pstep to pe do f := a -> p*a*(1-a); a(0) := evalf(a0); for i from 1 to n do a(i) := evalf(f(a(i-1))) od; A := [ [ p,a(j) ] $j=n-20..n]; plist := [op(plist), op(A) ]: od; plot(plist,style=POINT,symbol=POINT); end: