c en sec, sense dibuix c variant amb fixos a -1,0 i 1,0 c agafo punt amb y=0, x entre -1 i 2, amb pas donat; itero tambe diferencial c fins n1 iterats i si passa de tope, considero caotic. Altrament regular. Si c caotic segueixo fins n2 iterats. Si no escapa faig n3 iterats addicionals c i els escric, amb indicacio 1 o 2 segons sigui regular o caotic c aquesta versio ja esta preprocessada i llegeix el punts amb orbita caotica c i regular. Fa un transitori de 5000 i escriu els seguents 5000 implicit real*8(a-h,o-z) character*24 fileout character*1 ch real*4 tarray(2),result0,result dimension clist(19) dimension nreg(300),ncao(300) call etime(tarray,result0) clist(1)=0.695d0; do i=2,8; clist(i)=0.68d0+0.01d0*i; enddo do i=9,12; clist(i)=0.755d0+0.001d0*i; enddo do i=13,19; clist(i)=0.51d0+0.02d0*i; enddo fileout='orbita' open(11,file='data1.pre') pas=.01d0; n1=10000000; n2=1000000000; n3=5000; n4=5000;tope=1.d10 do i=1,19; c=clist(i); hc=c/2 c agafo sempre xi=-1; xf=2; yi=-1; yf=0 open(1,file=fileout) write(1,9)ch,c,pas,n1,n2,n3,tope c write(*,9)ch,c,pas,n1,n2,n3,tope 9 format(a1,f10.6,f9.6,i9,i11,i8,e10.2) read(11,*)ca,t,r,nnreg,nncao if(dabs(c-ca).gt.1.d-14)then; write(*,*)c,ca; stop; endif do j=1,nnreg; read(11,*)na; nreg(j)=na; enddo do j=1,nncao; read(11,*)na; ncao(j)=na; enddo do j=1,nnreg; ix=nreg(j) x=ix*pas-1; y=0 if(dabs(x-1).lt.1.d-14)then; write(1,11)1.,0.,1; go to 2 endif do k=1,n4; xpy=x+y; a=hc*(1-xpy*xpy); y=y+a; x=y+xpy; enddo do k=1,n3; xpy=x+y; a=hc*(1-xpy*xpy); y=y+a; x=y+xpy write(1,11)x,y,1 enddo 11 format(f13.10,f14.10,i2) 2 continue enddo do j=1,nncao; ix=ncao(j) x=ix*pas-1; y=0 do k=1,n4; xpy=x+y; a=hc*(1-xpy*xpy); y=y+a; x=y+xpy; enddo do k=1,n3; xpy=x+y; a=hc*(1-xpy*xpy); y=y+a; x=y+xpy write(1,11)x,y,2 enddo enddo close(1) write(*,81)c,nnreg,nncao 81 format(f5.3,2i5) call system('gnuplot movie1.gnu') enddo close(11) call system('rm orbita') call etime(tarray,result); temps=result-result0 write(*,13)temps 13 format(f6.2) end