我想通过矩阵并检查它的任何块是否与预定义单位相同.这是我的代码.'sd5'是2乘2的预定义单位.
ALLOCATE (fList((n-1)**2,3))
fList = 0
p = 1
DO i = 1, n-1, 1
DO j = 1, n-1, 1
IF (TEST(i:i+1, j:j+1) == sd5) THEN
fList(p,1:3) = (i, j+1, 101) ! 101 should be replaced by submatrix number
END IF
p = p+1
END DO
END DO
Run Code Online (Sandbox Code Playgroud)
问题似乎在IF声明中,因为返回了四个逻辑语句TEST(i:i+1, j:j+1) == sd5.我收到此错误:
Error: IF clause at (1) requires a scalar LOGICAL expression
Run Code Online (Sandbox Code Playgroud)
我收到另一个错误:
fList(p,1:3) = (i, j+1, 101) ! 101 should be replaced by sub …Run Code Online (Sandbox Code Playgroud)