作者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/m.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