回 帖 发 新 帖 刷新版面

主题:请问fortran中数学函数amin1(),数据能是一个数组吗?

   我写了一句 a=amin1(b(1:10))

程序就报错说:too few arguments in reference to intrinsic procedure Amin1.

这是为啥呀???

求高手指教!!!!!!!!

回复列表 (共1个回复)

沙发

看这个 http://www.personal.psu.edu/jhm/f90/lectures/19.html
报错原因是参数少,amin1不支持数组,必须是amin1(1.0,2.0,3.0....),也就是参数是一个一个的数。但是类又是elemental的,如果是写subroutine/function的时候,可以处理数组。
要进行数组运算,使用minval函数,比较绝对值的话就是minval(abs(b))比较

例子:
Program test
implicit none
integer i
real :: b(10) = (/(i,i=1,10)/)
write(*,*) minval(abs(b))
stop
end program test

我来回复

您尚未登录,请登录后再回复。点此登录或注册