看板 Fortran 關於我們 聯絡資訊
※ 引述《sjgau (sjgau)》之銘言: : ! do the simpson integrated : sum= 0.0 : ! for i=1 to (ct-2) step 2 do ... : i= 1 : do while (i .LE. (ct-2)) : sum= sum + y(i) + 4*y(i+1) + y(i+2) : i= i + 2 : end do 這地方有較好一點的寫法: real*8 ll ll = 4.0 sum = 2.0*y(1) i = 2 do i = 2, ct-1 sum = ll*y(i) + sum ll = 6.0 - ll enddo sum = 2.0*y(ct) + sum sum=sum/3.0 ==== 全加起來再除3.0 和2/3 4/3 2/3...差再那,我真的不知道。 反正老code都這樣寫,就學起來吧。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.13.207
wenni:全部加完再除應該要比每次都除來的好 09/11 13:29
wenni:因為除法而造成數值準確的喪失只做了一次 這是我個人的想法 09/11 13:31
DrStein:打錯 該改為 sum/6.0 09/11 13:31
DrStein:沒錯 是 /3.0 09/11 13:34