Re: [問題] 球的積分

看板Fortran作者 (交換關聯)時間15年前 (2009/04/08 00:37), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
建議直接用球座標做 int i, j , k real*8 a = 1.0 real*8 b = 0.0 real*8 r, theta real*8 dr, dtheta, dphi real*8 V real*8 pi pi = 4.0*atan(1.0) integer n = 100 //設切100片 dr = (a-b)/n dtheta = pi/n dphi = (2*pi)/n V = 0 do k = 1, n do j = 1, n do i = 1, n r = i*dr theta = j*dtheta V = (r*sin(theta)*dphi)*(r*dtheta)*(*dr) + V enddo enddo enddo ※ 引述《b906161 (...)》之銘言: : 是這樣子的 : 要算半徑為1的球的積分 先算一個象限後再乘以4和8 : 以長方形法來算圓的話就用do迴圈(a=0 b=1) : deltax=(b-a)/real(n) : do i=1,n-1 : x=x+deltax : y=f(x) : sum=sum+y : end do : 而球的話我是想成 : do i=1,n-1 : do j=1,n-1 : x=x+deltax : y=f(x)*f(x) : sum=sum+y : end do : end do : 不過答案錯了 : 不知道錯在哪 : 感謝指教~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.117.66.246

04/08 00:38, , 1F
啊。。註用到C++的方式。。
04/08 00:38, 1F
文章代碼(AID): #19su5Osy (Fortran)
討論串 (同標題文章)
本文引述了以下文章的的內容:
0
2
完整討論串 (本文為第 2 之 2 篇):
0
2
文章代碼(AID): #19su5Osy (Fortran)