fortran相关内容

功能返回Fortran中的数组

这是我的理解是,你可以从Fortran语言函数返回一个数组,但由于某些原因我的code仅返回我要求它返回数组中的第一个值。这是在功能: 函数polynomialMult(NPTS,X,Y) 整数NPTS 双precision X(NPTS),结果(NPTS + 1),Y(NPTS,NPTS) polynomialMult =×(1:NPTS)+1最终功能 这就是我称之为 ..
发布时间:2016-05-31 19:28:50 其他开发

Fortran 90的读入从数据文件字符与整数

好了,在我的计划,我应该采取从比打开并阅读内容的用户的数据文件的名称。但是,当我打开并阅读所有的文字只是最终被******,所有的整数最终被0 IDK如果这是我如何的文件或文件格式阅读? 该文件将包含这样的事情:(其中城市数量是第一个数字) 4 圣地亚哥 0 350 900 1100 凤凰 350 0 560 604 丹佛 900 560 0 389 达拉斯 1100 604 389 0 ..
发布时间:2016-05-31 19:03:23 其他开发

无法从FORTRAN传递数组到C

我试图从一个FORTRAN程序传递一个一维数组到C C函数的调用,但它持有的值是垃圾。但是,尽管如果我尝试调用使用一个整型变量同样的功能,我能够通过所需的值。谁能帮我这个? 在code我现在用的就是类似这样 文件:fortran_prog.f 程序测试 真实* 4 ::一个(4) 数据/ 1,2,3,4 / 调用test_func(一) 结束程序测试 文件:c_ ..

简明的符号从其他数组大小继承?

在我的code,我有一个子程序,它需要一个5级阵列作为参数,并使用一个局部变量,这是一个4个等级阵列共享前4个指标。 我试图找到一种更简洁的方式来恩preSS的尺寸申报 子程序mysub(势头) 复杂,意图(中)::动量(:,:,:,:,:) 复杂:: prefactor(安培; &安培;大小(势头,1),大小(动量,2),尺寸(势头,4)及 &安培;大小(动量 ..
发布时间:2016-05-31 18:52:06 其他开发

用Fortran 90/95广播阵列乘法

我想知道这将有Fortran中是一个更好的(简洁)的方式来code呢?我想乘的每一列(3,3) B所的每个值(3)。我知道在Python有 np.multiply ,并且不知道Fortran语言。 ! test.f90 程序测试 隐无 整数参数:: DP =种(0.d0) 实(DP)::一个(3,3)=重塑([1,2,3,4,5,6,7,8,9],[3,3]),放大器; ..
发布时间:2016-05-30 23:52:01 其他开发

ALLOCATABLE数组或指针数组?

我写在Fortran的一个新的code和使用分配数组或指针数组之间犹豫。我读的地方,分配数组超过指针数组有显著的优点: 1)更有效,因为他们总是在内存中连续 2)没有内存泄漏是可能的。 有人可以证实这一点?哪一个你会建议使用?什么是这两个选择之间的code的执行速度的长期结果? 解决方案 分配数组可能会导致更有效的code,因为该阵列将是连续的。特别是如果数组传递到子程序,邻接可以p ..

如何分配数组传递到FORTRAN子程序

以下code将返回分段错误,因为分配数组我试图通过没有被正确识别(大小,则返回1,当它应该是3)。在这个页面(http://www.eng-tips.com/viewthread.cfm?qid=170599)类似的例子似乎表明,它应F95做工精细;我的code文件具有.F90扩展,但我试图将其更改为F95,而我使用gfortran编译。 我的猜测是,这个问题应该是我传递分配数组的子程序的方式; ..
发布时间:2016-05-30 23:37:03 其他开发

在Fortran 90中,什么是写一个数组到一个文本文件中,逐行的好办法?

我是新来的Fortran,我希望能够在二维数组写入一个文本文件,在逐行方式(在其自己的行每行的列之间的空间,和)。我曾尝试以下,似乎在下面简单的例子来工作: 程序TEST3 隐式NONE INTEGER :: I,J,K,其行,数numCols INTEGER,DIMENSION(:, :),可分配::一 其行= 5001 数numCols = 762 ALLOCATE(A( ..
发布时间:2016-05-30 23:35:25 其他开发

双precision阵列错误

我试图运行code的数学算法(共轭梯度法)。在这方面,我输入了双precision矩阵,在我的preamble来定义。编译时,我得到了如下错误: A = RESHAPE((/ 0,8,0,4,26,8,0,17.5,0,0,0,17.5,0,2.5,-8,4 ,0,2.5,0,-5,26,0,-8,-5,0 1 错误:元素INTEGER(4)数组 ..
发布时间:2016-05-30 23:17:06 其他开发

指针数组

我想实现一个指针数组,这样我可以通过元素循环。但是我不知道如何做到这一点正确的: TYPE(域),POINTER :: D01,D02,D03 TYPE(域),外形尺寸(:),指针:: DOM ...DOM(1)=> D01 DOM(2)=> D02 DOM(3)=> D03 ... 和则: ... 中频(ASSOCIATED(DOM(2),D02))THEN ... ..
发布时间:2016-05-30 22:57:16 其他开发

假定大小的数组:科隆主场迎战星号 - DIMENSION(:) ARR与ARR(*)

是否有声明假定大小的数组的这两种方法有什么区别? 例如。 真实的,尺寸(:) :: ARR 和真正:: ARR(*) 解决方案 形式真实的,尺寸(:) :: ARR 声明了一个假定形状阵列,而形式真正:: ARR(*) 声明了一个假定大小阵列。 和,是的,有使用它们之间的差异。的差异的产生是因为,大约,编译器“知道”的假定形状阵列的形状,但不是假定大小阵列。提供给编译器的 ..
发布时间:2016-05-30 22:47:40 其他开发

是否MINLOC工作在指数从0开始的数组? (Fortran语言90/95)

使用C一段时间后,我又回到了Fortran和分配在我的code数组索引0到N: 实(KIND = DP),尺寸(:),可分配::一 分配(一(0:50)) 我需要找到数组的最小绝对值的指数,所以我用MINLOC,并检查这一点,我将它比作MINVAL: minloc(ABS(A(:))) MINVAL(ABS(a))的 MINLOC的结果是指数 42 但MINVAL的结果,符合 41 。 ..
发布时间:2016-05-30 22:47:06 其他开发

是否有可能到磁盘上的discontiuous数据映射到与Python数组?

我想在硬盘上的一个大的FORTRAN记录(12G)映射到numpy的数组。 (映射,而不必加载保存的记忆。) 因为它记录标记划分存储在FORTRAN记录中的数据是不连续的。记录结构为“标记,数据,指标,数据,...,数据,标记”。数据区域和标记的长度是已知的。 标记物之间的数据的长度不是4字节倍数,否则我每个数据区域映射到阵列 第一个标记可以通过MEMMAP设定偏移被跳过,是有可能跳过其他标 ..
发布时间:2016-05-30 22:45:50 Python

多维数组长度不同

我试图与在第二个层面例如不同长度的数组: A = 1 3 5 6 9 2 3 2 2 5 8 9 这可能吗?我花的时间相当,但看不能找出任何一种方式。 解决方案 是,也不是。首先是没有: 适当阵列Fortran语言,如声明如下:整数,尺寸(3,3,4):: an_array 或像这样整数,尺寸(:,:,:,:),可分配:: an_array 是正规;对 ..
发布时间:2016-05-30 22:43:34 其他开发