【发布时间】:2014-03-13 17:38:14
【问题描述】:
我想根据公式计算Fortran中2个数组之间的曼哈顿距离:
d = Sum(|P(i)-R(i)|)
所以我在 Fortran 中做了一个代码:
function DistM(v, u, dim)
integer dim
real(8) v(dim), u(dim), DistM
DistM=sum(abs(v-u))
end function DistM
我用这个来调用这个函数:
Coeff=DistM(tempvector1,tempvector2, dim)
但这似乎不起作用(我没有得到任何回报)。我还尝试取 2 的幂,然后对其进行 sqrt,但它会卡在 sqrt 上(如果我分步运行它)。 我尝试了另一个功能并且那个有效(见下文),但是这个不起作用:(:
function Roznica(v, u, dim)
integer dim
real(8) v(dim), u(dim), Rozn
Rozn=sum((v-u)**2)/dim
end function Roznica
谁有想法?
【问题讨论】:
-
告诉我们你是如何调用这个函数的。发布 SSCCE -- meta.stackexchange.com/questions/22754/…
-
更新了高性能标志!
-
发布 SSCCE。并解释你写I don't get any return时的意思。并将所有代码格式化为代码。
-
这个 Coeff 应该只是给我一个数字......这不是那么花哨的代码......当我调用 Roznica 函数时,那个工作,但不是 DistM 函数。我想我知道我的代码中存在什么问题。我会检查一些东西并回到它。打扰了
-
real (8)与real*8不同,不可移植。
标签: fortran fortran90 fortran77 fortran95