[問題] 解二次微分方程
這是用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
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章