我有一个程序为矩阵u
创建值,并且每次迭代f
都会更改,我想为每次迭代{{1}写出u(2,2)
的值}}。例如,f
,u(2,2)=5 f=1
等等。
现在u(2,2)=9 f=2
只写最后一个值。当它符合我的标准时停止do循环。我不希望我的子程序每次都覆盖文件plot.txt,我希望它为每次迭代保留test(u,n,f)
。我希望它看起来像这样
u(2,2)
但不是只写
5 1
9 2
10 3
如何解决这个问题?
15 25
为“{1}}
创建不同值的”程序“subroutine test(u,n,f)
!input
integer :: n,f,write_unit
real(8) :: u(n+2,n+2)
!lokale
integer :: i,j
real(8) :: vek_x,vek_y
!Skriver vektor verdier til fil som gnuplot skal bruke
open(newunit=write_unit,access='sequential',file='plot.txt',status='unknown')
write(write_unit,*)'# x y vx vy'
vek_x=u(2,2)
!write(write_unit,*) vek_x,f
write(write_unit,*) vek_x,f
write(write_unit,*)''
close(write_unit,status='keep')
答案 0 :(得分:0)
只需打开文件即可附加
open(newunit=write_unit,access='sequential',file='plot.txt',position='append',status='old',action='write')
如果那就是你想要的。
第一次可能想要将其创建为空
open(newunit=write_unit,access='sequential',file='plot.txt',status='replace')
close(write_unit)