静待花开 发表于 2022-11-2 17:17:35

有没有类似matlab里的find()函数的fortran函数?

在matlab里,常用find(A)就可以找到矩阵A中满足一定条件的元素的位置索引,即行号和列号。找了fortran的库函数,也了解了where和forall的用法,感觉没有找到这样的简便、经典算法,在FORTRAN里实现这样的功能。
当然,用Do循环我可以实现,就是想了解下,有没有同学看到过,用forall 和 where 实现这种功能的FORTRAN代码。虽然有人说forall的计算速度还没有do快。自己就想了解下,见识见识。请高手指点。感觉这种功能很实用的。

青衣巷 发表于 2022-11-2 17:37:18

RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])

https://gcc.gnu.org/onlinedocs/gfortran/FINDLOC.html

静待花开 发表于 2022-11-2 19:39:54

青衣巷 发表于 2022-11-2 17:37
RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])

https://gcc.gnu.org/onlinedocs/gfortra ...

非常感谢。一直看的是彭国伦的Fortra95,真不知道2008已经有这个库函数了,谢谢指点!
页: [1]
查看完整版本: 有没有类似matlab里的find()函数的fortran函数?