我想将包含大量数据的矩阵逐行写入文件。例如,我有一个 100*100 的矩阵,我想在文件中以 100*100 的形式拥有它。但是,它不起作用。以下是我的代码和一些描述。N 和 M 是大约数百个整数。RECL 是我设置文件的预期长度,但这里似乎这个命令不起作用。当 N 设置为 99 且 M 设置为 200 时,输出为 198 行。 Vec 是一个双精度复数矩阵。如何输出 Vec 的值并保持其原始格式 N*M?我的编译命令是“ifort -o out test.f90”。
open(unit=2, file='graph1.txt', ACTION="write", STATUS="replace",RECL=40*M+10)
do i=1,N
do j=1,M
write(2, '(F)', advance='no') real(Vec(i,j))
end do
write(2, *) ''
end do
按照@george 的建议,我编写了这样的程序:
program test
implicit none
integer i,j
open(unit=2, file='graph1.txt', ACTION="write", STATUS="replace")
do i=1,500
write(2, '(1600F14.7)')( 0.00001 ,j=1,499)
end do
close(2)
end
有了这段代码,问题就解决了!也许我上次没有正确编译。