24小时热门版块排行榜    

查看: 548  |  回复: 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的回帖

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的回帖

wanghao098

金虫 (正式写手)

nsec 是一个整形的常数
integer,parameter:: nsec=10
wk 也是一个整形的数
做一个坚强的弱女子
3楼2013-07-22 08:47:09
已阅   回复此楼   关注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的回帖

wanghao098

金虫 (正式写手)

引用回帖:
5楼: Originally posted by zhg19 at 2013-07-22 11:37:14
首先,nsec是数组分的段数,应为wk的约数。其次b(i)=b(i)+clshuzu(j) / float(nstep),注意分母的数据类型。

谢谢你啊!哈哈
做一个坚强的弱女子
6楼2013-07-22 11:56:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wanghao098

金虫 (正式写手)

引用回帖:
2楼: Originally posted by pippi6 at 2013-07-22 08:16:07
你首先需要给出 wk 和 nsec,看看 nstep到底多大。如果 nsec=0,那你的 do j=(i-1)*nstep+1,i*nstep 也许根本就没有执行,那 b(i) 当然就是零了。让别人查错,需要给全信息。

已解决,是我前面的代码就有问题!谢谢
做一个坚强的弱女子
7楼2013-07-22 11:58:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wanghao098 的主题更新
信息提示
请填处理意见