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