Fortran 中的等级 0 和等级 1 不兼容
Incompatible rank 0 and 1 in fortran
ab
是一个 4 x 5
矩阵,即 ab(4,5)
而 x
是一个长度为 4
的数组,即 x(4)
x(4) = ab(4,5)/ab(4,4)
do i = 3, 1, -1
x(i) = ( ab(i,5) - ab(i,i+1:4) * x(i+1:4) ) / ab(i,i)
end do
do
循环表示等级 0 和 1 不兼容。
您可以使用 SUM
函数将数组乘法简化为标量。即 x(i) = ( ab(i,5) - SUM(ab(i,i+1:4) * x(i+1:4)) ) / ab(i,i)
。或者,可以使用 DOT_PRODUCT
函数 DOT_PRODUCT(ab(i,i+1:4) , x(i+1:4))
ab
是一个 4 x 5
矩阵,即 ab(4,5)
而 x
是一个长度为 4
的数组,即 x(4)
x(4) = ab(4,5)/ab(4,4)
do i = 3, 1, -1
x(i) = ( ab(i,5) - ab(i,i+1:4) * x(i+1:4) ) / ab(i,i)
end do
do
循环表示等级 0 和 1 不兼容。
您可以使用 SUM
函数将数组乘法简化为标量。即 x(i) = ( ab(i,5) - SUM(ab(i,i+1:4) * x(i+1:4)) ) / ab(i,i)
。或者,可以使用 DOT_PRODUCT
函数 DOT_PRODUCT(ab(i,i+1:4) , x(i+1:4))