24小时热门版块排行榜    

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

wanghao098

金虫 (正式写手)

[求助] 请教:挑错误

CODE:
open (16,file="x.txt")
        nstep= int ( wk /nsec)
        print *, "每一段元素的个数 nstep=" , nstep
        do i=1,nsec
                b(i)=0.d0
                do j=(i-1)*nstep+1,i*nstep
                        b(i)=b(i)+clshuzu(j) / nstep
                enddo
        enddo
        write(16,"(F15.9)")(b(i),i=1,nsec)




为什么我这一段程序输出来的结果都是0呢?
clshuzu(wk) 是wk个元素的实数数组 0.2857143   
  0.1111111   
  0.1111111   
  0.3333333   
  0.2857143   
  0.2222222   
  0.2000000   
  9.0909094E-02
  0.1250000   
  0.1111111   
  0.2222222   
  0.1818182   
  0.1111111   
  0.0000000E+00
  0.0000000E+00
  0.2000000   
  0.1818182   
  0.2222222   
  9.0909094E-02
  0.0000000E+00
  0.1666667   
  9.0909094E-02
  0.1111111   
  0.2222222

[ Last edited by jjdg on 2013-7-22 at 00:48 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

做一个坚强的弱女子
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wanghao098

金虫 (正式写手)

nsec 是一个整形的常数
integer,parameter:: nsec=10
wk 也是一个整形的数
做一个坚强的弱女子
3楼2013-07-22 08:47:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

感谢参与,应助指数 +1
你首先需要给出 wk 和 nsec,看看 nstep到底多大。如果 nsec=0,那你的 do j=(i-1)*nstep+1,i*nstep 也许根本就没有执行,那 b(i) 当然就是零了。让别人查错,需要给全信息。
2楼2013-07-22 08:16:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

引用回帖:
3楼: Originally posted by wanghao098 at 2013-07-22 08:47:09
nsec 是一个整形的常数
integer,parameter:: nsec=10
wk 也是一个整形的数

wk=?你还是没说啊
再者b 怎么定义的?
4楼2013-07-22 09:23:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhg19

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
首先,nsec是数组分的段数,应为wk的约数。其次b(i)=b(i)+clshuzu(j) / float(nstep),注意分母的数据类型。

[ 发自手机版 http://muchong.com/3g ]
5楼2013-07-22 11:37:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见