作者DrStein (交換關聯)
看板Fortran
標題Re: [心得] fortran 做辛普森積分
時間Thu Sep 11 11:43:38 2008
※ 引述《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
1F:→ wenni:全部加完再除應該要比每次都除來的好 09/11 13:29
2F:→ wenni:因為除法而造成數值準確的喪失只做了一次 這是我個人的想法 09/11 13:31
3F:→ DrStein:打錯 該改為 sum/6.0 09/11 13:31
4F:→ DrStein:沒錯 是 /3.0 09/11 13:34