Arrays 数组表达式的形状不一致。[K]
我知道这个标题不是一个新的标题,但可能每个案例在某些方面都有所不同。 在我的例子中,我将把我得到这个错误的部分代码放进去。如果可以,请帮助我:) 然后给出最后一行的误差。你认为会有什么问题 谢谢Arrays 数组表达式的形状不一致。[K],arrays,compiler-errors,fortran,Arrays,Compiler Errors,Fortran,我知道这个标题不是一个新的标题,但可能每个案例在某些方面都有所不同。 在我的例子中,我将把我得到这个错误的部分代码放进去。如果可以,请帮助我:) 然后给出最后一行的误差。你认为会有什么问题 谢谢 GuilnazR1是标量,Ti是数组;将标量-1.531*10.0**(5)除以R1*Ti的乘积。我猜这是你的问题。@outisnihil但为什么会有标量跳水的问题呢?如果这就是问题所在,我该如何解决?因为它没有选择像这样!问题不在于分歧。Fortran允许这样做-发生的是Ti被扩展成与R1形状相同的数
Guilnaz
R1
是标量,Ti
是数组;将标量-1.531*10.0**(5)
除以R1*Ti
的乘积。我猜这是你的问题。@outisnihil但为什么会有标量跳水的问题呢?如果这就是问题所在,我该如何解决?因为它没有选择像这样!问题不在于分歧。Fortran允许这样做-发生的是Ti被扩展成与R1形状相同的数组,R1的每个元素被Ti数组的相应元素所除。然后将其与其他也展开为数组的标量表达式组合,赋值右侧表达式的最终值为数组。然后将数组分配给标量-这是不允许的。我不知道你到底想要什么,但R1不是数组!R1乘以Ti,然后它们的指数乘以标量。最后它应该是一个数组,与左边的另一个数组相等。左边没有数组,它是数组的en元素,是标量。
program Console4
IMPLICIT none
INTEGER I(100), J(100)
REAL R1,PA(200),N, Ti(20,20), M(100)
REAL k(100,100), keq(20), NU(50,50)
REAL R(100,100), P(100,100)
REAL Xin(100), t(100), h
Ti = 850
PA = 1
R1=8.314
k(2,1)=(2.71/10.0)*EXP(-1.531*10.0**(5)/(R1*Ti))
end program