fortran90相关内容

如何在Fortran中读取内容不以空格分隔的2D文件

我在文件(number.txt)中存储了一个矩阵,如下所示: 123234565425431176534522 我如何在Fortran中读取此类矩阵,所以结果将是: 1 2 3 2 3 4 5 65 4 2 5 4 3 1 17 6 5 3 4 5 2 2 使用awk分隔这些列并在Fortran中读取它非常容易.但是,我想知道是否可以仅使用Fortran来完成所有这些工作.完成后, ..
发布时间:2021-05-09 19:19:03 其他开发

Fortran读取混合文字和数字

我正在使用Fortran 90读取包含以下格式数据的文件 数字#125 var1 = 2 var2 = 1 var3:4....数字#234 var1 = 3 var2 = 5 var3:1 我尝试了以下命令,并且运行正常 读取(2,*)tempstr,my_param(1),tempstr,my_param(2),tempstr,my_param(3) 问题是当数字变大并且字符串和数 ..
发布时间:2021-05-09 19:17:26 其他开发

为什么我们需要1,2,4,8个字节将逻辑变量存储在fortran中?

我不明白,因为逻辑类型仅具有两种情况: true 和 false ,因此为什么我们需要逻辑(1),逻辑(2),逻辑(4),逻辑(8)在Fortran中? 我们只需要 1位. 有人可以解释吗? 解决方案 首先,Fortran 不是说我们有逻辑类型,每个逻辑类型分别占用1、2、4和8个字节,它们当然不是 logical(1), logical(2), logical(4)和 log ..
发布时间:2021-05-09 19:17:13 其他开发

在fortran中生成序列数组

Fortran中是否有一个内在函数生成一个包含从a到b的数字序列的数组,类似于python的 range() >>>范围(1,5)[1、2、3、4]>>>范围(6,10)[6、7、8、9] ? 解决方案 不,没有. 但是,您可以使用具有相同功能的构造函数初始化数组, 程序数组隐式无整数::我实数:: a(10)=(/(i,i = 2,20,2)/)打印*,一个结束程序arra ..
发布时间:2021-05-09 19:17:02 其他开发

编译错误:(1)名称中的字符无效

我写了 程序测试隐式无整数,参数:: N = 3real(8),参数::&A(N,N)= reshape((/1.5d0,1d0,1d0,1d0,1.5d0,2d0,1d0,1d0,3d0/),shape(A))&b(N)=(/5d0,-3d0,8d0/)打印*,A结束程序 保存为test.f,并使用 gfortran -ffree-form -Wall -Werror -ffree-lin ..
发布时间:2021-05-09 19:16:20 其他开发

将不同长度的字符串传递给Fortran中的函数

我正在将Fortran 90与gfortran编译器一起使用,作为cygwin的一部分.我想编写一个函数,该函数将在目录中创建一系列新文件夹,该目录也作为参数传递,该数字是新连续编号文件夹的最大数量.因为我必须声明字符(即字符串)的长度,而且还希望通用地能够传递不同的路径,所以我尝试将修剪后的字符串传递给函数. 程序主要隐式无字符(len = 6):: newdir字符(len = 27)::路 ..
发布时间:2021-05-09 19:15:42 其他开发

Fortran DO循环,警告仅使用整数

我在Ubuntu 15.04系统上安装了gfortran.在编译Fortran代码时,DO循环要求仅采用整数参数,而不是实数值或变量.这包括循环变量和步骤表达式.为什么它也不能采用真实的价值? 以下是摘自此处的程序,该练习是本节的嵌套执行循环. 程序xytab隐式无!为x的值从1到2构造一个z = x/y的表,并且!y从1到4,步长为.5实数:: x,y,z打印*,'x y z'做x = ..
发布时间:2021-05-09 19:14:56 其他开发

在Cygwin中安装gfortran

我正在尝试使用gfortran或g95编译器在Cygwin中编译建模程序.我已经安装了两个编译器,但是当我配置程序时,它会检查编译器,然后找不到(错误:Fortran编译器无法创建可执行文件).我是Cygwin的新手,我怀疑这与安装编译器的方式/位置有关……有什么想法吗? 谢谢 L. 解决方案 对我来说,使可执行代码通过此过程会更有用,因此我要介绍一些.这可以解决您的问题, ..
发布时间:2021-04-27 20:49:03 其他开发

同一Fortran子例程中不同类型的参数

我想在现代的fortran(90或更高版本)中定义一个子例程,以打印矩阵(带整数或实数)或向量(带整数o数). SUBROUTINE print_matrix_vector(A)!我可以写什么类型?结束子程序 当然,我想调用一个子例程 CALL print_matrix_vector(A) 是独立的,如果A是实数或整数的矩阵,以及A是实数或整数的向量. 提前感谢您的评论.我认 ..
发布时间:2021-04-24 18:45:22 其他开发

此FORTRAN代码不应编译.有什么理由吗?

以下代码可以编译,但我认为不应该.如您所见,输出是垃圾. 这是一个最小的失败示例,在我正在从事的一个大型项目中,这使我很难受. 我的问题是-为什么编译器不抱怨?这是编译器的限制,还是某种“预期的行为",而我错过了一些东西? 我正在使用gfortran 4.6.3. 模块dataModule整数:: datum1 = int(1)整数:: datum2 = int(2)终端模块d ..
发布时间:2021-04-23 19:54:59 其他开发

将变量从Shell脚本传递到Fortran 90程序

我陷入了这个小问题.我想知道是否有可能将bash-shell脚本的变量传递给f90代码? 解决方案 我很确定之前已经在这里进行了讨论,但是我找不到确切的重复项. 您可以将参数直接作为参数传递给程序 ./程序arg1 arg2 您可以使用子例程 GET_COMMAND ARGUMENT 和 COMMAND_ARGUMENT_COUNT .单击链接以获取有用的示例. 在较早 ..
发布时间:2021-04-14 19:39:13 其他开发

Fortran子例程中的数组分配

我的问题是有关Fortran中的数组分配. 我有一个子程序,例如 readParams ,我想从文件中读取一些动态大小的数组.这些也可在子例程外部使用.处理此问题的最佳方法是什么? 在F95中,似乎不可能在子例程中进行分配,并将填充了值的数组传递回主程序.但是,如果我在主程序中分配它并在子例程中使用"intent(inout)",它也将被释放. (我在这里使用的是F90/95,但 ..
发布时间:2021-04-09 20:31:22 其他开发

如何在Fortran90中用数字,单词和空白遍历字符串?

文件说明:STL文件包含 solid小平面法线n1 n2 n3(三角形法线向量)外循环(我要阅读的标记之一)v1 x1 y1 z1v2 x2 y2 z2(三角形/小平面的三个顶点)v3 x3 y3 z3端环端面终固 想法是读取每一行中的信息.首先,我正在尝试!阅读第一行:固体 程序Leitura!use,固有的::修剪隐式无整数ilo,ierror,ihi,io ..
发布时间:2021-04-09 20:05:41 其他开发