我想在fortran的一行中写一个变量z。如您所见,z 是 g*h 的乘积。我遇到的问题是我想在 z11,z12,z13,...zn1,x 行中打印。第一个数字是 i 的值,第二个数字是 j 的值。这是我尝试过的:
do i=1,ny
do j=1,nx
s=xmin + alongintx * (dfloat(j)-1.d0)
t=ymin + alonginty * (dfloat(i)-1.d0)
g=(1.d0/(desvestx*dsqrt(2.d0*pi)))*dexp(-(s-amedx)**2/
$ (2.d0*desvestx**2))
h=(1.d0/(desvesty*dsqrt(2.d0*pi)))*dexp(-(t-amedy)**2/
$ (2.d0*desvesty**2))
z=g*h
write(45,*)(z,m=1,nx)
end do
end do
问题是它在一行中打印 nx 次相同的值。如何在不将数据保存在数组中的情况下解决它?我有兴趣处理大量数据(nx 和 ny > 10000),因此不能选择存储在数组中