作者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