[心得] fortran 寫的 simpson 積分程式範例

看板Programming作者 (sjgau)時間18年前 (2007/06/17 09:08), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
採用 Compaq Visual Fortran 95 free format 格式 為了教學使用 程式不是很精簡,不是很有效率 有問題的朋友,歡迎跟我用 e-mail 討論 e-mail: sjgau4311@gmail.com 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
文章代碼(AID): #16T8cJ6Q (Programming)
文章代碼(AID): #16T8cJ6Q (Programming)