Wie schreibe ich eine riesige Matrix, um Zeile für Zeile zu archivieren? (fortran 90)

Ich möchte zeilenweise eine Matrix mit vielen Daten in eine Datei schreiben. Zum Beispiel habe ich eine Matrix 100 * 100 und möchte sie in der Form 100 * 100 in der Datei haben. Es funktioniert jedoch nicht. Es folgen mein Code und eine Beschreibung. N und M sind ganze Zahlen um einige Hundert. RECL ist die erwartete Länge Ich habe die Datei eingestellt, aber hier scheint es, dass dieser Befehl nicht funktioniert. Die Ausgabe erfolgt mit 198 Zeilen, wenn N auf 99 und M auf 200 gesetzt sind. Vec ist eine komplexe Matrix mit doppelter Genauigkeit. Wie kann ich die Werte von Vec im Originalformat N * M ausgeben? Mein Kompilierbefehl lautet "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

Nach @george-Ratschlägen habe ich ein Programm wie dieses codiert:

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

Mit diesem Code ist das Problem behoben! Vielleicht habe ich das letzte Mal nicht richtig kompiliert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage