24小时热门版块排行榜    

查看: 1301  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 391566986 的主题更新
信息提示
请填处理意见