24小时热门版块排行榜    

查看: 3790  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

宇天旅梦

铜虫 (小有名气)

[求助] exp中有循环变量,结果出现infinity,怎么处理

输出结果为
<-infinity,infinity>
<-infinity,infinity>
<-infinity,infinity>
……          ……
问题1:这怎么处理?
问题2:结果为什么会有两列,而不是一列?

(初学FORTRAN,还请高手指教)

代码如下:

      program abc
      real bx(100),by(100)

      integer k,n
      complex i,q
        open(10,file='haha111.dat',status='unknown')
        i=(0,1)
                                 
         do 3 n=0,99
            bx(n+1)=bx(n)+1
            by(n+1)=by(n)+2
3        continue
      
      do 2 k=1,99
        p=sqrt((sqrt(bx(k)**2+by(k)**2)-50/6.582122e-16)**2-by(k)**2)
   
      q=exp(i*2+p)

        write(*,*)q       
2     continue
      close(10,status='keep')
        end
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

宇天旅梦

铜虫 (小有名气)

引用回帖:
5楼: Originally posted by jerkwin at 2013-09-03 08:46:25
50/6.582122e-16
这个数值太大, 溢出了
我怀疑你的公式不对, 单位搞混了...

公式是没问题的,实际公式里q不止等于这些,还有其它的,我分段检查了,就是这一项上出现问题了
7楼2013-09-03 08:49:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
do 3 n=0,99
            bx(n+1)=bx(n)+1
            by(n+1)=by(n)+2
3        continue
循环有问题, bx(0)没有定义
两列那是复数的实部和虚部
2楼2013-09-03 07:03:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

宇天旅梦

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by jerkwin at 2013-09-03 07:03:11
do 3 n=0,99
            bx(n+1)=bx(n)+1
            by(n+1)=by(n)+2
3        continue
循环有问题, bx(0)没有定义
两列那是复数的实部和虚部

改了一下,定义bx(0)=1
                     by(0)=10
可还是出现相同的情况
3楼2013-09-03 08:29:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bennett_14

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
q也没有定义啊,q是啥???

[ 发自小木虫客户端 ]
君子当自强不息,死而后已!
4楼2013-09-03 08:31:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见