问题描述
我正在尝试计算这个序列
在Fortran 77中
。 关键是要能够得到方程-∆u(x,y)= 0的精确解,因此我可以将其与具有二维有限差分的解析解进行比较,但是我遇到了这个错误:
68 | s(k)=s(k)+ (dsin(2.d0*k+1.d0)*(((T-j)/n) +1.d0)*h*PI*
| 1
Error: Incompatible ranks 0 and 1 in assignment at (1)
c23456
TP1c
C variables
implicit double precision (a-h,o-z)
DIMENSION Xexact(1000),A(1000,1000)
DIMENSION Xo(1000),R(1000),F(1000),Xapp(1000),C(1000),s(1000)
DIMENSION temp_r(1000),Y(1000),vec1(1000),vec(1000),T(1000)
n=3
m=n*n
h=1.d0/(n+1)
C exact solution
PI=4.d0*datan(1.d0)
DO i=1,m
s(i)=0.d0
T(i)=0.d0
ENDDO
DO k=1,m
T(k)=k
ENDDO
C CALL affich_vec(T,m)
DO k=1,100
DO i=1,n
DO j=1,n
DO l=1,m
s(k)=s(k)+ (sin((2.d0*k+1.d0)*(((T-j)/n) +1.d0)*h*PI)*
& sinh((2.d0*k+1.d0)*(T-n*(i-1.d0))*h*PI))/((2.d0*k+1.d0)
& *sinh((2.d0*k+1.d0)*PI))
Xexact(l)=(400.d0/PI)*s(l)
ENDDO
ENDDO
ENDDO
ENDDO
CALL affich_vec(Xexact,m)
end
显示矢量的子例程。
C=======================================================================
SUbroUTINE affich_vec(X,n)
C Declaration des variables
implicit double precision (a-h,o-z)
DIMENSION X(1000)
C Affichage du vecteur :
write(*,*) 'Vecteur :'
DO i=1,n
write(*,*)X(i)
ENDDO
return
end
C=======================================================================
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)