作者sjgau (sjgau)
看板Programming
标题[心得] fortran 写的 simpson 积分程式范例
时间Sun Jun 17 09:08:34 2007
采用 Compaq Visual Fortran 95
free format 格式
为了教学使用
程式不是很精简,不是很有效率
有问题的朋友,欢迎跟我用 e-mail 讨论
e-mail:
[email protected]
program VF0734
implicit none
real x1,x2, y1,y2, ans1, dx
real u0,u1,u2, v0,v1,v2, sum
integer i,j,k, no
! 你可以改变 x1, x2 的值 来试试看 程式的正确性
x1= 0.5
x2= 2.9
! sin() 的积分是 -cos()
! 你可以改变 不同的函数 来测试看看
y1= -cos(x1)
y2= -cos(x2)
ans1= y2 - y1
write(*,*)'x1, x2= ', x1, x2
write(*,*)'ans1= ', ans1
pause
! -------------------------------------------
! for no=2, no<=1000, no*= 2
! no= 32 的时候 就已经 OK
no= 2
do while (no .LE. 1000)
dx= (x2 - x1)/no
sum= 0.0
do i=0, (no - 1), 2
u0= x1 + i*dx
v0= sin(u0)
u1= u0 + dx
v1= sin(u1)
u2= u0 + 2*dx
v2= sin(u2)
sum= sum + v0 + 4*v1 + v2
! write(*,*)'i, u0, v0= ', i, u0, v0
end do
sum= (dx/3)*sum
write(*,*)'no, ans1, sum= ', no, ans1, sum
pause
no= no*2
end do
end program VF0734
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.222.89
※ sjgau:转录至看板 C_and_CPP 07/18 13:07