创建动态名称

时间:2016-03-04 22:35:20

标签: variables fortran iteration fortran90

是否可以在fortran中创建动态变量名? (ft1,ft2,ft3正在从文件输入中读取,并且都是相同的。)(截至目前为deg = 10)。

我也在这里提供片段:

call RKUTTA(h,TX,X,Y,ft1,ft2,ft3,kglobal,cglobal,invmass,Xout1,Yout1)

write(20,*) " TIME STEP VALUES  "  
write(20,*) "     Xout1   Yout1  "

do num = 1,deg
write(20,'(30f20.5)') Xout(deg)  , Yout(deg)  
end do

我有两个问题:

  1. 我需要创建ft1到ftn(任何数字)是否可以在没有变量定义的情况下动态循环或创建它?
  2. 在上面的子程序ft1中,ft2,ft3用作输入以获得输出Xout和Yout。必须使用不同的输入集再次调用子例程以获得不同的输出。

    call RKUTTA(h,TX,Xout1,Yout1,ft4,ft5,ft6,kglobal,cglobal,invmass,Xout2,Yout2)
    
    write(20,*) " TIME STEP VALUES  "  
    write(20,*) "     Xout2   Yout2  "
    
    do num = 1,deg
    write(20,'(30f20.5)') Xout2(deg)  , Yout2(deg) 
    
  3. 类似地,ft4,ft5,ft6 ......将扩展为ftn,ftn + 1,ftn + 2以获得Xoutn和Youtn。

    希望你理解我的问题。如果没有,请耐心地向我询问任何需要改变的事情。

    由于

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。

使用数组来保存ft1 ... ftn和类似变量的值。