大哥你好,我把程序抠出来单独编译。为了与二次开发相吻合,取了相近的数值。
计算就发现WX_T,ET1没有数值,我实验过很多次,怀疑原因为:当前面有一段随机数导致的。
[Fortran] 纯文本查看 复制代码
!****************************************************************************
subroutine init_random_seed()
integer :: i,n,clock
integer,dimension(:),allocatable :: seed
call random_seed(size=n)
allocate(seed(n))
call system_clock(count=clock)
seed=clock+37*(/(i-1,i=1,n)/)
call random_seed(PUT=seed)
deallocate(seed)
end subroutine
program Console2
implicit none
REAL WB_X,hsv1,hsv2,rd
REAL ::ET1
real ::ran
call init_random_seed()
CALL RANDOM_NUMBER(ran)
WB_X=10000*(-1.0*(ran))**(1.0/5) !WB_X即为服从Weibull分布 的一个抽样
ET1=10000
ET1=ET1*(-1.0*(ran))**(1.0/5)
hsv1=ET1 !hisv(5)即为服从Weibull分布
hsv2=WB_X
!初始损伤服从webull分布
print(*,*),ET1,WB_X,RAN,HSV1,hsv2
stop
end program Console2 |