主题:有个错误,我怎么都检查不出来
subroutine rk(a,b,f,n,y0)
real*8 a,b,f,y0
real*8 x,y,x0,h,k1,k2,k3,k4
integer i,n
h=(b-a)/n
x0=a
do 100 i=1,n
x=x0+h
k1=f(x0,y0)
k2=f(x0+0.5*h,y0+0.5*h*k1)
k3=f(x0+0.5*h,y0+0.5*h*k2)
k4=f(x0+h,y0+h*k3)
y=y0+h*(k1+2*(k2+k3)+k4)/6
x0=x
y0=y
write(*,*)x,y
100 continue
end
c===============================
function f(x,y)
real*8 f,x,y
f=x-y
return
end
c=================================
program main
external f
real*8 a1,b1,y10
integer n1
n1=10
a1=0.0
b1=1.0
y10=0.0
call rk(a1,b1,f,n1,y10)
end
这是龙格-库塔法求微分方程的程序,编译器提示倒数第二行“call rk(a1,b1,f,n1,y10)”有“匹配错误”。但我觉得是正确的。
real*8 a,b,f,y0
real*8 x,y,x0,h,k1,k2,k3,k4
integer i,n
h=(b-a)/n
x0=a
do 100 i=1,n
x=x0+h
k1=f(x0,y0)
k2=f(x0+0.5*h,y0+0.5*h*k1)
k3=f(x0+0.5*h,y0+0.5*h*k2)
k4=f(x0+h,y0+h*k3)
y=y0+h*(k1+2*(k2+k3)+k4)/6
x0=x
y0=y
write(*,*)x,y
100 continue
end
c===============================
function f(x,y)
real*8 f,x,y
f=x-y
return
end
c=================================
program main
external f
real*8 a1,b1,y10
integer n1
n1=10
a1=0.0
b1=1.0
y10=0.0
call rk(a1,b1,f,n1,y10)
end
这是龙格-库塔法求微分方程的程序,编译器提示倒数第二行“call rk(a1,b1,f,n1,y10)”有“匹配错误”。但我觉得是正确的。