问题标签 [fortran90]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fortran - Fortran SAVE 语句
我已经阅读save
了(英特尔的)语言参考文档中的声明,但我不能完全理解它的作用。有人可以用简单的语言向我解释当save
语句包含在模块中时的含义吗?
fortran - Fortran 90 存在可选参数
我不理解 pgf90 7.2 中 present() 内在函数的行为。我写了一个 20 行的示例程序来测试它,但结果对我来说仍然没有意义。观察:
如果我:从我的主程序调用 testopt(1,2,(any variable)),它会打印:“present check: T F”。但是,如果我:从子程序调用 testopt(1,2,(any variable)),它会打印:“当前检查:T T”。我希望在任何一种情况下都能看到“当前检查:F F”,因为我只使用 3 个非可选参数调用子例程,而不是可选参数。我无法理解为什么它会以这种方式运行,这导致了我正在处理的程序中的一个主要错误。我很欣赏任何见解。谢谢。
c - F90读取C数据文件
我不是编程专家,但有一些经验。我试图将数据文件从 C 读入 Fortran 程序已经超过一周了。C 程序将矩阵保存在 bin 格式的数据文件中,如下所示:
我在 F90 中的阅读部分是:
如果您能帮助我解决问题,我将不胜感激。
fortran - fortran 77 到 fortran 90 的转换器软件
我有 fortran 77 的编码,但我想转换为 fortran 90..我在哪里可以下载转换器软件?
multidimensional-array - Fortran 调试打印语句影响程序流程
我有一个程序可以遍历一个数组,确定性地生成新的行向量,然后将其附加到数组中。
在每次迭代中,都会采用向量的范数,以确保它不是零向量。如果为零,则程序停止。
有一个错误,第三次迭代会导致向量变为零。
在寻找这个错误时,我用调试打印语句填充代码,print *,"here",this_var 等。这些打印语句之一(打印最新向量的规范)修复了程序。
我不喜欢打印声明。我也不喜欢这样,我不明白发生了什么。
有没有人知道为什么打印语句会影响它正在打印的东西?
可用代码(约 400 行,大量注释)
c - Fortran 如何返回数组?
Rule_Tn
Fortran 库 CUBPACK 中的子程序需要一个Integrand
描述集成向量函数的参数。它是
因为我想Rule_Tn
从 C 代码中调用,所以我需要在 C 中定义一个与上面这个接口完全匹配的函数类型。因此,我试图弄清楚 Fortran 函数如何返回数组。起初我假设以下 C 签名
匹配上面的界面。但大错特错!我有一个段错误。而且我已经测试过 double 是对应REAL(KIND=STND)
于STND
模块的类型Precision_Model
。
现在谁能告诉我正确的签名是什么?我正在使用 GNU Fortran 和 C 编译器。
types - 使用 gfortran 强制显式变量声明
我正在使用 mex 从 matlab 链接一些 fortran 代码(f90),并且我偶尔会冻结 matlab。
过去,由于数据类型之间的不匹配(例如整数 * 4 与整数 * 8),我发生了冻结。
我链接的代码有许多隐式定义的变量,所以我想知道是否存在仅偶尔发生的隐藏数据类型冲突。
为了排除数据类型不匹配是导致冻结的原因,我希望编译器要求所有变量都被显式声明。
问题:
如何让 gfortran 要求在编译时显式声明所有变量?如果做不到这一点,有没有办法至少得到警告?
gfortran 是否将“真实”数据类型解释为所有体系结构中的特定类型?如果是这样,它是哪一个(真实* 4,真实* 8,...)?
无论如何强制gfortran将“真实”数据类型解释为特定类型,例如“真实* 4”?
关于从 matlab 中的 mex 编译例程调用时导致 fortran 代码冻结的任何想法(数据类型不匹配除外)?
谢谢你的帮助。
在我弄清楚这一点之前,我将通过许多行代码尝试列出所有隐式定义的变量。不用说,我将非常感谢任何让我从如此无聊的任务中解脱出来的人......
最好的,
G。
fortran - 堆栈输出概念
我是新的 FORTRAN 用户。我想以堆栈方式编写输出而不删除前一个。假设我们有三个输出 A、B、C,分别对应“ELECTRON1”。当我们运行另一个“ELECTRON2”的代码时,所有以前的输出都会被覆盖。所以我想用一个空行以堆栈方式编写。
请建议我如何做到这一点......我非常感谢你......
问候
debugging - 您为 GFORTRAN 调试器/编译器设置了哪些标志来捕获错误代码?
我想我不会在任何教科书中找到这一点,因为回答这个问题需要经验。我目前正处于测试/验证我的代码/寻找错误以使其进入生产状态的阶段,任何错误都会导致许多人遭受痛苦,例如黑暗的一面。
当您为 Fortran 编译程序以进行调试时,您设置了哪些标志?
你为生产系统设置了什么样的标志?
在部署之前你会做什么?
生产版本ifort
用作编译器,但我使用gfortran
. 我做错了吗?
variables - 在fortran 90中循环变量名
我有大量不同维度的数组。但是,我按顺序命名它们,例如 var1、var2 等等。为了阅读它们,我有兴趣以如下方式循环它们:
当然,由于数组的维度不同,我不能简单地添加一个维度并将它们折叠成一个维度。
我的印象是 Fortran 不允许将字符串转换为变量名或类似的东西,所以有人知道如何处理吗?
谢谢!