长安Fortraner 发表于 2017-12-8 10:09:36

龙贝格数值计算的问题

求助,只能求出f(0;k)再往下算就出现错误
我的代码如下
program romberg
integer k,m
real h,i,n,a,b,e
real T(0:5,0:5),c(0:5,0:5)
a=0.0
b=1.0

do k=0,5
h=(b-a)/2**k
n=2**k
T(0,k)=0.0
do i=1,n-1
   x=a+i*h
   f=sqrt(x**3)
   T(0,k)=T(0,k)+f
end do
T(0,k)=2*T(0,k)+1.0
T(0,k)=T(0,k)*h/2
write(*,*) T(0,k)
end do

do m=1,5
do j=1,m
   T(j,m)=(4.0**m)/(4.0**m-1)*T(j,m-1)-1.0/(4.0**m-1)*T(j-1,m-1)
   write(*,*) T(j,m)
end do
end do



end

li913 发表于 2017-12-8 10:51:42

因为你前半截只计算了 t(0,1)...t(0,5)

长安Fortraner 发表于 2017-12-8 11:23:26

li913 发表于 2017-12-8 10:51
因为你前半截只计算了 t(0,1)...t(0,5)

是的呀,但是往后推就出了错请问怎么办呢

li913 发表于 2017-12-8 17:16:53

本帖最后由 li913 于 2017-12-8 17:19 编辑

L7 得给它赋初值,否则结果不可预计。

长安Fortraner 发表于 2017-12-9 17:14:32

li913 发表于 2017-12-8 17:16
L7 得给它赋初值,否则结果不可预计。

谢谢,但我还是不太明白您说的t和c的赋初值。

li913 发表于 2017-12-12 20:30:13

初始条件

长安Fortraner 发表于 2017-12-17 12:36:51

li913 发表于 2017-12-12 20:30
初始条件

谢谢您,我已经改好了
页: [1]
查看完整版本: 龙贝格数值计算的问题