fortran相关内容
这是我的理解是,你可以从Fortran语言函数返回一个数组,但由于某些原因我的code仅返回我要求它返回数组中的第一个值。这是在功能: 函数polynomialMult(NPTS,X,Y) 整数NPTS 双precision X(NPTS),结果(NPTS + 1),Y(NPTS,NPTS) polynomialMult =×(1:NPTS)+1最终功能 这就是我称之为
..
好了,在我的计划,我应该采取从比打开并阅读内容的用户的数据文件的名称。但是,当我打开并阅读所有的文字只是最终被******,所有的整数最终被0 IDK如果这是我如何的文件或文件格式阅读? 该文件将包含这样的事情:(其中城市数量是第一个数字) 4 圣地亚哥 0 350 900 1100 凤凰 350 0 560 604 丹佛 900 560 0 389 达拉斯 1100 604 389 0
..
我试图从一个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)及 &安培;大小(动量
..
有是这样的程序: 整数I,K REAL * 800万像素(15,48) REAL * 8 SP(15) K = 0 做我= 1,12 K = K + 1 调用Equaltensors(SP,MP(1,K),15) ENDDO 结束ç=====================子程序Equaltensors(tensA,tensB,N) REAL * 8 tensA(n)时,tensB(
..
我有以下的code: 程序function_as_an_array 隐无 整数::我 整数参数:: N = 10 真正的* 8 :: X(N),Y(N),F(N) 做I = 1,N X(I)=浮动(I) 做到底 调用FUNC(F,N,X) 开(单位= 20,文件='TEST.DAT') 做I = 1,N Y
..
我想知道这将有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]),放大器;
..
我使用了很多Fortran库中做一些数学计算。因此,在numpy的需要所有的数组为的的Fortran连续的。结果 目前,我做到这一点与
..
我写在Fortran的一个新的code和使用分配数组或指针数组之间犹豫。我读的地方,分配数组超过指针数组有显著的优点: 1)更有效,因为他们总是在内存中连续 2)没有内存泄漏是可能的。 有人可以证实这一点?哪一个你会建议使用?什么是这两个选择之间的code的执行速度的长期结果? 解决方案 分配数组可能会导致更有效的code,因为该阵列将是连续的。特别是如果数组传递到子程序,邻接可以p
..
以下code将返回分段错误,因为分配数组我试图通过没有被正确识别(大小,则返回1,当它应该是3)。在这个页面(http://www.eng-tips.com/viewthread.cfm?qid=170599)类似的例子似乎表明,它应F95做工精细;我的code文件具有.F90扩展,但我试图将其更改为F95,而我使用gfortran编译。 我的猜测是,这个问题应该是我传递分配数组的子程序的方式;
..
我是新来的Fortran,我希望能够在二维数组写入一个文本文件,在逐行方式(在其自己的行每行的列之间的空间,和)。我曾尝试以下,似乎在下面简单的例子来工作: 程序TEST3 隐式NONE INTEGER :: I,J,K,其行,数numCols INTEGER,DIMENSION(:, :),可分配::一 其行= 5001 数numCols = 762 ALLOCATE(A(
..
有没有办法用Fortran堆栈上的 以创建可变大小的数组?分配()对我不起作用,因为它把堆的阵列。这可能会导致问题并行(见我的其他问题:
..
在的Python 高清选择(X): Y = [] 为电子商务在X: 如果E = 0! y.append(五) 返回是 这是工作方式: X = [1,0,2,0,0,3] 选择(X) [1,2,3] 被翻译成的Fortran 功能选择(X,N)结果(Y) 隐无 整数:: X(N),N,I,J,Y(?)
..
我试图运行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)数组
..
尝试刷新我的Fortran 90的知识的一个项目,我使用内部文件时遇到了一些怪胎。考虑例如code: ! ---- ---- internal_file_confusion.f90 节目internal_file_confusion 隐无 字符* 40 ::字符串1 字符::字符串2(40) 写(字符串1,*)的“Hello World 1” 写(*,*)“字符串1 =”字符串1
..
我想实现一个指针数组,这样我可以通过元素循环。但是我不知道如何做到这一点正确的: TYPE(域),POINTER :: D01,D02,D03 TYPE(域),外形尺寸(:),指针:: DOM ...DOM(1)=> D01 DOM(2)=> D02 DOM(3)=> D03 ... 和则: ... 中频(ASSOCIATED(DOM(2),D02))THEN ...
..
是否有声明假定大小的数组的这两种方法有什么区别? 例如。 真实的,尺寸(:) :: ARR 和真正:: ARR(*) 解决方案 形式真实的,尺寸(:) :: ARR 声明了一个假定形状阵列,而形式真正:: ARR(*) 声明了一个假定大小阵列。 和,是的,有使用它们之间的差异。的差异的产生是因为,大约,编译器“知道”的假定形状阵列的形状,但不是假定大小阵列。提供给编译器的
..
使用C一段时间后,我又回到了Fortran和分配在我的code数组索引0到N: 实(KIND = DP),尺寸(:),可分配::一 分配(一(0:50)) 我需要找到数组的最小绝对值的指数,所以我用MINLOC,并检查这一点,我将它比作MINVAL: minloc(ABS(A(:))) MINVAL(ABS(a))的 MINLOC的结果是指数 42 但MINVAL的结果,符合 41 。
..
我想在硬盘上的一个大的FORTRAN记录(12G)映射到numpy的数组。 (映射,而不必加载保存的记忆。) 因为它记录标记划分存储在FORTRAN记录中的数据是不连续的。记录结构为“标记,数据,指标,数据,...,数据,标记”。数据区域和标记的长度是已知的。 标记物之间的数据的长度不是4字节倍数,否则我每个数据区域映射到阵列 第一个标记可以通过MEMMAP设定偏移被跳过,是有可能跳过其他标
..
我试图与在第二个层面例如不同长度的数组: A = 1 3 5 6 9 2 3 2 2 5 8 9 这可能吗?我花的时间相当,但看不能找出任何一种方式。 解决方案 是,也不是。首先是没有: 适当阵列Fortran语言,如声明如下:整数,尺寸(3,3,4):: an_array 或像这样整数,尺寸(:,:,:,:),可分配:: an_array 是正规;对
..