小编use*_*430的帖子

在fortran中使用带有矩阵的IF语句

我想通过矩阵并检查它的任何块是否与预定义单位相同.这是我的代码.'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)

fortran matrix

0
推荐指数
1
解决办法
171
查看次数

标签 统计

fortran ×1

matrix ×1