作者zx168zx (zx168zx)
看板Fortran
標題[請益] 如何將矩陣值傳入副程式?
時間Wed Oct 22 18:14:52 2014
小弟想請益一下
如何將主程式所設定好的矩陣傳入副程式
小弟的矩陣是四維的
一開始先設定allocatable的四維可變矩陣
allocatable :: aaa(:,:,:,:)
allocatable :: bbb(:,:,:,:)
----中間計算ii,jj,kk--------
allocate ( aaa(ii,jj,kk,3) )
allocate ( bbb(ii,jj,kk,3) )
之後open六個檔案分別寫入aaa,bbb中
我是用
do 1,kk
do 1,jj
do 1,ii
read(114,......)
read(115,......)
read(116,......)
read(117,......)
read(118,......)
read(119,......)
aaa(i,j,k,1) = 114的資料
aaa(i,j,k,2) = 115的資料
aaa(i,j,k,3) = 116的資料
bbb(i,j,k,1) = 117的資料
bbb(i,j,k,2) = 118的資料
bbb(i,j,k,3) = 119的資料
enddo
enddo
enddo
把資料寫進去 像是四維資料庫的方式
然後我的subroutine需要用到我這個四維矩陣的值
但我現在不知道要如何將這個矩陣傳入
他在執行後出現
error LNK2001: unresolved external symnol aaa@16
error LNK2001: unresolved external symnol bbb@16
我有想過是不是要用interface 但看彭大的書好像是回傳在用
麻煩各位大大解惑
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.46.243
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Fortran/M.1413972895.A.771.html
※ 編輯: zx168zx (140.116.46.243), 10/22/2014 18:22:54
1F:推 screase: 直接傳入陣列(a,b)跟陣列的大小值(ii,jj,kk) 10/22 20:33
2F:→ screase: 然後副程式再宣告兩個大小用變數來宣告的陣列來接收 10/22 20:35
3F:推 screase: 彭國倫那本p.217 10/22 20:39