作者microcat (微喵)
看板Fortran
标题[问题] sqrt 的问题
时间Fri Mar 20 17:26:06 2009
附上写好了程式
Program CHI
use imsl
IMPLICIT NONE
integer i,i1
integer ISEED, NOUT
real DF
real k,UPCI,LOCI
real mean,dif,std
real, allocatable :: NB(:) ! 宣告一个可变大小的一维阵列
integer :: NB_count
print *,"输入所需要的样本个数:"
read *, NB_count
allocate( NB(NB_count) )
CALL UMACH (2, NOUT)
DF = 5.0
ISEED = 0
CALL RNSET (ISEED)
CALL RNCHI (NB_count, DF, NB)
mean=SUM(NB)/NB_count ! 计算平均数 mean
dif=0 ! 计算标准差 std
do i1=1, NB_count
dif=dif+(NB(i1)-mean)**2
end do
std=sqrt(dif/(NB_count-1))
k=sqrt(NB_count) <--------------问题所在!
UPCI=mean+11.07*std/k
LOCI=mean+11.07*std/k
WRITE (NOUT,99999) NB,mean,std
99999 FORMAT (' Chi-squared random deviates with 5 df: ', 5F7.3)
END Program CHI
编译的时候,会说 k 的地方有问题
请帮个忙该如何改正,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.228.61
1F:推 latinboy: 资料型态问题 编译器讯息应该说的很清楚了 = = 03/20 17:43
2F:→ latinboy: k = sqrt( real(NB_count) ) 用real函数强制转型即可 03/20 17:44
3F:→ microcat:改正後已可正常执行,谢谢指导! 03/21 00:49