fortran

    1热度

    1回答

    我想Pythonize FORTRAN77代码。有一段代码,我似乎无法理解它的意图。 ZM只是0和1之间的一个标量.Z是一个0到1之间的一维数组,其中包含NJ元素。 J,J1和J1M是INTEGER类型。 PDFZ是另一个带有NJ元素的一维数组。我无法映射出执行流程。 DO 18 J=2,NJ IF(ZM.GT.Z(J)) GOTO 18 J1=J J1M=J-1

    1热度

    1回答

    我在运行gfortran版本5.4.0的Linux机器上使用带有Fortran的ieee_arithmetic。 当试图初始化Inf和NaN的值时,我得到除零的错误。 ieee_arithmetic似乎没有问题,因为在文件的其他地方,我可以成功地调用ieee_is_finite()没有问题。 我认为ieee_arithmetic允许除以零被用于这些具体情况,但我必须失去一些东西。下面是一个代码示例

    1热度

    2回答

    据我所知,用户派生类型的定义不能包含target属性。例如,这是不允许的: type TestType integer, target :: t end type 然而,它的罚款对他们来说是一个指针: type TestType2 integer, pointer :: p end type 我的问题是,那么,一个人如何可以用一个指针在对象的指向类型变量?例如,如果

    1热度

    1回答

    如何操作命令行参数? 例如 te.f90 program print_ integer :: i character(len = 32) :: arg i = 1 Do call get_command_argument(i, arg) if (len_trim(arg) == 0) exit write(*,*) tr

    1热度

    1回答

    我需要全局优化matlab中Fortran程序的参数输入。该函数接受以如下方式输入: z= fort_fun(X,str) 当X是十进制数和STR的向量是一个字符串。我需要为1020个str中的每一个识别对应于最优X的最小z值。我可以通过将str声明为全局变量,并在父脚本结尾处使用本地定义的函数来执行此过程。然而,为了更及时地执行我的代码(< 1个月),我想为平行PARFOR如下运行这个程序:

    1热度

    1回答

    据this source,我会解释该指定状态=“老”应该是默认附加: OLD,如果文件被打开,但没有更换 但是,这不是我的代码中正在发生的事情。下面是一个例子: program openstat_test implicit none integer :: mystat mystat=0 print*,"Im trying to open a new fil

    1热度

    1回答

    对于静态阵列的一个可以显式地定义的约束这样的下: real, dimension(2:6) :: numbers 据我所知,动态阵列被声明如下: real, dimension(:), allocatable :: numbers allocate(numbers(6)) 是否可以声明具有下限和/或上限的动态数组?如果是,如何?如果不是,那么这是不是还是不能实施?

    1热度

    2回答

    NUM和ARRAY都是双精度变量,不知道if块将如何执行。什么时候会停止?它究竟在做什么?如果我们到8,那么我们是否退出do循环? 感谢 DO 7 I = 1,28 IF (NUM - ARRAY(I)) 8,7,7 7 CONTINUE I=29 8 NUM = ARRAY(I) ...

    1热度

    1回答

    我试图使用gfortran在GNU平台上编译一些专有的Fortran代码。有谁知道例程sortqq(Intel)或qsort_up(IBM)是否有开放源代码的对应项?

    -1热度

    1回答

    我正在运行fortran代码。代码没有暂停,也没有任何要求用户执行任何操作的开关。它应该始终以无止境的方式运行。这是一个具有大外部循环和几个OpenMP内部循环的代码。我输出的唯一东西是更大外部循环的索引,以便我可以知道代码在哪里。 该代码通常运行没有问题。然而,最后两次我运行它,代码停止没有错误(我知道,因为核心使用率开始为0%)。但是,如果我按下控制台中的输入代码恢复正常。 所以我的问题是,有