首页 > 解决方案 > 如何使用 Fortran 从大型数据文件中找到特定行

问题描述

我一直在为我的物理项目使用 Fortran,我必须从文件中读取数据。我需要找到一个特定的矩阵,然后将所述矩阵打印到另一个文件上并将其对角化。如何读取特定行之后的矩阵。我的文件如下所示:

       14-  16 P  
                                         1.020E-01 0.000E+00 1.998E-01 0.000E+00

 OVERLAP MATRIX - CELL N.   1(  0  0  0)

              1           2           3           4           5           6           7           8           9          10

   1     1.0000E+00
   2     6.5891E-01  1.0000E+00
   3     0.0000E+00  0.0000E+00  1.0000E+00
   4     0.0000E+00  0.0000E+00  0.0000E+00  1.0000E+00
   5     0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00  1.0000E+00
   6     0.0000E+00  0.0000E+00  6.7373E-01  0.0000E+00  0.0000E+00  1.0000E+00
   7     0.0000E+00  0.0000E+00  0.0000E+00  6.7373E-01  0.0000E+00  0.0000E+00  1.0000E+00
   8     0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00  6.7373E-01  0.0000E+00  0.0000E+00  1.0000E+00
   9     3.5521E-02  1.2488E-01 -9.4002E-02  9.4002E-02  9.4002E-02 -1.7531E-01  1.7531E-01  1.7531E-01  1.0000E+00
  10     1.1830E-01  2.7534E-01 -1.8038E-01  1.8038E-01  1.8038E-01 -3.1590E-01  3.1590E-01  3.1590E-01  6.8256E-01  1.0000E+00

我需要找到“重叠矩阵”行,如果存在,则读取下面的矩阵并将矩阵写入单独的文件中。

标签: fortranfile-processing

解决方案


推荐阅读