⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ran1.f90

📁 产生服从N(0,1)分布的子程序(fortran)
💻 F90
字号:
	
!     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
!                        产 生(0,1) 均匀分布随机数子程序
!     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	  function ran1(idum)	
	  integer idum,ia,im,iq,ir,ntab,ndiv
 	  real ran1,am,eps,rnmx
	  parameter(ia=16807,im=2147483647,am=1./im,iq=127773,ir=2836,&
	            ntab=32,ndiv=1+(im-1)/ntab,eps=1.2e-7,rnmx=1.-eps)
	  integer j,k,iv(ntab),iy
	  save iv,iy
	  data iv/ntab*0/,iy/0/
	  if (idum.le.0.or.iy.eq.0) then
	      idum=max(-idum,1)
		  do j=ntab+8,1,-1
	         k=idum/iq
		     idum=ia*(idum-k*iq)-ir*k
		     if (idum.lt.0) idum=idum+im
		     if (j.le.ntab) iv(j)=idum
		  end do
		  iy=iv(1)
	  end if
	  k=idum/iq
  	  idum=ia*(idum-k*iq)-ir*k
	  if (idum.lt.0) idum=idum+im
	  j=1+iy/ndiv
	  iy=iv(j)
	  iv(j)=idum
	  ran1=min(am*iy,rnmx)
	  end
!     -----------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -