我想逐行将一个包含大量数据的矩阵写入文件.例如,我有一个矩阵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
Run Code Online (Sandbox Code Playgroud)
按照@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
Run Code Online (Sandbox Code Playgroud)
有了这段代码,问题就解决了!也许我上次没有正确编译.