[問題] 解二次微分方程

看板Fortran作者 (ziv)時間14年前 (2010/12/26 23:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
這是用runge-kutta去解二次微分方程 但是在設定七個參數那邊(那排驚嘆號) 我不知道要怎麼設定Orz... 目前確定的只有n , 表示要解的方程式數量 y似乎是初始值的樣子 其他的我就不懂了 dimension y(10),f(10) ! read x,n,xlim,h,m,(y(i),i=1,n) !n=1 !y=0 !f= !x=0 !h=10 !m=0 !k=20 8 if(x-xlim)6,6,7 6 call runge(n,y,f,x,h,m,k) go to (10,20),k 10 f(1)=y(2)*y(2)-1-y(1)*y(3) f(2)=y(1) f(3)=y(2) go to 6 20 write(*,*) x,(y(i),i=1,n) !x,y(i) go to 8 7 stop end subroutine runge(n,y,f,x,h,m,k) dimension y(10),f(10),q(10) m=m+1 go to(1,4,5,3,7),m 1 do 2 i=1,n 2 q(i)=0 a=.5 go to 9 3 a=1.707107 4 x=x+.5*h 5 do 6 i=1,n y(i)=y(i)+a*(f(i)*h-q(i)) 6 q(i)=2.*a*h*f(i)+(1.-3.*a)*q(i) a=.2928932 go to 9 7 do 8 i=1,n 8 y(i)=y(i)+h*f(i)/6.-q(i)/3. m=0 k=2 go to 10 9 k=1 10 return end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.58.27
文章代碼(AID): #1D5rpFJ2 (Fortran)
文章代碼(AID): #1D5rpFJ2 (Fortran)