[問題] sqrt 的問題

看板Fortran作者 (微喵)時間15年前 (2009/03/20 17:26), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
附上寫好了程式 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

03/20 17:43, , 1F
資料型態問題 編譯器訊息應該說的很清楚了 = =
03/20 17:43, 1F

03/20 17:44, , 2F
k = sqrt( real(NB_count) ) 用real函數強制轉型即可
03/20 17:44, 2F

03/21 00:49, , 3F
改正後已可正常執行,謝謝指導!
03/21 00:49, 3F
文章代碼(AID): #19ms4lXa (Fortran)
文章代碼(AID): #19ms4lXa (Fortran)