fortran中运行结果为NaN是什么意思

imensionx(4),y(4)doubleprecisionx,y,t,zdatax/0.0,2.5,0.0,2.5/datay/90.0,90.0,88.0,88.... imension x(4),y(4)
double precision x,y,t,z
data x/0.0,2.5,0.0,2.5/
data y/90.0,90.0,88.0,88.0/
write(*,*)"please enter t"
read(*,*) t
call enlgr(x,y,4,t,z)
write(*,20) t,z
20 format(1x,'t=',f6.3,10x,'z=',d15.6)
end

subroutine enlgr(x,y,n,t,z)
dimension x(n),y(n)
double precision x,y,t,z,s
z=0.0
if (n.LE.0) return
if (n.EQ.1) then
z=y(1)
return
end if
if (N.EQ.2) then
z=(y(1)*(t-x(2))-y(2)*(t-x(1)))/(x(1)-x(2))
return
end if
i=1
10 if (x(i).LT.t) then
i=i+1
if (i.LE.n) goto 10
end if
k=i-4
if(k.LT.1) k=1
m=i+3
if(m.GT.n) m=n

do 30 i=k,m
s=1.0
do 20 j=k,m
if (j.NE.i) then
s=s*(t-x(j))/(x(i)-x(j))
end if
20 continue
z=z+s*y(i)
30 continue
return
end
展开
 我来答
天河流纹石
2014-03-26 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7624
采纳率:76%
帮助的人:4068万
展开全部
就是产生了数学错误,导致计算出的数非数。(NaN = Not a Number)

目测错误发生在

s=s*(t-x(j))/(x(i)-x(j))
当 i=1,j=3 时,x1 - x3 = 0-0 = 0
除法分母为0
abc456xyz
2014-04-09
知道答主
回答量:45
采纳率:0%
帮助的人:7.8万
展开全部
数字错误,非数字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式