主题:各位高手来看下怎么改
这程序运行不出结果来,大家来帮忙改改啊。灰常谢谢!!
implicit none
integer i,p,n
real q(20,20),a(20),b(20),c(20),h(20),y(20),x(20),D(20),K(20), qa(20),sx(20)
real t,z,ET,R,r1,r2
real,parameter::e=2.7128
qa(0)=0.28
n=20
t=1
z=2
ET=0
R=0.0208
a(0)=0
D(0)=1671.8*(qa(0)/0.462)**4.978
K(0)=(2.7E-8)*(e**(47.3*qa(0)))
b(0)=D(0)/z
c(0)=-b(0)
h(0)=R-K(0)-ET
y(0)=h(0)/b(0)
x(0)=c(0)/b(0)
r1=t/z**2
r2=t/(2*z)
i=1
do
D(i)=1671.8*((qa(i)/0.462)**4.978)
K(i)=(2.7E-8)*(e**(47.3*qa(i)))
a(i)=-r1*(D(i)+D(i-1))/2
c(i)=-r1*(D(i)+D(i+1))/2
b(i)=1-(a(i)+c(i))
h(i)=qa(i)-r2*(K(i+1)-K(i-1))
y(i)=(h(i)-a(i)*y(i-1))/(b(i)-a(i)*x(i-1))
x(i)=c(i)/(b(i)-a(i)*x(i-1))
i=i+1
if (i==n-2)exit
qa(n-1)=(h(n-1)-a(n-1)*y(n-2))/(b(n-1)-a(n-1)*x(n-2))
end do
do i=n-2,0
qa(i)=y(i)-x(i)*qa(i+1)
print*,qa(i)
end do
p=1
do
q(i,p)=qa(i)
q(i,p-1)=q(i,p)
sx(p)=abs((q(i,p)-q(i,p-1))/q(i,p-1))
p=p+1
if(sx(p)<=0.01)exit
end do
qa(i)=q(i,p)
print*,qa(i)
end
implicit none
integer i,p,n
real q(20,20),a(20),b(20),c(20),h(20),y(20),x(20),D(20),K(20), qa(20),sx(20)
real t,z,ET,R,r1,r2
real,parameter::e=2.7128
qa(0)=0.28
n=20
t=1
z=2
ET=0
R=0.0208
a(0)=0
D(0)=1671.8*(qa(0)/0.462)**4.978
K(0)=(2.7E-8)*(e**(47.3*qa(0)))
b(0)=D(0)/z
c(0)=-b(0)
h(0)=R-K(0)-ET
y(0)=h(0)/b(0)
x(0)=c(0)/b(0)
r1=t/z**2
r2=t/(2*z)
i=1
do
D(i)=1671.8*((qa(i)/0.462)**4.978)
K(i)=(2.7E-8)*(e**(47.3*qa(i)))
a(i)=-r1*(D(i)+D(i-1))/2
c(i)=-r1*(D(i)+D(i+1))/2
b(i)=1-(a(i)+c(i))
h(i)=qa(i)-r2*(K(i+1)-K(i-1))
y(i)=(h(i)-a(i)*y(i-1))/(b(i)-a(i)*x(i-1))
x(i)=c(i)/(b(i)-a(i)*x(i-1))
i=i+1
if (i==n-2)exit
qa(n-1)=(h(n-1)-a(n-1)*y(n-2))/(b(n-1)-a(n-1)*x(n-2))
end do
do i=n-2,0
qa(i)=y(i)-x(i)*qa(i+1)
print*,qa(i)
end do
p=1
do
q(i,p)=qa(i)
q(i,p-1)=q(i,p)
sx(p)=abs((q(i,p)-q(i,p-1))/q(i,p-1))
p=p+1
if(sx(p)<=0.01)exit
end do
qa(i)=q(i,p)
print*,qa(i)
end