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