作者PTT0207445 (我是乡民)
看板Fortran
标题Re: [问题] Fortran可以矩阵中放进矩阵吗?
时间Mon Jul 11 18:20:42 2016
可以宣告自订型态,像这样
A是一个3x3的矩阵,每个矩阵元都是layer这种变数,
layer是自订的型态,p是宣告成layer型态的变数,
所以p%n(:)就是长度为3的一维阵列。
type layer
integer,
dimension(
3) :: n
end type layer
type(layer),
dimension(
3,
3) :: A
type(layer) :: p
p%n(
1)=
100
p%n(
2)=
200
p%n(
3)=
300
A(
1,
1)%n=(/
0,
0,
-1/)
A(
1,
2)%n=(/
0,
0,
-2/)
A(
1,
3)%n=(/
0,
0,
-3/)
A(
2,
1)%n=(/
0,
1,
-2/)
A(
2,
2)%n=(/
0,
1,
-3/)
A(
2,
3)%n=(/
0,
1,
-4/)
A(
3,
1)%n=(/
1,
0,
-3/)
A(
3,
2)%n=(/
1,
0,
-4/)
A(
3,
3)%n=(/
1,
0,
-5/)
但是好像直接宣告一个3x3x3的阵列就可以了。
integer,
dimension(
3,
3,
3) :: B
integer :: i,j
do j=
1,
3
do i=
1,
3
B(:,i,j)=A(i,j)%n(:)
enddo
enddo
※ 引述《etu4315 (成大海龙王)》之铭言:
: 各位前辈好
: 小弟fortran新手
: 在处理网格时碰到了问题
: 如照片所示
: http://imgur.com/Xwwg2MC
: 我本来有一个计算完的9*3矩阵
: 为了运算公式方便我需要压缩成3*3的矩阵
: 即按照如中的逻辑分层放进去
: 有翻过书都没找到矩阵中放进矩阵的写法
: 还请版上的高手大大们帮小弟解惑
: 谢谢
--
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Fortran/M.1468232445.A.F0F.html
※ 编辑: PTT0207445 (140.112.101.71), 07/12/2016 20:39:39
1F:推 etu4315: 感谢大大教学 已解决 07/13 14:18