在fortran中打印并保存矩阵

时间:2020-10-23 13:14:40

标签: fortran

大家好,我是Fortran的新手,我遇到了一个问题。假设我有一个矩阵a(5,50)

a1      a2       a3       a4      a5         a6        a7      etc 
b1      b2       b3       b4      b5         b6        b7      etc
c1      c2       c3       c4      c5         c6        c7      etc
d1      d2       d3       d4      d5         d6        d7      etc
e1      e2       e3       e4      e5         e6        e7      etc

有一种方法可以将其保存到文件中并像下面那样打印矩阵

a1     b1    c1    d1     e1
a2     b2    c2    d2     e2
a3     b3    c3    d3     e3
            etc

没有保存到另一个矩阵?因为好,我总是可以做一个循环并将其保存到一个新的矩阵中,然后将其保存到一个文件中并打印出来。我还创建了一个子例程,以正确的顺序打印矩阵并表现出

1 个答案:

答案 0 :(得分:2)

好的。

您可以遍历第一个索引,然后写整列:

do ii = 1, 50
    write(unit, '(5(I7))') a(ii, :)
end do

或者您可以使用transpose

write(unit, '(5(I7))') transpose(a)

(我假设a是一个整数数组,并且所有值都可以用6个或更少的数字(包括符号)来写。如果不是,请更改格式。)

这台计算机没有fortran编译器,因此我尚未对其进行测试,但是它应该可以工作。

欢呼

相关问题