福特兰"Error: The shapes of the array expressions do not conform."



我知道有人问了一个类似的问题。它说,错误可能来自试图将数组分配给标量。我一遍又一遍地检查了程序,但我的程序确实没有发现任何错误。

特定错误消息是:

d: src fortran kramers kramers.f90(54):错误:数组表达式的形状不符合。[Y2] Y2(1)= SQRT(2.0d0*t)*[H*Omega(2)-H1*Omega(3) H1*H*H*Omega(4)-H1*H1*H1*H1*Omega(6) & --------------------^
D: src fortran kramers kramers.f90(65):错误:数组表达式的形状不符合。[Y2] y2(2)= sqrt(2.0d0*t)*[Omega(1)-h*Omega(2) H*H*H*omega(3)-H1*H*H*Omega(4) H1*H1*H1*Omega(6) & --------------------^
执行df.exe。

的错误

kramers.obj -2错误(s),0警告(S)

这是我程序的一部分,它导致错误:

real*8 :: y(2),y2(2),omega(10),V4
real*8 :: h,h1,T,ngt
real*8,external :: V,V1,V2,V3
y2(1) = sqrt(2.0d0*T)*[h*omega(2) - h1*omega(3) + h1*h*omega(4) - h1*h1*omega(6) + &
    (-h1*h*omega(4) + 2.0d0*h1*h1*omega(6))*V2(y(1)) - h1*h1*y(2)*omega(10)*V3(y(1))]
y2(2) = sqrt(2.0d0*T)*[omega(1) - h*omega(2) + h*h*omega(3) - h1*h*omega(4) + h1*h1*omega(6) + &
    (-h*h*omega(3) + 2*h1*h*omega(4) - 3*h1*h1*omega(6))*V2(y(1)) + &
    (-h1*h*y(2)*omega(5) + h1*h1*y(2)*omega(7) + h1*h1*y(2)*omega(8) + h1*h1*y(2)*omega(10))*V3(y(1)) + &
    h1*h1*V2(y(1))*V2(y(1))*omega(6) + h1*h1*V1(y(1))*V3(y(1))*omega(8) - 0.5d0*h1*h1*V4*y(2)*y(2)] - h1*h*T*V3(y(1))*ngt

您使用Square支架[]表示数组构造器。您必须使用普通的()

相关内容

最新更新