24小时热门版块排行榜    

查看: 4018  |  回复: 3

songjunann

铜虫 (小有名气)

[求助] 请教Fortran下如何给二维或三维数组赋初值,谢谢

请教一下定义数组 a=
[1  2   3
4  5  6]
的fortran语句,谢谢
是integer :: a(2,3)
DATA  a /1,2,3,4,5,6/吗 ?Fortran给二维数组赋初值,是按行的顺序吗,先第一行,再第二行?

如果对三维数组b(2*3*2的数组)呢?
b(:,:,1)=[1  2   3
              4  5  6]
b(:,:,2)=[1  2   3
              4  5  6]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
songjunann(金币+10): 3Q 2011-10-27 19:09:32
余泽成(金币+2): 谢谢参与应助! 2011-10-27 21:47:36
余泽成: 专家考核存档 2011-10-27 21:49:34
Fortran 的矩阵是列优先的,因此,第一个应该是:

DATA a /1, 4, 2, 5, 3, 6/

第二个应该是

DATA b/1, 4, 2, 5, 3, 6,1, 4, 2, 5, 3, 6/
2楼2011-10-27 18:42:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

songjunann

铜虫 (小有名气)


jjdg(金币+1): 感谢参与 2011-10-28 00:49:14
引用回帖:
2楼: Originally posted by snoopyzhao at 2011-10-27 18:42:06:
Fortran 的矩阵是列优先的,因此,第一个应该是:

DATA a /1, 4, 2, 5, 3, 6/

第二个应该是

DATA b/1, 4, 2, 5, 3, 6,1, 4, 2, 5, 3, 6/

谢谢,如果是
b(:,:,1)=[1  2   3
              4  5  6]
b(:,:,2)=[7  8   9
              10  11  12] ,
那么DATA b/1, 4, 2, 5, 3, 6,7,10,8,11,9,12/
3楼2011-10-27 19:08:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
3楼: Originally posted by songjunann at 2011-10-27 19:08:51:
谢谢,如果是
b(:,:,1)=[1  2   3
              4  5  6]
b(:,:,2)=[7  8   9
              10  11  12] ,
那么DATA b/1, 4, 2, 5, 3, 6,7,10,8,11,9,12/

是这样的……
4楼2011-10-27 19:25:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 songjunann 的主题更新
信息提示
请填处理意见