Fortran语言: WRITE(IU,FORM) (((C(NX,NY,NZ),NX=1,NGXC),NY=1,NGY

问题描述:

Fortran语言: WRITE(IU,FORM) (((C(NX,NY,NZ),NX=1,NGXC),NY=1,NGYZ),NZ=1,NGZC) 是什么意思?
我没学过Fortran,能说说这语句中各参数的作用和意义么?谢谢啊!
1个回答 分类:综合 2014-12-10

问题解答:

我来补答
我相信,你的代码里绝对不止这一句.
既然没学过 Fortran,那我建议你认真系统的学习 Fortran.
write 语句是基本的 Fortran 输出语句,在 Fortran 代码里,是使用很广泛的.
如果 write 语句你阅读还有困难,我也相信,你的困难,绝不在于这一句代码.
系统的学习,是你目前最需要的,单独的挑出代码中的一句两句求助,对你没有太大的帮助.
WRITE(IU,FORM) (((C(NX,NY,NZ),NX=1,NGXC),NY=1,NGYZ),NZ=1,NGZC)
表示输出
IU 输出到的目标,IU 极大可能是一个文件通道号,在前面的代码里用 Open 语句打开的文件,表示输出到该文件中.(也可能不是,需结合你的其他代码确定)
FORM 表示使用该字符串变量,作为输出的格式.(也需要结合你当前 FORM 的值来讲解)
(((C(NX,NY,NZ),NX=1,NGXC),NY=1,NGYZ),NZ=1,NGZC)
是三层循环.隐循环.
他类似于
Do nz = 1 , NGZC
Do ny = 1 , NGYZ
Do nx = 1 , NGXC
write( IU,FORM ) C(nx,ny,nz)
End Do
End Do
End Do
但隐循环,是同一个write 语句.即,输出为一行.
而显循环,是 NGZC*NGYZ*NGXC 个输出语句,即,输出为多行.
当然,执行效率上,两者也有差别.
再问: 现在在学习一个软件,使用手册上关于输出文件的书写,只是简略地提到是使用上述那句Fortran语言来书写的,没有给出其他的代码。 NGZC,NGYZ,NGXC是什么意思?是循环变量自动+1的意思么? 输出的时候,若 nx,ny,nz 的最大值都为2,那么输出的顺序是怎样? 要系统学习Fortran,该从哪些基础入手,能否推荐些参考书?我是零基础,谢谢啊!
再答: nx ny nz 是循环变量。NGXC 是 nx 的循环终止。 nx 从 1 循环到 NGXC。ny nz 类同。 零基础,看彭国伦的书既可。
再问: 是先循环nx,再循环ny,最后循环nz么? C(nx,ny,nz)是什么意思? 若NGXC,NGYZ,NGZC的值都为2,输出的顺序是(1,1,1),(2,1,1)(1,2,1)(2,2,1),(1,1,2),(2,1,2),(1,2,2),(2,2,2)么? 谢谢啊!
再答: 先循环nx,然后ny,nz c是三维数组。也可能是三个参数的函数。 顺序没错。
 
 
展开全文阅读
剩余:2000