精華區beta Fortran 關於我們 聯絡資訊
附上寫好了程式 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
latinboy: 資料型態問題 編譯器訊息應該說的很清楚了 = = 03/20 17:43
latinboy: k = sqrt( real(NB_count) ) 用real函數強制轉型即可 03/20 17:44
microcat:改正後已可正常執行,謝謝指導! 03/21 00:49