24小时热门版块排行榜    

Znn3bq.jpeg
查看: 607  |  回复: 6

zouji1983

金虫 (正式写手)

[求助] 求助!!!

求助:我的fortran程序在run 800次之后,出现错误,一个变量的值出现负值。怎么阻止他出现负值呢或者说怎么设定一下当出现负值是忽略它呢?谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 专家考核, 谢谢骠骑将军 2012-09-25 23:58:21
使用前判断一下正负号就行了
CODE:
IF (x<0) THEN
    x = -x;
END

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2012-09-25 18:05:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zouji1983

金虫 (正式写手)

引用回帖:
2楼: Originally posted by libralibra at 2012-09-25 18:05:01
使用前判断一下正负号就行了
IF (x<0) THEN
    x = -x;
END

谢谢!
3楼2012-09-27 22:23:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zouji1983

金虫 (正式写手)

引用回帖:
2楼: Originally posted by libralibra at 2012-09-25 18:05:01
使用前判断一下正负号就行了
IF (x<0) THEN
    x = -x;
END

你好,我还想问一下,如果一个变量的取值范围是0~1,算出来的值大于1,这时应该怎么处理呢?
4楼2012-09-28 16:17:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

引用回帖:
4楼: Originally posted by zouji1983 at 2012-09-28 16:17:31
你好,我还想问一下,如果一个变量的取值范围是0~1,算出来的值大于1,这时应该怎么处理呢?...

具体怎么处理,要看你的计算方法是如何定义异常值的,如果你的计算方法没有定义这个行为,说明算法有漏洞,需要完善,例如你可以让大于1的强制等于1
IF (x>1) THEN
   x = 1;
END
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼2012-09-28 17:29:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zouji1983

金虫 (正式写手)

引用回帖:
5楼: Originally posted by libralibra at 2012-09-28 17:29:59
具体怎么处理,要看你的计算方法是如何定义异常值的,如果你的计算方法没有定义这个行为,说明算法有漏洞,需要完善,例如你可以让大于1的强制等于1
IF (x>1) THEN
   x = 1;
END...

非常感谢您的回复!
6楼2012-10-02 18:35:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zouji1983

金虫 (正式写手)

我的程序是这样的:
subroutine convert_composition(ix,iy)
                integer :: ix, iy, i
                real(8) :: r
                real(8), dimension(1:np*(nc-1)) :: sol, RT
                real(8), dimension(1:np*(nc-1),1:np*(nc-1)) :: coeff
                integer, dimension(1:np*(nc-1)) :: IPIV
               
                coeff = 0.d0
       
                coeff(1,1) = dmudx(1,1,1,ix,iy)
                coeff(1,2) = -dmudx(1,1,2,ix,iy)
                coeff(1,3) = dmudx(1,2,1,ix,iy)
                coeff(2,1) = dmudx(1,2,1,ix,iy)
                coeff(2,3) = dmudx(2,2,1,ix,iy)
                coeff(2,4) = -dmudx(2,2,2,ix,iy)
                coeff(3,1) = phi(1,ix,iy)
                coeff(3,2) = phi(2,ix,iy)
                coeff(4,3) = phi(1,ix,iy)
                coeff(4,4) = phi(2,ix,iy)

                RT(1) = dmudx(1,1,1,ix,iy)*xp(1,1,ix,iy) + dmudx(1,2,1,ix,iy)*xp(2,1,ix,iy) - mu(1,1,ix,iy) - dmudx(1,1,2,ix,iy)*xp(1,2,ix,iy) - dmudx(1,2,2,ix,iy)*xp(2,2,ix,iy) + mu(1,2,ix,iy)
                RT(2) = dmudx(2,2,1,ix,iy)*xp(2,1,ix,iy) + dmudx(1,2,1,ix,iy)*xp(1,1,ix,iy) - mu(2,1,ix,iy) - dmudx(2,2,2,ix,iy)*xp(2,2,ix,iy) - dmudx(1,2,2,ix,iy)*xp(1,2,ix,iy) + mu(2,2,ix,iy)
                RT(3) = x(1,ix,iy,old)
                RT(4) = x(2,ix,iy,old)

                sol = RT(

                call ludcmp(coeff,np*(nc-1),np*(nc-1),IPIV,r)
                call lubksb(coeff,np*(nc-1),np*(nc-1),IPIV,sol)

                xp(1,1:2,ix,iy) = sol(1:2)
                xp(2,1:2,ix,iy) = sol(3:4)

        end subroutine convert_composition
其中:dmudx是系数,从别的数据中得到的;mu和x也是已知的。我用这个程序解出来的Xp有小于0或者大于1的情况,理论上应该在0~1之间。如果不考虑系数问题,我应该怎么改善算法呢?我是菜鸟一枚,用的别人的程序。谢谢您的帮忙。
7楼2012-10-02 20:57:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zouji1983 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 hvkbtfonbv 2026-05-23 4/200 2026-05-24 17:21 by 75ui6h7z2t
[教师之家] 论文撤稿了 +4 bjvtcliu 2026-05-24 6/300 2026-05-24 17:11 by jurkat.1640
[博后之家] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 hvkbtfonbv 2026-05-23 3/150 2026-05-24 17:10 by 75ui6h7z2t
[考博] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 hvkbtfonbv 2026-05-23 3/150 2026-05-24 17:01 by 75ui6h7z2t
[考研] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 a2tycdlnq1 2026-05-23 5/250 2026-05-24 16:21 by hhx1yx9evi
[论文投稿] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 a2tycdlnq1 2026-05-23 4/200 2026-05-24 16:16 by hhx1yx9evi
[基金申请] 西安交大新媒学院副院长用撤稿论文结题 +3 bjvtcliu 2026-05-24 5/250 2026-05-24 10:16 by kudofaye
[教师之家] 某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路! +4 zju2000 2026-05-21 5/250 2026-05-24 09:35 by songwz
[考博] 26/27申博自荐 10+4 ZXW0202 2026-05-22 9/450 2026-05-24 08:47 by bjvtcliu
[考博] 博士申请 +3 焦晓明 2026-05-21 3/150 2026-05-23 11:26 by mlc840311
[论文投稿] 投稿求助,期刊 +4 希冀,有书读 2026-05-20 8/400 2026-05-22 10:16 by 希冀,有书读
[文学芳草园] 献血感触 +7 呀呀好傻 2026-05-19 13/650 2026-05-21 20:15 by 呀呀好傻
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +14 1234567wang 2026-05-17 16/800 2026-05-21 17:58 by 脆脆的饼干
[基金申请] 国自然评分 +4 无名者登山 2026-05-20 5/250 2026-05-21 16:35 by swuq
[基金申请] 国自然上会要求 +7 无名者登山 2026-05-18 11/550 2026-05-21 15:50 by draco1987
[基金申请] 提交了我也来说说感想 +9 fummck 2026-05-20 10/500 2026-05-21 14:17 by draco1987
[基金申请] 评审有感 +15 popular289 2026-05-18 26/1300 2026-05-21 10:35 by 西葫芦炒鸡蛋
[有机交流] 反应很差,大量原料没有反应 5+3 Mr.Zot 2026-05-19 8/400 2026-05-20 22:19 by Equinoxhua
[考博] 如果工作了想读博,可以边工作边读全日制嘛? 30+3 铁达火车 2026-05-18 5/250 2026-05-20 09:33 by tfang
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
信息提示
请填处理意见