我有250 * 2001矩阵。我想找到a(:,i)
的最大值的位置,i
取5个不同的值:i = i + 256
a(:,256)
a(:,512)
a(:,768)
a(:,1024)
a(:,1280)
我尝试使用MAXLOC,但由于我是fortran的新手,我无法正确使用它。
答案 0 :(得分:2)
试试这个
maxloc(a(:,256:1280:256))
但请注意,此调用将返回第二维范围1..5
的值。该调用将返回您传递给它的maxloc
数组部分中2001*5
的索引。因此,要获取原始数组中位置的列索引,您必须进行一些乘法运算。请注意,由于调用maxloc
中的参数是一个rank-2数组部分,因此调用将返回一个2元素向量。
答案 1 :(得分:1)
你的问题有点不清楚:它可能是你想要的两件事之一。
您的评论建议您想要后者,并且前者已经有answer。
所以,如果是后者:
b(1:5) = MAXLOC(a(:,256:1280:256), DIM=1)