2016-03-04 2 views
0

Возможно ли создание динамических имен переменных в 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 

У меня 2 вопроса:

  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) 
    

Аналогичным образом FT4, FT5, FT6 ... расширится FTN, FTN + 1, FTN + 2, чтобы получить Xoutn и Youtn.

Надеюсь, вы поняли мой вопрос. Если нет, пожалуйста, воздержитесь от меня и попросите меня что-нибудь, что нужно изменить.

Thanks

ответ

1

Нет, это невозможно.

Используйте массив для хранения значений ft1 ... ftn и подобных переменных.

+0

Хорошо спасибо IanH. –

Смежные вопросы