У меня есть решатель оптимизации в Fortran 90. Так что, если я хочу, чтобы изменить целевую функцию я должен модифицированный основной файл и записать целевую функцию таким образом:Чтения функции из файла в Fortran 90
subroutine fobj(n,x,f)
implicit none
integer :: n
real(8) :: f
real(8) :: x(n)
intent(in) :: n,x
intent(out) :: f
!OBJECTIVE FUNCTION
f = x(1)**2-x(2)+2*x(3)
end subroutine fobj
У меня есть большая целевая функция, поэтому я хочу называть эту строку «f = x (1) ** 2-x (2) + 2 * x (3)» из внешнего файла или, по крайней мере, подпрограммы ,
Возможно ли это? (Я новичок в Fortran.)
Я знаю, что могу изменить файл с помощью Python, но я хочу сделать это в другом файле.
Большое спасибо!
Не совсем уверен, что вы хотите позвонить откуда? – haraldkl
Не совсем уверен: хотите ли вы модифицировать функцию до или после компиляции? В Fortran вы не можете модифицировать исходный файл после компиляции. – max