0
我得到这部分代码中的浮点溢出错误。你们能帮助我找出原因吗?浮点溢出
do j=1,ny-1
do i=1,nx-1
sum = 0.0d0
do k=0,1000
n=2.0d0*dfloat(k)+ 1.0d0
sum = sum + ((dsinh(n*pi*x(i))*dcos(n*pi*y(j)))/((n*n*pi*pi)*dsinh(2*n*pi)))
end do
ue(i,j)= (x(i)/(4.0d0))- 4.0d0*sum
end do
end do
一些IMPLICIT NONE和一个实际的程序可能会有所帮助。我向dstart和sum = sum +右边的东西的中间产物跑去。然后,如果/当k变大时,您可能希望将sum作为产品的双倍(* 8)是浮点数(* 4)。由于SUM是一个内部函数,我会将'sum'重命名为MySum,或者使用一个数组维(0:1000)并使用SUM(MySum)。为什么你要在0开始数组? 1001分似乎很奇怪。 (n * pi * pi)和(2 * n * pi)和(n * pi)可以预先计算A,B和C或参数,然后它更快,看起来更干净。 – Holmz
欢迎来到Stack Overflow。你应该展示一个完整的程序,并描述你如何编译它并显示你得到的实际输出。不要忘记输入数据。请务必阅读帮助页面http://stackoverflow.com/tour http://stackoverflow.com/help/how-to-ask –
也请花些功夫来正确设置您的文章和代码的格式。我将一些基本缩进应用于您的代码。 –