! Plotting program for general purpose using postscript call init call viewport(0.2,0.2,0.8,0.8) call xyworld(-0.2,-0.2,1.2,1.2) call line(0.5, 0.0, 0.5, 0.02, 0.0, 2.0, 1) call line(1.0, 0.0, 1.0, 0.02, 0.0, 2.0,1) call line(0.0, 0.5, 0.02, 0.5, 0.0, 2.0,1) call line(0.0, 1.0, 0.02, 1.0, 0.0, 2.0,1) call arrow(-0.1, 0.0, 1.2, 0.0, 0.02, 0.0, 2.0) call arrow(0.0, -0.1, 0.0, 1.2, 0.02, 0.0, 2.0) call textx(1.2,-0.02,1,'x') call textx(0.5,-0.02,3,'0.5') call textx(1.0,-0.02,3,'1.0') call texty(-0.02,1.2,1,'y') call texty(0.0,0.5,3,'0.5') call texty(0.0,1.0,3,'1.0') call textx(-0.06,-0.02,1,'O') call plotd1 call fin stop end ! subroutine plotd1 INTEGER :: m,n,nx,ny,ns REAL(4) :: x(100),y(100) ! call clip(-1.0,-1.0,1.0,1.0) call linewidth(1.0) call setgray(0.6) call linety(1) m=10 do ix=0,m do iy=0,m x0=0.0+1.0*float(ix)/float(m) y0=0.0+1.0*float(iy)/float(m) dt=0.05 dx=1.0; dy=3.0*x0*y0 ds=sqrt(dx**2+dy**2) if(ds.ne.0.0) then x1=x0+dx/ds*0.05 y1=y0+dy/ds*0.05 call arrow(x0,y0,x1,y1,0.01,0.6,1.0) end if end do end do call stroke call newpath call setgray(0.4) call linewidth(1.2) call linety(1) n=40 m=1 do ix=0,0 do iy=0,0 x(0)=0.0 y(0)=0.1 dt=0.0128 call plot(x(0),y(0),3) do it=1,2*n x(it)= x(it-1)+(1.0)*(dt) y(it)= y(it-1)+(3.0*x(it-1)*y(it-1))*(dt) call plot(x(it),y(it),2) end do end do end do return end