24小时热门版块排行榜    

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

田山东

捐助贵宾 (著名写手)

[求助] fortran数组输出,行与列请教

do j1=1,n
         do j2=1,n
         write(2,*)j1,j2,real(H0(j1,j2)         
         enddo
         enddo
数组H0(N,N),这样输出的话,j1是行指标,j2是列指标吗?我想按照行输出,先输出第1行第j2列,然后依次输出。
回复此楼

» 猜你喜欢

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

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

jingjingdou

银虫 (小有名气)

引用回帖:
6楼: Originally posted by 田山东 at 2012-12-27 21:09:39
我有个程序,里面要用到调用矩阵求逆的子函数,

call ZGETRF( N, N, TA, N, IPIV, INFO )
call ZGETRI( N, TA, N, IPIV, WORK, N, INFO )
linux下,装的interfortran,

/opt/intel/mkl/lib/intel64
...

实话说,我不大懂你所阐述的内容,我只是在windows下用的fortran语言,刚在百度里看了下,好复杂,看不懂。只copy了一个相关的内容:
http://zhidao.baidu.com/question/189009859.html
不晓得有没有用,
顺一点,一点就好!
7楼2012-12-28 09:05:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

jingjingdou

银虫 (小有名气)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
田山东: 金币+2, ★★★很有帮助 2012-12-27 15:10:02
xzhdty: 金币+1, 谢谢参与 2012-12-27 21:17:16
这是do的嵌套循环,首先执行的是小循环,即:
      do j2=1,n
          write(2,*)j1,j2,real(H0(j1,j2)         
          enddo
此次循环执行完毕在执行外部循环,即:
do j1=1,n
         …………………………
enddo
数组H0(N,N)的输出即先输出第一行的所有元素(H0(1,j2)j2=1,…n),之后第二行(H0(2,j2),j2=1,…n),直至第n行所有元素。
楼主的程序是按照您所说的顺序输出的。
只是这个“real(H0(j1,j2) ”是不是少了个括号,还是另有其他含义?
顺一点,一点就好!
2楼2012-12-27 14:21:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)

引用回帖:
2楼: Originally posted by jingjingdou at 2012-12-27 14:21:34
这是do的嵌套循环,首先执行的是小循环,即:
      do j2=1,n
          write(2,*)j1,j2,real(H0(j1,j2)         
          enddo
此次循环执行完毕在执行外部循环,即:
do j1=1,n
         ……………… ...

我复制的时候漏掉一个),谢谢。我感觉好像不对啊。同一个矩阵,我用matlab输出和用上面的方法输出得到的结果恰好厄米。也就是说,
H(1,2)是第一列第二行了。
很奇怪,很纠结!!
everythinghasitsseason.enjoyyourlife.
3楼2012-12-27 15:11:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)

多谢,刚刚仔细检查了一下,我错了。你说的是对的。
everythinghasitsseason.enjoyyourlife.
4楼2012-12-27 15:14:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见