我想要定義一維數組phi0(ngrains)
其中每個元素是一個維度(taille,taille)矩陣,所以當我尋找phi0(1)
例如它應該顯示一個taille*taille
元素的矩陣,並且phi0(2) .... phi0(ngrains)
。如何定義數組數組?
在Fortran中如何實現?
這是我迄今爲止嘗試過,但我一直得到錯誤
PROGRAM DERIVED_TYP
INTEGER :: i,ngrains,nmax=4
TYPE INITIAL
REAL, DIMENSION(:,:), ALLOCATABLE :: zeros(:,:)
END TYPE INITIAL
TYPE (INITIAL), dimension(:), allocatable :: phi0
ALLOCATE (phi0(1)%zeros(nmax,nmax))
ALLOCATE (phi0(2)%zeros(nmax,nmax))
print*,phi0(1)%zeros
!phi0(2)=INITIAL(0.)
END PROGRAM DERIVED_TYP
你會得到什麼錯誤信息?我懷疑它們與「零」的定義有關,看起來很腥。你是否嘗試過'real,allocatable :: zeros(:,:)'而不是? – PVitt
您還沒有分配'phi0'容器數組,所以當您執行'ALLOCATE(phi0(1)%zeros(nmax,nmax))'時,您正在訪問未分配數組的元素。嘗試添加'ngrains = 2;在這行之前分配(phi0(ngrains))'。 –
你試過搜索嗎?這有豆處理重複前, –