24小时热门版块排行榜    

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

391566986

新虫 (初入文坛)

[求助] FORTRAN 赋值错乱问题,求大神解答~~~~急。。555

我在一个子程序POWELL里对S(I,K)数值,像下面这样。
subroutine powell(nn_h,x,x0,x3,xx,s,ss,e1,ep,wh,th1,th2,hrh,obj_f,
     xq0,r,f0)
        implicit real*8(a-h,o-z)
        dimension s(nn_h,nn_h+1),ss(nn_h)
        dimension x(nn_h),x0(nn_h),x3(nn_h)
        dimension th1(nn_h)
        ITE=0
        DO 10 I1=1,nn_h
        DO 20 K=1,nn_h+1
20        S(I1,K)=0.
10        S(I1,I1)=1.
在调用这个子程序前,我的X数组已经给它赋了确定的值,调用到POWELL里面来的时候,X值还是对的,但是在我对S数组赋值的时候,程序却自动的把S数组的值赋给X数组了。
像下面这样。我对S(I1,K)中的I1从1到5赋值里,X(I)里1到5的值也相应的改变了,这个问题是什么原因造成的呢?

我不知道到底是哪里出了问题,希望大神可以伸出援助之手。谢谢您~ 在线等~~~
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingxb

金虫 (正式写手)

迷途书虫

【答案】应助回帖

感谢参与,应助指数 +1
建议把这段sub单独拉出来,给定相应的输入变量,看看是否还会有相同的问题?

如果没有,则说明是调用之前的变量可能存在问题!

另外,程序好像依然是fortran77的风格,建议改用90自由格式以及90语句。
http://sites.google.com/site/nwnuatom/个人网站,欢迎猛击乱点!
5楼2012-09-29 12:16:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

391566986

新虫 (初入文坛)

555,好像有点关系,不过好像还是不一样哦。。
2楼2012-09-26 21:32:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chembetsey

木虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2012-09-27 00:24:57
如果参数传递没有出错,那很可能是数组定义不对,或者用了common、EQUIVALENCE语句。
4楼2012-09-26 22:50:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见