Re: [問題] 球的積分
建議直接用球座標做
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
04/08 00:38, 1F
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章