fortran90相关内容
我想知道如何从一个函数没有形状的任何知识返回数组,直到运行时(其中包括承担状阵列)。我将举例说明。这适用 模块富 包含 功能的getArray(:) ::实的getArray(3) 整数::我 做我= 1,3 的getArray(I)= 10.0 *我 ENDDO 最终功能前端模块XX程序 使用富 实::阵
..
我试着写用的 n×n的的矩阵格式的输出FILE.DAT。 我写的code,但输出值f的一列。 现在的问题是:如何更改文件的输出格式写入? 来自: 1 2 4 五 ... 要:1,2,3,4 // 5,6,8,... // 程序网加入收藏 隐无 整数参数::格= 800 整数:: I,J,K,N,M 真正的* 8,可分配:: F(:, :)
..
我读数据FRAM一个外部文本文件(30行,第7列),每个行被分隔以一“,”。我已经缺失值重新psented为$ P $“,,”。当我读数据到一个二维数组的缺失值被替换为0.00,但我已经在数据中的0.00太超值了。当我计算平均计数(件数(n))showd是计数 - (缺失值的数目)。如何动态挑缺失值。 谢谢 斯里兰卡 DATA 337.60,220.40,0.00,0.00,200.42
..
在我的计划子程序 stlstp 通过工作(2,1)作为参数传递给 stlfts(...)子程序。 工作(2,1)将是指数在双重价值,但如何子程序将其转化为一维数组 X(N)? 当我打印 X 在 stlfts(...)子程序的价值,这是 N 尺寸,例如: STLFTS ....点¯x,,, 0.0000000000000000 1.4964418382246345E-317 1.4897857
..
很抱歉,如果这是不是做这个问题的正确的地方,这是不是programation反而是一个技术问题。 我需要用二维向量的规模巨大阵列双precision aproximately工作的10万元他们。但是,在其他程序中我有记忆问题,在处理这类阵列。我的问题是,如果有某种限制在双precision数组的大小。 我在Linux下工作,英特尔两大核心,32位。 谢谢 解决方案 好吧,我会为什么字
..
我编一个Fortran 90的程序与gfortran它建立在某种程度上我想要一个可扩展的三维阵列。一旦运行,我收到以下错误: 计划接收信号SIGSEGV:段错误 - 无效的内存引用。回溯跟踪此错误: #0 0x10542ee42 #1 0x10542f60e #2 0x7fff8d7895a9 #3 0x10542575e #4 0x105425975 #5 0x105425d0e 段故障:11
..
有之间的差异 整数,意图(中)::ñ 整数,尺寸(:),可分配::一 分配(一(N)) 和整数,意图(中)::ñ 整数,尺寸(N)::一 在这情况下,我们会使用第一个版本? 也许我误解分配数组,是第二个版本,甚至可分配数组? 解决方案 第二种情况确实不具有 A 分配的。然而,这是,一个的自动的对象。 忽略在执行层面的内存使用的实际差异,有一个很大的区别。是的,每个 A 是(假设东西的
..
是否有可能在一个程序创建一个数组,然后在其他程序中使用呢?我期待创建数组非常大,它的创作将需要一段时间,所以我不希望每次运行主程序,而是只用它在其他程序中,一旦创建后的时间,使之重新。由于其规模,我不知道,如果打印到文件,然后阅读它回不会又是相当低效的? 有尺寸1的整数数组:300 000 100 解决方案 长注释: 有多种格式可以在其中保存数据:未格式化的Fortran顺序,未格式化
..
我有这种结构的环 参考:麦克斯韦code示例 DO Z = 1,Zend公司 做Y = 1,YEND 做X = 1,xend的 K = ARR(X,Y,Z) 做一段时间(k.ne.0) 九= fooX(K) IY = fooY(K)
..
我已经看到了这个要求的其他语言,但刚刚发现了如何很好地FORTRAN可以处理数组,我认为有可能是一个简单的方法来做到这一点没有循环。 目前我正在寻找在一个三维阵列看着'近邻',看看他们是否包含字母“N”,而只要找到这个价值,我希望它执行一些clusterLabel分配(这是不相关对于这个问题) 我想用如果然后...&LT(lastNeighArray.eq的“n”); code取代的休息;
..
我的程序正在运行,虽然3D阵列,标签'集群',它发现,然后做一些检查,看是否有邻居簇比当前群集较高的标签。还有一个保存'适当'簇标签第二个阵列。如果发现第n相邻集群正确标记,该元素被分配到0,否则将其分配给正确的标签(例如,如果第n个站点有标签2,和邻居标记为3的第三元素labelArray设置为2)。我有一个很好的理由这样做,说实话! 我要的是能够给labelArray的第n个元素分配的飞行。
..
我是比较新的Fortran和现在打破我的头一件事的时间: 我想写一个子程序寻找特定元素的索引在一个真正的一维数组(给予常规输入)。 我已经生成100随机实数的数组,名为改编,现在要确定这是不是一个真正的价值分,这也将传递到子程序。 另外,在最后我想有一个指针我到底,我是说会比使用数组指数包含更好地分配指数一旦发现。 我只是没有找到如何解决这个问题,我下面的方法: SUBROUTINE
..
有没有写专栏,以一个文件一个接一个的方法吗?例如,我想这样写: 写(1 *)1 写(1,*)2 然后写(可能在另一个子程序)写(1,*)3 写(1,*)4 在使得将在格式产生一个输出文件的方式: 1 3 2 4 无相结合的阵列(例如)写(1,*)1,3- 写(1,*)2,4- 我想可能有移动的“指针”(文件位置)回到起点,并添加空格或东西的方式,但我真的不知道,如果这是可
..
这是我的理解是,你可以从Fortran语言函数返回一个数组,但由于某些原因我的code仅返回我要求它返回数组中的第一个值。这是在功能: 函数polynomialMult(NPTS,X,Y) 整数NPTS 双precision X(NPTS),结果(NPTS + 1),Y(NPTS,NPTS) polynomialMult =×(1:NPTS)+1最终功能 这就是我称之为
..
在我的code,我有一个子程序,它需要一个5级阵列作为参数,并使用一个局部变量,这是一个4个等级阵列共享前4个指标。 我试图找到一种更简洁的方式来恩preSS的尺寸申报 子程序mysub(势头) 复杂,意图(中)::动量(:,:,:,:,:) 复杂:: prefactor(安培; &安培;大小(势头,1),大小(动量,2),尺寸(势头,4)及 &安培;大小(动量
..
我有以下的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]),放大器;
..
以下code将返回分段错误,因为分配数组我试图通过没有被正确识别(大小,则返回1,当它应该是3)。在这个页面(http://www.eng-tips.com/viewthread.cfm?qid=170599)类似的例子似乎表明,它应F95做工精细;我的code文件具有.F90扩展,但我试图将其更改为F95,而我使用gfortran编译。 我的猜测是,这个问题应该是我传递分配数组的子程序的方式;
..
我试图运行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)数组
..
我想实现一个指针数组,这样我可以通过元素循环。但是我不知道如何做到这一点正确的: TYPE(域),POINTER :: D01,D02,D03 TYPE(域),外形尺寸(:),指针:: DOM ...DOM(1)=> D01 DOM(2)=> D02 DOM(3)=> D03 ... 和则: ... 中频(ASSOCIATED(DOM(2),D02))THEN ...
..