问题标签 [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.

0 投票
3 回答
57833 浏览

fortran - Fortran SAVE 语句

我已经阅读save了(英特尔的)语言参考文档中的声明,但我不能完全理解它的作用。有人可以用简单的语言向我解释当save语句包含在模块中时的含义吗?

0 投票
2 回答
12221 浏览

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 个非可选参数调用子例程,而不是可选参数。我无法理解为什么它会以这种方式运行,这导致了我正在处理的程序中的一个主要错误。我很欣赏任何见解。谢谢。

0 投票
2 回答
311 浏览

c - F90读取C数据文件

我不是编程专家,但有一些经验。我试图将数据文件从 C 读入 Fortran 程序已经超过一周了。C 程序将矩阵保存在 bin 格式的数据文件中,如下所示:

我在 F90 中的阅读部分是:

如果您能帮助我解决问题,我将不胜感激。

0 投票
5 回答
16652 浏览

fortran - fortran 77 到 fortran 90 的转换器软件

我有 fortran 77 的编码,但我想转换为 fortran 90..我在哪里可以下载转换器软件?

0 投票
4 回答
748 浏览

multidimensional-array - Fortran 调试打印语句影响程序流程

我有一个程序可以遍历一个数组,确定性地生成新的行向量,然后将其附加到数组中。

在每次迭代中,都会采用向量的范数,以确保它不是零向量。如果为零,则程序停止。

有一个错误,第三次迭代会导致向量变为零。

在寻找这个错误时,我用调试打印语句填充代码,print *,"here",this_var 等。这些打印语句之一(打印最新向量的规范)修复了程序。

我不喜欢打印声明。我也不喜欢这样,我不明白发生了什么。

有没有人知道为什么打印语句会影响它正在打印的东西?

可用代码(约 400 行,大量注释)

0 投票
1 回答
586 浏览

c - Fortran 如何返回数组?

Rule_TnFortran 库 CUBPACK 中的子程序需要一个Integrand描述集成向量函数的参数。它是

因为我想Rule_Tn从 C 代码中调用,所以我需要在 C 中定义一个与上面这个接口完全匹配的函数类型。因此,我试图弄清楚 Fortran 函数如何返回数组。起初我假设以下 C 签名

匹配上面的界面。但大错特错!我有一个段错误。而且我已经测试过 double 是对应REAL(KIND=STND)STND模块的类型Precision_Model

现在谁能告诉我正确的签名是什么?我正在使用 GNU Fortran 和 C 编译器。

0 投票
4 回答
3609 浏览

types - 使用 gfortran 强制显式变量声明

我正在使用 mex 从 matlab 链接一些 fortran 代码(f90),并且我偶尔会冻结 matlab。

过去,由于数据类型之间的不匹配(例如整数 * 4 与整数 * 8),我发生了冻结。

我链接的代码有许多隐式定义的变量,所以我想知道是否存在仅偶尔发生的隐藏数据类型冲突。

为了排除数据类型不匹配是导致冻结的原因,我希望编译器要求所有变量都被显式声明。

问题:

  1. 如何让 gfortran 要求在编译时显式声明所有变量?如果做不到这一点,有没有办法至少得到警告?

  2. gfortran 是否将“真实”数据类型解释为所有体系结构中的特定类型?如果是这样,它是哪一个(真实* 4,真实* 8,...)?

  3. 无论如何强制gfortran将“真实”数据类型解释为特定类型,例如“真实* 4”?

  4. 关于从 matlab 中的 mex 编译例程调用时导致 fortran 代码冻结的任何想法(数据类型不匹配除外)?

谢谢你的帮助。

在我弄清楚这一点之前,我将通过许多行代码尝试列出所有隐式定义的变量。不用说,我将非常感谢任何让我从如此无聊的任务中解脱出来的人......

最好的,

G。

0 投票
1 回答
88 浏览

fortran - 堆栈输出概念

我是新的 FORTRAN 用户。我想以堆栈方式编写输出而不删除前一个。假设我们有三个输出 A、B、C,分别对应“ELECTRON1”。当我们运行另一个“ELECTRON2”的代码时,所有以前的输出都会被覆盖。所以我想用一个空行以堆栈方式编写。

请建议我如何做到这一点......我非常感谢你......

问候

0 投票
2 回答
38899 浏览

debugging - 您为 GFORTRAN 调试器/编译器设置了哪些标志来捕获错误代码?

我想我不会在任何教科书中找到这一点,因为回答这个问题需要经验。我目前正处于测试/验证我的代码/寻找错误以使其进入生产状态的阶段,任何错误都会导致许多人遭受痛苦,例如黑暗的一面。

  • 当您为 Fortran 编译程序以进行调试时,您设置了哪些标志?

  • 你为生产系统设置了什么样的标志?

  • 在部署之前你会做什么?

生产版本ifort用作编译器,但我使用gfortran. 我做错了吗?

0 投票
1 回答
1128 浏览

variables - 在fortran 90中循环变量名

我有大量不同维度的数组。但是,我按顺序命名它们,例如 var1、var2 等等。为了阅读它们,我有兴趣以如下方式循环它们:

当然,由于数组的维度不同,我不能简单地添加一个维度并将它们折叠成一个维度。

我的印象是 Fortran 不允许将字符串转换为变量名或类似的东西,所以有人知道如何处理吗?

谢谢!