[建議] 為什跑出來值比課本上值小很多

看板Fortran作者 (阿葉)時間14年前 (2010/10/03 15:20), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
我求的是(8/PI^2)sigma((1/n^2)*Sin(0.5n*PI))Sin(n*PI*x)*exp(-(n*PI)^2)*t) sigma 底是n=1 到200 0<t<0.01 以0.005為間距 0< x<1 以0.1為間距 而我的程式碼是 real*8 an,x,ua,t,u,ti,pi,n do n=1,200 do x=1,9,0.1 xi=1/10. do t=1,20,0.005 ti=t/20. pi=3.1415926 ua=0.0 an=(1/n**2)*sin(0.5*n*pi*pi/180.)*sin(xi*n*pi*pi/180.)*EXP(-((n*pi)**2)*ti) ua=ua+an u=(8./pi**2)*ua write(*,*)u end do end do end do end 課本上值大概為 0.X... 我跑出來大概0.000000000.............. 那麼小 請問各位版上先進 是否小弟程式哪裡寫錯了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.221.176

10/03 15:33, , 1F
應該是sin函數裡多除180.
10/03 15:33, 1F

10/03 16:48, , 2F
ua=0.0 要放在do loop上面,u=(8./pi**2)*ua要放在do loop後
10/03 16:48, 2F
※ 編輯: alan77603 來自: 140.121.221.176 (10/03 17:20)
文章代碼(AID): #1Cg2xMBu (Fortran)
文章代碼(AID): #1Cg2xMBu (Fortran)