大家好,我是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
没有保存到另一个矩阵?因为好,我总是可以做一个循环并将其保存到一个新的矩阵中,然后将其保存到一个文件中并打印出来。我还创建了一个子例程,以正确的顺序打印矩阵并表现出
答案 0 :(得分:2)
好的。
您可以遍历第一个索引,然后写整列:
do ii = 1, 50
write(unit, '(5(I7))') a(ii, :)
end do
或者您可以使用transpose
:
write(unit, '(5(I7))') transpose(a)
(我假设a
是一个整数数组,并且所有值都可以用6个或更少的数字(包括符号)来写。如果不是,请更改格式。)
这台计算机没有fortran编译器,因此我尚未对其进行测试,但是它应该可以工作。
欢呼