37得票1回答
如何检查Fortran数组是否包含值?

我看到过其他语言的类似问题,但是最近发现Fortran可以很好地处理数组,所以我想可能有一种不用循环就能轻松做到的方法。 目前,我正在搜索一个三维数组,查看“最近邻居”,看看它们是否包含字母“n”,每当它找到该值时,我希望它执行一些集群标签分配(这与本题无关) 我想使用if(lastNei...

37得票3回答
"real*8"是什么意思?

该程序的Fortran 90手册表示:“所有实数变量和参数都以64位精度指定(即real*8)。” 根据Wikipedia,单精度对应32位精度,而双精度对应64位精度,因此该程序显然使用双精度。 但是,real*8是什么意思? 我认为8表示小数点后面有8个数字。然而,Wikipedia...

36得票5回答
为什么要先编译成目标文件?

去年我开始在一所研究型大学学习Fortran编程。我的大部分经验都是在像PHP或旧版ASP这样的Web语言中,因此我对编译语句是个新手。 我正在修改两个不同的代码。 一个使用显式语句从模块创建.o文件(例如gfortran -c filea.f90)然后创建可执行文件。 另一个直接创建可...

36得票10回答
现代Fortran相对于现代C++有哪些优势?

我正在考虑在科学计算应用中选择Fortran或C++。目前不清楚Fortran在性能方面是否仍然优于其他语言。例如,我认为由于Fortran强制执行严格的别名规则,在与C相比(在C99之前),编译器可以做出更好的优化。我不确定C ++ 在这里的作用。 有何指导意见吗?

35得票2回答
如何在Fortran中为函数起别名

不确定标题是否恰当,欢迎提出建议。 我想要做的是:检查一个条件,然后在循环中决定使用哪个函数。例如:if (a < 0) then loop_func = func1 else loop_func = func2 endif 我可以使用loop_func作为指针来编写我...

35得票2回答
假设大小数组:冒号 vs. 星号 - DIMENSION(:) arr vs. arr(*)。

这两种声明可变大小数组的方法有什么区别吗? 例如:real, dimension(:) :: arr 和real :: arr(*)

35得票10回答
SciPy的构建/安装Mac Osx

我成功地在我的Mac OS X上为Python 2.7.3构建/安装了NumPy。 现在我也想构建/安装scipy。我从GitHub上下载了它。 进入目录后,运行python setup.py build,它似乎一直在工作,直到遇到了这个错误: customize Gnu95FCompile...

34得票2回答
错误:在标签(1)处的语句中存在非数字字符。

这是我在Ubuntu 14.04上编译的程序f95 First.f -o First 并且这个程序是!My first program program first print *,'This is my first program' end program first 我遇到了以下错误:Err...

34得票4回答
Fortran 90中的标准输入输出单元是什么?

如何在Fortran中读写标准输入、输出和错误流stdin、stdout和stderr?例如,我听说向stderr写入可以使用write(5, fmt=...),其中5是stderr的单元,我知道向stdout写入的方法是使用write(*, fmt=...)。 如何使用ifort编译器读写...

33得票4回答
OpenMP能在GPU上使用吗?

我在网上搜索了很多,但是对这个话题仍然感到非常困惑。有人能更清楚地解释一下吗?我来自航空航天工程背景(不是计算机科学),所以当我在网上阅读关于OpenMP/CUDA等多线程的内容时,我并不真正理解其中的大部分。 我目前正在尝试将用FORTRAN编写的内部CFD软件并行化。以下是我的疑问: ...