24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1234  |  回复: 12

涂涂木

金虫 (正式写手)

[求助] 大侠,帮我解释下迭代准则的程序描写,

P0(I) = P0(I) + DELTA(I)   迭代表达式!

  EPS = SUM(DABS(DELTA(:NCOMP)/P0(:NCOMP) ))   迭代准则!
            DEPS= DABS((EPSPREV-EPS))
            ITER = ITER + 1

            EPSPREV = EPS

          ENDDO  LOOP1A

          IF ( ITER >= MAXITER ) THEN
            WRITE(*,*) 'MAXIMUM ITERATIONS FOR Qi->Pi REACHED'
          ENDIF

我想问一下,在这个迭代准则里,EPSPREV= EPS  后,原来的EPS等于多少啊,或者能不能告诉我,这个循环进行下去,EPSPREV 和EPS 在每个循环中怎么变换的啊!
回复此楼

» 猜你喜欢

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

向前看
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

涂涂木

金虫 (正式写手)

引用回帖:
: Originally posted by snoopyzhao at 2011-12-15 09:12:37:
说实话,没有看懂你的问题,呵呵……

在你的这个例子中,EPS 首先会从迭代准则那里计算得到,然后,往下运行,将 EPS 赋值给 EPSPREV 之后进行下一个循环,重新计算 EPS……

只是在一开始,你需要给 EPSPRE ...

EPSPREV 是给了一个值,我想问一下,第一个循环之后,EPS的值给了EPSPREV后,那么  DEPS= DABS((EPSPREV-EPS))中这个EPS等于多少啊
向前看
3楼2011-12-15 09:16:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
余泽成(金币+2): 谢谢参与应助! 2011-12-31 11:00:49
说实话,没有看懂你的问题,呵呵……

在你的这个例子中,EPS 首先会从迭代准则那里计算得到,然后,往下运行,将 EPS 赋值给 EPSPREV 之后进行下一个循环,重新计算 EPS……

只是在一开始,你需要给 EPSPREV 一个值,比如非常大的一个数……这样,DEPS 那一步才有可能通过。当然,从这个片断上来看, DEPS 有意义吗?呵呵……
2楼2011-12-15 09:12:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-12-31 11:01:22
引用回帖:
3楼: Originally posted by 涂涂木 at 2011-12-15 09:16:25:
EPSPREV 是给了一个值,我想问一下,第一个循环之后,EPS的值给了EPSPREV后,那么  DEPS= DABS((EPSPREV-EPS))中这个EPS等于多少啊

DEPS= DABS((EPSPREV-EPS)) 不是在 EPSPREV=EPS 之前吗?

再说,EPSPREV=EPS 之后,EPS 的值直到下次被再次赋值之前还是原来的数值啊。
4楼2011-12-15 09:34:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涂涂木

金虫 (正式写手)

引用回帖:
: Originally posted by snoopyzhao at 2011-12-15 09:34:05:
DEPS= DABS((EPSPREV-EPS)) 不是在 EPSPREV=EPS 之前吗?

再说,EPSPREV=EPS 之后,EPS 的值直到下次被再次赋值之前还是原来的数值啊。

循环前 EPS = SUM(DABS(DELTA(:NCOMP)/P0(:NCOMP) ))   第一次循环时   DEPS= DABS((EPSPREV-EPS))  后把EPS的值赋值给EPSPREV,那第二次循环时DEPS= DABS((EPSPREV-EPS)),EPSPREV可得到,EPS呢?如你所说的话等于之前的,那不是EPSPREV-EPS=0了啊
向前看
5楼2011-12-15 09:44:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


余泽成(金币+1): 辛苦了! 2011-12-31 11:01:36
引用回帖:
5楼: Originally posted by 涂涂木 at 2011-12-15 09:44:29:
循环前 EPS = SUM(DABS(DELTA(:NCOMP)/P0(:NCOMP) ))   第一次循环时   DEPS= DABS((EPSPREV-EPS))  后把EPS的值赋值给EPSPREV,那第二次循环时DEPS= DABS((EPSPREV-EPS)),EPSPREV可得到,EPS呢?如你所说的话等 ...

第二次计算 DEPS 之前,不是重新计算了 EPS 了吗?
6楼2011-12-15 10:00:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涂涂木

金虫 (正式写手)

引用回帖:
: Originally posted by snoopyzhao at 2011-12-15 10:00:14:
第二次计算 DEPS 之前,不是重新计算了 EPS 了吗?

DEPS表示双精度的EPS啊,其实就是说EPS=DEPS的啊,那怎么重新计算了EPS啊,兄弟能不能详细讲讲啊,痛苦中啊
向前看
7楼2011-12-15 10:07:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涂涂木

金虫 (正式写手)

引用回帖:
: Originally posted by snoopyzhao at 2011-12-15 10:00:14:
第二次计算 DEPS 之前,不是重新计算了 EPS 了吗?

怎么重新计算EPS啊
向前看
8楼2011-12-15 10:09:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


涂涂木(金币+3): 2011-12-15 16:12:33
余泽成(金币+1): 辛苦了! 2011-12-31 11:01:49
引用回帖:
7楼: Originally posted by 涂涂木 at 2011-12-15 10:07:19:
DEPS表示双精度的EPS啊,其实就是说EPS=DEPS的啊,那怎么重新计算了EPS啊,兄弟能不能详细讲讲啊,痛苦中啊

你的程序中 EPS = SUM(DABS(DELTA(:NCOMP)/P0(:NCOMP) ))  不就是在计算 EPS 吗?

DEPS 为啥是双精度 EPS 啊,它明显是 EPSPREV 与 EPS 之差的绝对值啊……
9楼2011-12-15 10:58:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yqsamallworm

铜虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
余泽成(金币+1): 谢谢参与应助! 2011-12-31 11:02:01
自己最好设置断点,进行调试,这样来得更深刻
10楼2011-12-15 11:02:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 涂涂木 的主题更新
信息提示
请填处理意见